Hi,
Im using the Tcl interpreter in a C++ main modul.
When i start the application and invoke the tcl interpreter with
the package java and try to open a Java GUI i get a crash (output see
below)
My environment:
-----------
Linux 2.2.5 with glibc 2.0.x
JDK 1.2pre2 (blackdown)
Tcl 8.0.5
TclBlend 1.2.3
egcs gcc-2.95 19990602 (prerelease)
the libraries in my executable:
-------------------
ldd pled.exe
libpthread.so => /usr/lib/libpthread.so (0x40008000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40016000)
libpng.so.2 => /usr/X11R6/lib/libpng.so.2 (0x400bb000)
libz.so.1 => /usr/lib/libz.so.1 (0x400d8000)
libtiff.so.3 => /usr/lib/libtiff.so.3 (0x400e8000)
/u/pia/lib/libtcl8.0.so => /u/pia/lib/libtcl8.0.so (0x4011b000)
libdl.so.2 => /lib/libdl.so.2 (0x40187000)
/u/pia/lib/libtk8.0.so => /u/pia/lib/libtk8.0.so (0x4018b000)
libstdc++-libc6.0-1.so.2 =>
/usr/local/lib/libstdc++-libc6.0-1.so.2 (0x40231000)
libm.so.6 => /lib/libm.so.6 (0x40273000)
libc.so.6 => /lib/libc.so.6 (0x4028d000)
libjpeg.so.6 => /usr/lib/libjpeg.so.6 (0x4033a000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
------- output when invoking java from C++ using TclBlend 1.2.3 -------
SIGSEGV 11* segmentation violation
stackpointer=0xbfffbfa8
Full thread dump Classic VM (Linux_JDK_1.2_pre-release-v2, native
threads):
"Finalizer" (TID:0x40760320, sys_thread_t:0x82ac368, state:CW,
native ID:0xc03) prio=8
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:112)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
"Reference Handler" (TID:0x407603b0, sys_thread_t:0x82a7a80,
state:CW, native ID:0x802) prio=10
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:424)
at
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
"SIGQUIT handler" (TID:0x407603e0, sys_thread_t:0x82a0508, state:R,
native ID:0x401) prio=5
"main" (TID:0x407601e0, sys_thread_t:0x821a898, state:R, native
ID:0x400) prio=5
at java.lang.String.valueOf(Compiled Code)
at java.lang.Compiler.<clinit>(Compiler.java:68)
Monitor Cache Dump:
java.lang.ref.Reference$Lock@407603C0/40795B20: <unowned>
Waiting to be notified:
"Reference Handler" (0x82a7a80)
java.lang.ref.ReferenceQueue$Lock@40760338/40796028: <unowned>
Waiting to be notified:
"Finalizer" (0x82ac368)
<unknown key> (0x40760131): owner "main" (0x821a898) 1 entry
Registered Monitor Dump:
PCMap lock: <unowned>
utf8 hash table: <unowned>
JNI pinning lock: <unowned>
JNI global reference lock: <unowned>
BinClass lock: <unowned>
Class linking lock: <unowned>
System class loader lock: <unowned>
Code rewrite lock: <unowned>
Heap lock: <unowned>
Monitor cache lock: owner "main" (0x821a898) 1 entry
Thread queue lock: owner "main" (0x821a898) 1 entry
Dynamic loading lock: <unowned>
Monitor registry: owner "main" (0x821a898) 1 entry
-----------------------------------------
-------------------- the gdb output:
(gdb) run
Starting program: /u/pia/bin/pled.exe
[New Thread 23933]
[New Thread 23932]
[New Thread 23934]
Program received signal ?, Unknown signal.
[Switching to Thread 23934]
Program received signal ?, Unknown signal.
0x403140e4 in __syscall_sigsuspend () at soinit.c:27
soinit.c:27: No such file or directory.
(gdb) where
#0 0x403140e4 in __syscall_sigsuspend () at soinit.c:27
#1 0x40339320 in __DTOR_END__ ()
#2 0x4001bb69 in sem_wait (sem=0x82a04b4) at restart.h:49
#3 0x403e881d in _start (tid_=0x82a0438) at
../../../../../src/linux/hpi/native_threads/src/threads_md.c:319
#4 0x40019587 in pthread_start_thread (arg=0xbf9ffea4) at manager.c:192
-----------------
My environment seems to be ok, because i can start the Swing GUI
manually with tclsh8.0.
Has anybody an idea what to try, or where to debug?
Where can i set the debuglevel of the JVM throu TclBlend?
Has anybody running similar configuration where works fine??
Thanks for a hint,
Marcel
----------------------------------------------------------------
The TclJava mailing list is sponsored by WebNet Technologies.
To subscribe: send mail to [EMAIL PROTECTED]
with the word SUBSCRIBE as the subject.
To unsubscribe: send mail to [EMAIL PROTECTED]
with the word UNSUBSCRIBE as the subject.
To send to the list, send email to '[EMAIL PROTECTED]'.
A list archive is at: http://www.findmail.com/listsaver/tcldallas/