harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr." <g...@pobox.com>
Subject Re: [drlvm] Need help debugging
Date Thu, 14 Sep 2006 13:19:48 GMT


Elena Semukhina wrote:
> Oops, I haven't waited for Evgueni's message. The fix suggested in
> HARMONY-1431 does not imply the launcher implementation...

We want launcher.

geir

> 
> 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
>>
> 
> 
> 

---------------------------------------------------------------------
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


Mime
View raw message