harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Evgueni Brevnov" <evgueni.brev...@gmail.com>
Subject Re: [drlvm] Need help debugging
Date Thu, 14 Sep 2006 12:19:22 GMT
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


Mime
View raw message