Richard Johnson wrote:
> Program received signal ?, Unknown signal.
> 0x4012eb6e in __sigsuspend (set=0xbffff2a8) at
>../sysdeps/unix/sysv/linux/sigsuspend.c:48
I guess your GNU debugger (gdb) doesn't support
LinuxThreads which JDK uses as native threads. I can get
the following message with gdb 4.18:
Program received signal SIG38, Real-time event 38.
0x2ab6d58b in __sigsuspend (set=0x7fffee34)
at ../sysdeps/unix/sysv/linux/sigsuspend.c:48
In this case, LinuxThreads uses SIG38, SIG39 and
SIG40. You can find the following code in pthreads.c of
LinuxThreads.
int __pthread_sig_restart = __SIGRTMIN;
int __pthread_sig_cancel = __SIGRTMIN + 1;
int __pthread_sig_debug = __SIGRTMIN + 2;
I suggest using the version of gdb supports LinuxThreads
if you want to debug with native threads. In the case
that the signal for LinuxThreads suspends the execution,
you can use the `continue' command of gdb. And you can
also instruct the gdb how to handle signals with the
`handle' command. I wrote `handle SIG38 nostop' into the
$HOME/.gdbinit file.
If you'd like to use green threads usually, you may
modify the bin/.java_wrapper file. Modify the following
line as you like:
DEFAULT_THREADS_FLAG=native
Kazuyuki SHUDO Happy Hacking!
Muraoka Lab., School of Sci. & Eng., Waseda Univ.
----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]