harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elena Semukhina" <elena.semukh...@gmail.com>
Subject Re: [drlvm] Need help debugging
Date Thu, 14 Sep 2006 11:53:02 GMT
Actually, the code should be fixed rather than commented out in the
following way:

    //--size;

    // skip the VMStart$MainThread.runImpl() if it exists from the bottom
    // of the stack along with 2 reflection frames used to invoke method
main

    static String* starter_String =
genv->string_pool.lookup("java/lang/VMStart$MainThread");
    Method_Handle method = frames[size - 1].method;
    assert(method);
    if (!strcmp(method_get_name(method), "runImpl")
        && method->get_class()->name == starter_String) {
        for (; --size;) {
            method = frames[size - 1].method;
            assert(method);
            if ((strstr(method->get_class()->name->bytes,
"java/lang/reflect"))
                == NULL) {
                break;
            }
        }
    }

    ASSERT(size >= skip, "Trying to skip " << skip
        << " frames but there are only "
        << size << " frames in stack");

The fix has been submitted in HARMONY-1431 which depends on HARMONY-1363.

As for Eclipse's silent exit, please try to find what has happened in the
eclipse/configuration/*.log files.

Thanks,
Elena

On 9/14/06, Geir Magnusson Jr. <geir@pobox.com> wrote:
>
> I'd like to understand why this is no longer necessary.
>
> (Just provide some background for all of us to help start understanding
> the structure and operation of DLRVM....)
>
> geir
>
>
> Vladimir Gorr wrote:
> > Probably, you didn't note I've commented this fragment of code (firts &
> > last
> > lines).
> > Sorry I didn't mention about this before. After these changes I could
> > sucessfully start the ActiveMQ.
> > Before I have the following error:
> >
> > Assertion failed: size >= skip
> > Trying to skip 6 frames but there are only 5 frames in stack
> > java:
> >
> /nfs/ins/proj/drl/coreapi/vgorr/drlvm/trunk/vm/vmcore/src/kernel_classes/native/org_apache_harmony_vm_VMStack.cpp:301:
> >
> > _jobject* Java_org_apache_harmony_vm_VMStack_getStackTrace(JNIEnv*,
> > _jobject*, _jobject*): Assertion `size >= skip' failed.
> > abort_handler()
> >
> > Thanks,
> > Vladimir.
> >
> > On 9/13/06, Geir Magnusson Jr. <geir@pobox.com> wrote:
> >>
> >> I'm a little skeptical, as I had that change in before you first tested
> >> and found a problem, right?
> >>
> >> geir
> >>
> >>
> >> Vladimir Gorr wrote:
> >> > vm\vmcore\src\kernel_classes\native\org_apache_harmony_vm_VMStack.cpp
> >> > ...
> >> > * /*
> >> > *    // skip Thread.runImpl()
> >> >    size--;
> >> >
> >> >    // skip the VMStart$MainThread if one exits from the bottom of the
> >> stack
> >> >    // along with 2 reflection frames used to invoke method main
> >> >    static String* starter_String =
> >> > genv->string_pool.lookup("java/lang/VMStart$MainThread");
> >> >    Method_Handle method = frames[size].method;
> >> >    assert(method);
> >> >    // skip only for main application thread
> >> >    if (!strcmp(method_get_name(method), "runImpl")
> >> >        && method->get_class()->name == starter_String) {
> >> >        int rem = size - skip-1;
> >> >        size -= rem < 2 ? rem : 2;
> >> >    }
> >> >    ASSERT(size >= skip, "Trying to skip " << skip
> >> >        << " frames but there are only "
> >> >        << size << " frames in stack");
> >> > *    */*
> >> > ...
> >> >
> >> >
> >> > Thanks,
> >> > Vladimir.
> >> >
> >> > On 9/13/06, Geir Magnusson Jr. <geir@pobox.com> wrote:
> >> >>
> >> >>
> >> >>
> >> >> Vladimir Gorr wrote:
> >> >> > I was able to sucessfully run both applications (Eclipse &
> ActiveMQ)
> >> >> for
> >> >> > the
> >> >> > recent build.
> >> >>
> >> >> what changed?
> >> >>
> >> >> geir
> >> >>
> >> >> >
> >> >> > Thanks,
> >> >> > Vladimir.
> >> >> >
> >> >> > On 9/12/06, Geir Magnusson Jr. <geir@pobox.com> wrote:
> >> >> >>
> >> >> >> doh.  Thanks.  I feel dumb for not trying the simplest thing
> first
> >> :)
> >> >> >>
> >> >> >> There's a test...
> >> >> >>
> >> >> >> geir
> >> >> >>
> >> >> >>
> >> >> >> Anton Luht wrote:
> >> >> >> > Hello,
> >> >> >> >
> >> >> >> > The 'java -jar' launcher prints dump and exits even on
a
> minimal
> >> >> >> > HelloWorld app jar - please see
> >> >> >> > http://issues.apache.org/jira/browse/HARMONY-1444
> >> >> >> >
> >> >> >> > On 9/12/06, Anton Luht <anton.luht@gmail.com> wrote:
> >> >> >> >> No, I used hand-made build from SVN.
> >> >> >> >>
> >> >> >> >> BTW, sorry for confusion about 'broken data'. The
pointer
> value
> >> is
> >> >> >> >> changed inside the method - this assignment should
be removed.
> >> >> >> >>
> >> >> >> >> On 9/12/06, Vladimir Gorr <vvgorr@gmail.com>
wrote:
> >> >> >> >> > Did you run this application for the recent
binaries got
> from
> >> the
> >> >> >> SVN
> >> >> >> >> > sources?
> >> >> >> >> > As for me my results differ from Geir ones,
namely, DRLVM
> >> crashes
> >> >> >> >> for both
> >> >> >> >> > Windows & Linux as follows:
> >> >> >> >> >
> >> >> >> >> > =======
> >> >> >> >> > Windows
> >> >> >> >> > =======
> >> >> >> >> >
> >> >> >> >> > vgorr@ /cygdrive/c/Tools/incubator-activemq-4.0
> >> >> >> >> > $ echo JAVA_HOME
> >> >> >> >> > JAVA_HOME
> >> >> >> >> >
> >> >> >> >> > vgorr@ /cygdrive/c/Tools/incubator-activemq-4.0
> >> >> >> >> > $ echo $CLASSPATH
> >> >> >> >> > c:/Tools/incubator-activemq-4.0/lib
> >> >> >> >> >
> >> >> >> >> > vgorr@ /cygdrive/c/Tools/incubator-activemq-4.0
> >> >> >> >> > $ which java
> >> >> >> >> >
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> /cygdrive/c/DrlSrc/drlvm/trunk/build/win_ia32_msvc_debug/deploy/jre/bin/java
> >>
> >> >>
> >> >> >>
> >> >> >> >>
> >> >> >> >> >
> >> >> >> >> > vgorr@ /cygdrive/c/Tools/incubator-activemq-4.0
> >> >> >> >> > $ bin/activemq
> >> >> >> >> > cygpath: can't convert empty path
> >> >> >> >> >
> >> >> >> >> > An unhandled error (4) has occurred.
> >> >> >> >> > HyGeneric_Signal_Number=00000004
> >> >> >> >> > ExceptionCode=c0000005
> >> >> >> >> > ExceptionAddress=00F3D648
> >> >> >> >> > ContextFlags=0001003f
> >> >> >> >> > Handler1=00401010
> >> >> >> >> > Handler2=11105D20
> >> >> >> >> > InaccessibleAddress=00F3D648
> >> >> >> >> > EDI=0013F9D4
> >> >> >> >> > ESI=0013F768
> >> >> >> >> > EAX=00000000
> >> >> >> >> > EBX=0000000B
> >> >> >> >> > ECX=00000001
> >> >> >> >> > EDX=0000000C
> >> >> >> >> > EIP=00F3D648
> >> >> >> >> > ESP=0013F764
> >> >> >> >> > EBP=0013F770
> >> >> >> >> > Module=
> >> >> >> >> > Module_base_address=00F30000
> >> >> >> >> > Offset_in_DLL=0000d648
> >> >> >> >> > ====
> >> >> >> >> > Linux
> >> >> >> >> > ====
> >> >> >> >> >
> >> >> >> >> > sh bin/activemq
> >> >> >> >> > java:
> >> >> >> >> >
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> /nfs/ins/proj/drl/coreapi/vgorr/drlvm/trunk/vm/vmcore/src/exception/exceptions.cpp:143:
> >>
> >> >>
> >> >> >>
> >> >> >> >>
> >> >> >> >> > _jobject* create_exception(const char*): Assertion
> >> >> >> >> > `hythread_is_suspend_enabled()' failed.
> >> >> >> >> > abort_handler()
> >> >> >> >> > Aborted
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > Thanks,
> >> >> >> >> > Vladimir.
> >> >> >> >> >
> >> >> >> >> > On 9/12/06, Anton Luht <anton.luht@gmail.com>
wrote:
> >> >> >> >> > >
> >> >> >> >> > > Hello,
> >> >> >> >> > >
> >> >> >> >> > > I'm observing the same problem - ActiveMQ
can't start - on
> >> >> DRLVM
> >> >> +
> >> >> >> >> > > Classlibrary build 442240 .
> >> >> >> >> > >
> >> >> >> >> > > The problem I see first is that in
> >> >> >> >> > > <classlib
> >> >> >> root>\modules\luni\src\main\native\launcher\shared\main.c
> >> >> >> >> > >
> >> >> >> >> > > in function 'static int invocation' after
call
> >> 'createVMArgs'
> >> >> >> >> variable
> >> >> >> >> > > 'mainClassJar' contains garbale while in
the very end of
> >> >> 'static
> >> >> >> int
> >> >> >> >> > > createVMArgs' it contains valid string
> >> >> >> >> > > 'org.apache.harmony.kernel.vm.JarRunner'
. If we comment
> out
> >> >> >> >> > > 'hymem_allocate_memory' in that function:
> >> >> >> >> > >
> >> >> >> >> > > if (isStandaloneJar)
> >> >> >> >> > >    {
> >> >> >> >> > >      if (useDefaultJarRunner == 0)
> >> >> >> >> > >        {
> >> >> >> >> > >          //:::commented out:::: mainClassJar
=
> >> >> >> >> hymem_allocate_memory (50);
> >> >> >> >> > >          if (mainClassJar == NULL)
> >> >> >> >> > >
> >> >> >> >> > > the application will crash a little later.
Note: we can
> >> comment
> >> >> >> this
> >> >> >> >> > > out because memory for mainClassJar is
already allocated
> in
> >> the
> >> >> >> >> > > calling method.
> >> >> >> >> > >
> >> >> >> >> > > I believe that the general problem is that
contents of
> >> memory
> >> >> >> >> alocated
> >> >> >> >> > > with hymem_allocate_memory get somehow
broken on exit from
> a
> >> >> >> method.
> >> >> >> >> > >
> >> >> >> >> > > On 9/9/06, Geir Magnusson Jr. <geir@pobox.com>
wrote:
> >> >> >> >> > > > I applied the GCv4.1 patch and now
I pass smoke test.  I
> >> >> suspect
> >> >> >> >> it may
> >> >> >> >> > > > be because the patch modifies the
LOS test, but I'm not
> so
> >> >> sure.
> >> >> >> >> > > >
> >> >> >> >> > > > that patch (HARMONY-1269) is a sole-author
patch to our
> >> >> existing
> >> >> >> >> > > > codebase, and while I do have a BCC
to put in SVN, I
> think
> >> >> that
> >> >> >> >> this is
> >> >> >> >> > > > a patch, and not a "bulk contribution",
so I'll go
> forward
> >> >> and
> >> >> >> >> commit
> >> >> >> >> > > it.
> >> >> >> >> > > >
> >> >> >> >> > > > geir
> >> >> >> >> > > >
> >> >> >> >> > > >
> >> >> >> >> > > > Geir Magnusson Jr. wrote:
> >> >> >> >> > > > > More news - I'm not passing the
smoke tests. gc.LOCjust
> >> >> spins
> >> >> >> >> (and
> >> >> >> >> > > > > sucks a lot of memory in).
> >> >> >> >> > > > >
> >> >> >> >> > > > > Clearly what I thought were trivial
changes to switch
> to
> >> >> use
> >> >> >> the
> >> >> >> >> > > > > launcher had hidden effects.
 Any suggestions where to
> >> >> start
> >> >> >> >> looking?
> >> >> >> >> > > > >
> >> >> >> >> > > > > geir
> >> >> >> >> > > > >
> >> >> >> >> > > > > Geir Magnusson Jr. wrote:
> >> >> >> >> > > > >> I was testing the DRLVM-in-Launcher
setup and
> something
> >> is
> >> >> >> >> seriously
> >> >> >> >> > > > >> broken.
> >> >> >> >> > > > >>
> >> >> >> >> > > > >> On Ubuntu, both debug and
release builds, it will run
> >> >> Tomcat
> >> >> >> >> ok, but
> >> >> >> >> > > > >> when I try something like
Eclipse 3.2 or ActiveMQ
> 4.0.2
> >> >> the
> >> >> >> >> program
> >> >> >> >> > > > >> runs and silently exits.
 No log output, no console
> >> >> output.
> >> >> >> >> > > > >>
> >> >> >> >> > > > >> I've been trying to find
a hint of what is making it
> >> >> unhappy,
> >> >> >> >> but so
> >> >> >> >> > > > >> far, no luck.
> >> >> >> >> > > > >>
> >> >> >> >> > > > >> I've been staring at the
output with -Xlog and
> -Xtrace,
> >> >> and
> >> >> >> >> there
> >> >> >> >> > > > >> doesn't seem to be any errors,
but I don't know what
> to
> >> >> look
> >> >> >> >> for.  (
> >> >> >> >> > > > >>
> >> >> >> >> > > > >> I've captured the stream
and placed it here :
> >> >> >> >> > > > >>
> >> >> >> >> > > > >>
> >> >> >> >>
> http://people.apache.org/~geirm/activemq-logstream-20060909.txt
> >> >> >> >> > > > >>
> >> >> >> >>
> >> http://people.apache.org/~geirm/activemq-tracestream-20060909.txt
> >> >> >> >> > > > >>
> >> >> >> >> > > > >> If anyone has any hints,
I'd be mighty obliged...
> >> >> >> >> > > > >>
> >> >> >> >> > > > >> geir
> >> >> >> >
> >> >> >>
> >> >> >>
> >> ---------------------------------------------------------------------
> >> >> >> Terms of use : http://incubator.apache.org/harmony/mailing.html
> >> >> >> To unsubscribe, e-mail:
> >> harmony-dev-unsubscribe@incubator.apache.org
> >> >> >> For additional commands, e-mail:
> >> harmony-dev-help@incubator.apache.org
> >> >> >>
> >> >> >>
> >> >> >
> >> >>
> >> >>
> ---------------------------------------------------------------------
> >> >> Terms of use : http://incubator.apache.org/harmony/mailing.html
> >> >> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> >> >> For additional commands, e-mail:
> harmony-dev-help@incubator.apache.org
> >> >>
> >> >>
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> Terms of use : http://incubator.apache.org/harmony/mailing.html
> >> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> >> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>


-- 
Thanks,
Elena

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message