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 <tls%netbsd.org@localhost>
To: ad%netbsd.org@localhost
Cc: gnats-bugs%netbsd.org@localhost
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
    remember.
 
 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