harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: [drlvm] Need help debugging
Date Thu, 14 Sep 2006 12:47:39 GMT
Elena Semukhina wrote:
> I'll fix it with great pleasure!
> 
> BTW, I managed to run Eclipse 3.2 even with that buggy code. But running
> java -jar fails.

Apologies if this has already been mentioned, I'm still catching up with
unread mail...

If you are using the harmony launcher then it will be looking for a
definition of the jarMainClass in the VM properties file.  Take a look
at the IBM VME's harmonyvm.properties file, there is a line:
  jarMainClass=com.ibm.oti.vm.JarRunner

I haven't tried to reproduce the problem you report, but can imagine a
problem if this is undefined.

Later,
Tim

> On 9/14/06, Evgueni Brevnov <evgueni.brevnov@gmail.com> wrote:
>>
>> Ha-ha that code was buggy anyway :-) As I've already said we do need
>> filter Thread.runImpl frames for java threads created by calling
>> Thread.start method. Elena, you've fixed that code once, probably, you
>> wish to fix it once again? :-)
>>
>> Thank you
>> Evgueni
>>
>> On 9/14/06, Elena Semukhina <elena.semukhina@gmail.com> wrote:
>> > 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
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> 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
>>
>>
> 
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

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