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 Wed, 13 Sep 2006 18:45:06 GMT
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.LOC just
>> >> 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


Mime
View raw message