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