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:21:19 GMT


Tim Ellison wrote:
> 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.

Oh, that's an excellent hint.  Thanks.

geir

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

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