I just ran your example and got a core dump with Tcl Blend 1.2.5 and JDK-1.2.1_03 on a Solaris 5.6 box. This is a mighty strange one. Why would the parent process lose the signal handler in a fork(). Mo Dejong Red Hat Inc. On Mon, 20 Mar 2000, Jiang Wu wrote: > Can someone verify that the following scenario will cause a core dump on > Solaris 2.7? > > Setup: Solaris 2.7, Tcl 8.2.3, TclBlend 1.2.6, JDK 1.2.2 > Steps: Start 'jtclsh' and type the following commands > > package require java > catch {set x [exec whoami]} > java::load -classpath foo bar > > ------------------------------------------------ > > In JDK 1.2.2, the JVM uses a signal handler to catch SIGSEGV. "package > require java" sets up this signal handler in the process. However, after > "exec whoami", the parent process loses the signal handler. I put debug > printf in the code "TclpCreateProcess(...)" in "tclUnixPipe.c" file. It > seems that after the "vfork()" call, only the child process is retaining the > signal handler. The parent process no longer has the signal handler. > > // signal handler OK > pid = vfork(); > > // signal handler OK in child process > // signal handler reverted to SIG_DFL in the parent process > > Losing the signal handler causes the process to core dump later on when > accessing certain Java code. > > -- Jiang Wu > [EMAIL PROTECTED] ---------------------------------------------------------------- The TclJava mailing list is sponsored by Scriptics Corporation. 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]'. An archive is available at http://www.mail-archive.com/tcljava@scriptics.com