NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/36183 -- not quite fixed yet?

The following reply was made to PR kern/36183; it has been noted by GNATS.

From: Thor Lancelot Simon <>
Subject: kern/36183 -- not quite fixed yet?
Date: Tue, 16 Dec 2008 22:29:38 -0500

 I applied your kern_sig/kern_synch changes for PR 36183 (as well as the
 immediately previous SIGKILL change to kern_sig.c to my local netbsd-5
 tree (upon cursory examination, it looked like this should work).
 Initial results with a non-buggy pthread program program were promising
 though gdb still doesn't seem to know which threads are active so one
 can't switch threads.  However:
 1) Sending SIGINFO (via ^T) drops the traced executable into gdb.  This
    isn't the old behavior for non-threaded executables, is it?  I can't
 2) Setting breakpoints at certain points in the program seems to cause
    the program to *exit* with SIGTRAP.
 3) exiting gdb doesn't seem to properly kill off the traced executable
    if it's been stopped at a breakpoint, then one tries to exit gdb.
 Then I tried the buggy program below.  The result, run under gdb on
 on a 4-CPU VMware Fusion VM (on an 8-core host) with the i386 port was
 a panic: kernel diagnostic assertion l->l_stat != LSZOMB (kern_lwp.c
 line 1352).
 I compiled the program on 4.99.72 as that's what I had handy; I doubt
 that made much of a differenc, but just so you know.
 #include <pthread.h>
 static void * t_worker(void *arg)
 int splodeme[10 * 1024 * 1024];
 int main(int argc, char **argv) {
        pthread_t t;
        pthread_create(&t, NULL, t_worker, NULL);
        while(1) { };

Home | Main Index | Thread Index | Old Index