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 12:09:07 GMT
Oops, I haven't waited for Evgueni's message. The fix suggested in
HARMONY-1431 does not imply the launcher implementation...

Thanks,
Elena

On 9/14/06, Elena Semukhina <elena.semukhina@gmail.com> wrote:
>
>  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
>



-- 
Thanks,
Elena

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