Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Oct 2002 06:14:05 +0800
From:      Clive Lin <clive@tongi.org>
To:        Nate Williams <nate@yogotech.com>
Cc:        Bill Huey <billh@gnuppy.monkey.org>, freebsd-java@FreeBSD.ORG
Subject:   Re: awt app always abort when exit using hotspot vm under STABLE
Message-ID:  <20021029221404.GA6350@epaper.eslitebooks.com>
In-Reply-To: <15806.61634.620588.347335@emerger.yogotech.com>
References:  <3DB61145.8050207@mail.gddsn.org.cn> <20021028081346.GA11956@gnuppy.monkey.org> <20021029202721.GA5842@epaper.eslitebooks.com> <15806.61634.620588.347335@emerger.yogotech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 29, 2002 at 01:34:10PM -0700, Nate Williams wrote:
> >     Just would like to drop a note. On my box with uname below:
> > 
> > > uname -av
> > FreeBSD cartier.home 5.0-CURRENT FreeBSD 5.0-CURRENT #2: Tue Oct 29 21:34:11 CST 2002     root@cartier.home:/usr/obj/usr/src/sys/GENERI  i386
> > 
> >     and malloc.conf symlink'd to aj, I can run every graphic enabled
> > java app(let)s successfully. Even http://go.icq.com (which is a applet
> > icq client) and vncviewer applet work without any glitch. If I rm
> > /etc/malloc.conf, something like this happens immediately:
> 
> Is that 'aj' or 'AJ'?  Can you play with the options, and try 'A', or

It's 'aj'. 'AJ' is the default behavior. 'aj' disables them.

Yes, only 'j' without 'a' will work.

> possibly 'J'?  (I'm guessing you could try 'J' which should work.  If
> not, then knowing which options works and which don't would certainly
> help debugging.)

Alas, 'J' doesn't work though.

> Also, running java_g in a debugger and giving a backtrace when it fails
> core would help.

bad luck, java_g.core has size 0.

I'm playing with DEBUG_PROG=gdb now, but java_g keeps in pause state. 
> setenv DEBUG_PROG gdb
> java_g
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-undermydesk-freebsd"...
(gdb) file /usr/local/jdk1.3.1/bin/i386/green_threads/java_g
Load new symbol table from "/usr/local/jdk1.3.1/bin/i386/green_threads/java_g"? (y or n) y

Reading symbols from /usr/local/jdk1.3.1/bin/i386/green_threads/java_g...done.
(gdb) run -jar /usr/local/jdk1.3.1/demo/jfc/Notepad/Notepad.jar
Starting program: /usr/local/jdk1.3.1/bin/i386/green_threads/java_g -jar /usr/local/jdk1.3.1/demo/jfc/Notepad/Notepad.ja

 2186 clive     96    0 94800K 12936K pause  1   0:01  0.00%  0.00% java_g

If I press Ctrl-C and hit s, gdb told me the source it would like to
reference does not exist. (Maybe I should have the extracted source
around even if I just want the fault somewhere?)

(gdb) s
Single stepping until exit from function sigsuspend, 
which has no line number information.
queueWait (mid=0x804d3e0, q=0x804d3f8)
    at ../../../../src/solaris/hpi/green_threads/src/monitor_md.c:207
207     ../../../../src/solaris/hpi/green_threads/src/monitor_md.c: No such file or directory.
        in ../../../../src/solaris/hpi/green_threads/src/monitor_md.c

If I simply type "s 1000", something might be useful appears.
(gdb) s 1000
Single stepping until exit from function _XWaitForReadable, 
which has no line number information.
Single stepping until exit from function _XRead, 
which has no line number information.
Single stepping until exit from function _XReply, 
which has no line number information.
Single stepping until exit from function XOpenDisplay, 
which has no line number information.

Program received signal SIGTRAP, Trace/breakpoint trap.
0x2812b3cb in sigprocmask () from /usr/lib/libc.so.5

Ok, here "might" be the backtrace:

(gdb) bt
#0  0x2812b3cb in sigprocmask () from /usr/lib/libc.so.5
#1  0x2807bcad in green_sigprocmask (how=3, set=0x2814e428, oset=0x0)
    at ../../../../src/solaris/hpi/green_threads/src/signals.c:617
#2  0x2807bcdc in _sigprocmask (how=3, set=0x2814e428, oset=0x0)
    at ../../../../src/solaris/hpi/green_threads/src/signals.c:631
#3  0x280ba6e8 in siglongjmp () from /usr/lib/libc.so.5
#4  0x2807a0fb in queueWait (mid=0x804d3e0, q=0x804d3f8)
    at ../../../../src/solaris/hpi/green_threads/src/monitor_md.c:205
#5  0x2807ac30 in sysMonitorWait (self=0x8054080, mid=0x804d3e0, millis=-1)
    at ../../../../src/solaris/hpi/green_threads/src/monitor_md.c:593
#6  0x28078553 in poll (fds=0x8288540, nfds=1, timeout=-1)
    at ../../../../src/solaris/hpi/green_threads/src/iomgr.c:1934
#7  0x2d8a9516 in _XWaitForReadable () from /usr/X11R6/lib/libX11.so.6
#8  0x2d8aa22f in _XRead () from /usr/X11R6/lib/libX11.so.6
#9  0x2d8aad73 in _XReply () from /usr/X11R6/lib/libX11.so.6
#10 0x2d89ca3d in XOpenDisplay () from /usr/X11R6/lib/libX11.so.6
#11 0x2d445ce2 in awt_init_Display (env=0x8054004, this=0xbfbfde28)
    at ../../../src/solaris/native/sun/awt/awt_GraphicsEnv.c:386
#12 0x2d445f0c in Java_sun_awt_X11GraphicsEnvironment_initDisplay (
    env=0x8054004, this=0xbfbfde28)
    at ../../../src/solaris/native/sun/awt/awt_GraphicsEnv.c:449
#13 0x281f0501 in args_done ()
   from /usr/local/jdk1.3.1/jre/lib/i386/classic/libjvm_g.so
#14 0x2819d32c in invokeJNISynchronizedNativeMethod (o=0x28ef2228, 
    mb=0x8289720, args_size=0, ee=0x8054004)
    at ../../../src/share/javavm/runtime/classruntime.c:578
#15 0x2819d5ca in invokeLazyNativeMethod (o=0x28ef2228, mb=0x8289720, 
    args_size=0, ee=0x8054004)
    at ../../../src/share/javavm/runtime/classruntime.c:680
#16 0x281b7861 in ExecuteJava_C (initial_pc=0xbfbfe44c "", ee=0x8054004)
    at ../../../src/share/javavm/runtime/executeJava.c:1579
#17 0x281aa067 in do_execute_java_method_vararg (ee=0x8054004, obj=0x28ef2228, 
    method_name=0x804d6c8 "<clinit>", method_signature=0x8055258 "()V", 
    mb=0x828a130, isStaticCall=TRUE, args=0xbfbfe4e0 "", otherBits=0x0, 
    shortFloats=FALSE) at ../../../src/share/javavm/runtime/interpreter.c:573
#18 0x281a9c3d in do_execute_java_method (ee=0x8054004, obj=0x28ef2228, 
    method_name=0x0, signature=0x0, mb=0x828a130, isStaticCall=TRUE)
    at ../../../src/share/javavm/runtime/interpreter.c:427
#19 0x2819e01a in RunStaticInitializers (cb=0x28ef2228)
    at ../../../src/share/javavm/runtime/classruntime.c:1001
#20 0x2819e204 in InitClass (cb=0x28ef2228)
    at ../../../src/share/javavm/runtime/classruntime.c:1076
#21 0x2819c0a6 in FindClassFromClassLoader2 (ee=0x8054004, 
    name=0xbfbfe6f8 "sun/awt/X11GraphicsEnvironment", resolve=TRUE, 
    loader=0x0, throwError=FALSE, pd=0x0)
    at ../../../src/share/javavm/runtime/classresolver.c:2176
#22 0x2819bd2b in FindClassFromClassLoader (ee=0x8054004, 
    name=0xbfbfe6f8 "sun/awt/X11GraphicsEnvironment", resolve=TRUE, 
    loader=0x0, throwError=FALSE)
    at ../../../src/share/javavm/runtime/classresolver.c:2056
#23 0x281cfcc3 in JVM_FindClassFromClassLoader (env=0x8054004, 
    name=0xbfbfe6f8 "sun/awt/X11GraphicsEnvironment", init=1 '\001', 
    loader=0x0, throwError=0 '\0')
    at ../../../src/share/javavm/runtime/jvm.c:143
#24 0x2c35fb4e in Java_java_lang_Class_forName0 (env=0x8054004, 
    this=0xbfbfe810, classname=0x8059228, initialize=1 '\001', loader=0x0)
    at ../../../src/share/native/java/lang/Class.c:120
#25 0x281f0501 in args_done ()
   from /usr/local/jdk1.3.1/jre/lib/i386/classic/libjvm_g.so
#26 0x2819d140 in invokeJNINativeMethod (o=0x28eda150, mb=0x80937cc, 
    args_size=3, ee=0x8054004)
    at ../../../src/share/javavm/runtime/classruntime.c:489
#27 0x281b7861 in ExecuteJava_C (initial_pc=0xbfbfedf0 "", ee=0x8054004)
    at ../../../src/share/javavm/runtime/executeJava.c:1579
#28 0x281bbde4 in jni_Invoke (env=0x8054004, self=0x8059074, 
    methodID=0x81e1e0c, pushArguments=0x281bb788 <jni_PushArgumentsVararg>, 
    args=0xbfbfee8c, info=778) at ../../../src/share/javavm/runtime/jni.c:774
#29 0x281bec19 in jni_CallStaticVoidMethodV (env=0x8054004, clazz=0x8059074, 
    methodID=0x81e1e0c, args=0xbfbfeecc "|\220\005\b")
    at ../../../src/share/javavm/runtime/jni.c:1947
#30 0x281c9016 in checked_jni_CallStaticVoidMethod (env=0x8054004, 
    cls=0x8059074, methodID=0x81e1e0c)
    at ../../../src/share/javavm/runtime/check_jni.c:741
#31 0x08049356 in main (argc=0, argv=0xbfbff79c)
    at ../../../../src/share/bin/java.c:323
#32 0x08048bbc in _start ()

Any hints how to get the backtrack in modern fashion ?

Clive

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021029221404.GA6350>