Based on input from Michael Koch on IRC, I rebuilt jamvm with
"DEB_STRIP_EXCLUDE := jamvm" in debian/rules to get debug symbols, and
ran the program again in gdb. This is the output.
(gdb) run -jar WW2D.jar
Starting program: /usr/bin/jamvm -jar WW2D.jar
[Thread debugging using libthread_db enabled]
[New Thread 1075518464 (LWP 17825)]
[New Thread 1224522672 (LWP 17828)]
[New Thread 1232911280 (LWP 17829)]
Program received signal SIGUSR1, User defined signal 1.
[Switching to Thread 1075518464 (LWP 17825)]
0x4006c7d1 in __nptl_create_event () from /lib/tls/libpthread.so.0
(gdb) bt
#0 0x4006c7d1 in __nptl_create_event () from /lib/tls/libpthread.so.0
#1 0x4006d810 in pthread_create@@GLIBC_2.1 () from /lib/tls/libpthread.so.0
#2 0x0805a100 in createVMThread (name=0x0, start=0) at thread.c:467
#3 0x0804b151 in initialiseGC (noasyncgc=0) at alloc.c:997
#4 0x08051f24 in initVM () at jam.c:63
#5 0x080527e7 in main (argc=3, argv=0xbffffcf4) at jam.c:287
(gdb) info threads
3 Thread 1232911280 (LWP 17829) 0x400721a9 in __lll_mutex_lock_wait ()
from /lib/tls/libpthread.so.0
2 Thread 1224522672 (LWP 17828) 0x40130ee7 in sched_yield ()
from /lib/tls/libc.so.6
* 1 Thread 1075518464 (LWP 17825) 0x4006c7d1 in __nptl_create_event ()
from /lib/tls/libpthread.so.0
(gdb) thread 2
[Switching to thread 2 (Thread 1224522672 (LWP 17828))]#0 0x40130ee7 in
sched_yield () from /lib/tls/libc.so.6
(gdb) bt
#0 0x40130ee7 in sched_yield () from /lib/tls/libc.so.6
#1 0x0805a1ea in suspendAllThreads (self=0x80a5f60) at thread.c:502
#2 0x0805ab16 in dumpThreadsLoop (self=0x80a5f60) at thread.c:641
#3 0x0805a09c in shell (args=0x80a5a10) at thread.c:453
#4 0x4006dcfd in start_thread () from /lib/tls/libpthread.so.0
#5 0x4014b13e in clone () from /lib/tls/libc.so.6
(gdb) thread 3
[Switching to thread 3 (Thread 1232911280 (LWP 17829))]#0 0x400721a9 in
__lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
(gdb) bt
#0 0x400721a9 in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
#1 0x4006df68 in _L_mutex_lock_2343 () from /lib/tls/libpthread.so.0
#2 0x497cb490 in ?? ()
#3 0x00000000 in ?? ()
#4 0x00000000 in ?? ()
#5 0x00000000 in ?? ()
#6 0x497cbbb0 in ?? ()
#7 0x00000000 in ?? ()
#8 0x00000000 in ?? ()
#9 0x00000000 in ?? ()
#10 0x40076ff4 in ?? () from /lib/tls/libpthread.so.0
#11 0x00000000 in ?? ()
#12 0x007d0f00 in ?? ()
#13 0x497cb4c8 in ?? ()
#14 0x497cb470 in ?? ()
#15 0x4006dcd1 in start_thread () from /lib/tls/libpthread.so.0
#16 0x4014b13e in clone () from /lib/tls/libc.so.6
(gdb)
He also suggested running it without TLS (I moved /lib/tls/ to
tls.no/). This was the backtrace then:
(gdb) run -jar WW2D.jar
Starting program: /usr/bin/jamvm -jar WW2D.jar
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 17985)]
[New Thread 32769 (LWP 17988)]
[New Thread 16386 (LWP 17989)]
[New Thread 32771 (LWP 17990)]
[New Thread 49156 (LWP 17991)]
WW2D 0.99.86 by Vitaliy Pronkin <[EMAIL PROTECTED]> starting...
[New Thread 65541 (LWP 17992)]
[New Thread 81926 (LWP 17993)]
Program received signal SIGUSR1, User defined signal 1.
[Switching to Thread 81926 (LWP 17993)]
0x4016b4a6 in poll () from /lib/libc.so.6
(gdb) handle SIGUSR1 nostop noprint
Signal Stop Print Pass to program Description
SIGUSR1 No No Yes User defined signal 1
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 17985)]
0x401d1a74 in main_arena () from /lib/libc.so.6
(gdb) bt
#0 0x401d1a74 in main_arena () from /lib/libc.so.6
#1 0x401e57b8 in ?? ()
#2 0x0007a258 in ?? ()
#3 0x00030002 in ?? ()
#4 0x40077ff4 in ?? () from /lib/libpthread.so.0
#5 0x401e57b8 in ?? ()
#6 0x00000000 in ?? ()
#7 0x000f0001 in ?? ()
#8 0x0808a354 in ?? ()
#9 0x40622798 in ?? ()
#10 0x080612bc in vmData_offset ()
#11 0x0808a390 in ?? ()
#12 0x080d9e78 in ?? ()
#13 0x0808a390 in ?? ()
#14 0x401d6354 in ?? ()
#15 0x080d9e78 in ?? ()
#16 0x0808a390 in ?? ()
#17 0x402ba650 in ?? ()
#18 0x0000000d in ?? ()
#19 0x00000000 in ?? ()
#20 0x00000000 in ?? ()
#21 0x081bd444 in ?? ()
#22 0x081bd3f8 in ?? ()
#23 0x00000000 in ?? ()
#24 0x08059d81 in threadSelf () at thread.c:196
#25 0x08058975 in invoke (ob=Variable "ob" is not available.
) at reflect.c:529
#26 0x080574b6 in invokeNative (class=0x401e58c8, mb2=0x8139538,
ostack=0x808a200) at natives.c:789
#27 0x08051880 in executeJava () at interp.c:2230
#28 0x0804f7cc in executeMethodVaList (ob=Variable "ob" is not available.
) at execute.c:91
#29 0x0804f86e in executeMethodArgs (ob=0x0, class=0x40286ee0, mb=0x81b1c38)
at execute.c:63
#30 0x080529a0 in main (argc=3, argv=0xbffffcf4) at jam.c:328
(gdb) info threads
7 Thread 81926 (LWP 17993) 0x4016b4a6 in poll () from /lib/libc.so.6
6 Thread 65541 (LWP 17992) 0x40071184 in __pthread_sigsuspend ()
from /lib/libpthread.so.0
5 Thread 49156 (LWP 17991) 0x40075b96 in nanosleep ()
from /lib/libpthread.so.0
4 Thread 32771 (LWP 17990) 0x40071184 in __pthread_sigsuspend ()
from /lib/libpthread.so.0
3 Thread 16386 (LWP 17989) 0x400e3917 in sigsuspend () from /lib/libc.so.6
2 Thread 32769 (LWP 17988) 0x4016b4a6 in poll () from /lib/libc.so.6
* 1 Thread 16384 (LWP 17985) 0x401d1a74 in main_arena () from /lib/libc.so.6
(gdb) thread 2
[Switching to thread 2 (Thread 32769 (LWP 17988))]#0 0x4016b4a6 in poll ()
from /lib/libc.so.6
(gdb) bt
#0 0x4016b4a6 in poll () from /lib/libc.so.6
#1 0x4006e514 in __pthread_manager () from /lib/libpthread.so.0
#2 0x4006ee82 in __pthread_manager_event () from /lib/libpthread.so.0
#3 0x4017492a in clone () from /lib/libc.so.6
(gdb) thread 3
[Switching to thread 3 (Thread 16386 (LWP 17989))]#0 0x400e3917 in sigsuspend
() from /lib/libc.so.6
(gdb) bt
#0 0x400e3917 in sigsuspend () from /lib/libc.so.6
#1 0x4007162e in sigwait () from /lib/libpthread.so.0
#2 0x0805aafd in dumpThreadsLoop (self=0x80a6028) at thread.c:636
#3 0x0805a09c in shell (args=0x80a5ad8) at thread.c:453
#4 0x4006df4c in pthread_start_thread () from /lib/libpthread.so.0
#5 0x4006dfda in pthread_start_thread_event () from /lib/libpthread.so.0
#6 0x4017492a in clone () from /lib/libc.so.6
(gdb) thread 4
[Switching to thread 4 (Thread 32771 (LWP 17990))]#0 0x40071184 in
__pthread_sigsuspend () from /lib/libpthread.so.0
(gdb) bt
#0 0x40071184 in __pthread_sigsuspend () from /lib/libpthread.so.0
#1 0x4006ff59 in __pthread_wait_for_restart_signal ()
from /lib/libpthread.so.0
#2 0x4006d57c in [EMAIL PROTECTED] () from /lib/libpthread.so.0
#3 0x08049f68 in finalizerThreadLoop (self=0x80a0ae8) at alloc.c:935
#4 0x0805a09c in shell (args=0x80a0d50) at thread.c:453
#5 0x4006df4c in pthread_start_thread () from /lib/libpthread.so.0
#6 0x4006dfda in pthread_start_thread_event () from /lib/libpthread.so.0
#7 0x4017492a in clone () from /lib/libc.so.6
(gdb) thread 5
[Switching to thread 5 (Thread 49156 (LWP 17991))]#0 0x40075b96 in nanosleep
() from /lib/libpthread.so.0
(gdb) bt
#0 0x40075b96 in nanosleep () from /lib/libpthread.so.0
#1 0x00000000 in ?? ()
#2 0x400701d5 in __pthread_timedsuspend_new () from /lib/libpthread.so.0
#3 0x4006d1d7 in [EMAIL PROTECTED] () from /lib/libpthread.so.0
#4 0x08055985 in monitorWait (mon=0x8061360, self=0x80a11e0, ms=1000, ns=0)
at lock.c:173
#5 0x08059cdd in threadSleep (thread=0x80a11e0, ms=The value of variable 'ms'
is distributed across several
locations, and GDB cannot access its value.
) at thread.c:137
#6 0x0804b20f in asyncGCThreadLoop (self=0x80a11e0) at alloc.c:918
#7 0x0805a09c in shell (args=0x80a5ad8) at thread.c:453
#8 0x4006df4c in pthread_start_thread () from /lib/libpthread.so.0
#9 0x4006dfda in pthread_start_thread_event () from /lib/libpthread.so.0
#10 0x4017492a in clone () from /lib/libc.so.6
(gdb) thread 6
[Switching to thread 6 (Thread 65541 (LWP 17992))]#0 0x40071184 in
__pthread_sigsuspend () from /lib/libpthread.so.0
(gdb) bt
#0 0x40071184 in __pthread_sigsuspend () from /lib/libpthread.so.0
#1 0x4006ff59 in __pthread_wait_for_restart_signal ()
from /lib/libpthread.so.0
#2 0x4006d57c in [EMAIL PROTECTED] () from /lib/libpthread.so.0
#3 0x080559c6 in monitorWait (mon=0x8221b60, self=0x8224c10, ms=0, ns=0)
at lock.c:181
#4 0x0805613f in objectWait (obj=0x402bc0d0, ms=0, ns=0) at lock.c:407
#5 0x080563bc in jamWait (class=0x401d97d8, mb=0x80eaa20, ostack=0x8225cfc)
at natives.c:68
#6 0x08051880 in executeJava () at interp.c:2230
#7 0x0804f7cc in executeMethodVaList (ob=Variable "ob" is not available.
) at execute.c:91
#8 0x0804f86e in executeMethodArgs (ob=0x402bc320, class=0x401d5008,
mb=0x8078738) at execute.c:63
#9 0x0805a78d in threadStart (arg=0x8224c10) at thread.c:258
#10 0x4006df4c in pthread_start_thread () from /lib/libpthread.so.0
#11 0x4006dfda in pthread_start_thread_event () from /lib/libpthread.so.0
#12 0x4017492a in clone () from /lib/libc.so.6
(gdb) thread 7
[Switching to thread 7 (Thread 81926 (LWP 17993))]#0 0x4016b4a6 in poll ()
from /lib/libc.so.6
(gdb) bt
#0 0x4016b4a6 in poll () from /lib/libc.so.6
#1 0x48d1057b in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#2 0x48d10bd8 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#3 0x4899a629 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#4 0x4886816b in Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkMain ()
from /usr/lib/classpath/libgtkpeer.so
#5 0x0805cc5e in callJNIMethod (env=0x8060254, class=0x402bb2e8,
sig=0x806f850 "()V", ret_type=0, ostack=0x8244334,
f=0x48868150 "U\211åSPè", args=1) at dll_md.c:65
#6 0x0804ebd4 in callJNIWrapper (class=0x402bb2e8, mb=0x81d7a9c,
ostack=0x8244334) at dll.c:332
#7 0x08051880 in executeJava () at interp.c:2230
#8 0x0804f7cc in executeMethodVaList (ob=Variable "ob" is not available.
) at execute.c:91
#9 0x0804f86e in executeMethodArgs (ob=0x402bd168, class=0x402bd0e0,
mb=0x82427d8) at execute.c:63
#10 0x0805a78d in threadStart (arg=0x8242470) at thread.c:258
#11 0x4006df4c in pthread_start_thread () from /lib/libpthread.so.0
#12 0x4006dfda in pthread_start_thread_event () from /lib/libpthread.so.0
#13 0x4017492a in clone () from /lib/libc.so.6
(gdb)
This is the current list of dependencies:
Versions of packages jamvm depends on:
ii classpath 2:0.19-2 clean room standard Java libraries
ii classpath-common 2:0.19-2 architecture independent files
ii java-common 0.23 Base of all Java packages
ii libc6 2.3.5-8 GNU C Library: Shared libraries an
ii zlib1g 1:1.2.3-8 compression library - runtime
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]