On my 2-way SMP 7.0 system (old 2.6 GHz Xeon), the programs segfaults constantly: pid 57965 (a.out), uid 1001: exited on signal 11 (core dumped) pid 58080 (a.out), uid 1001: exited on signal 11 (core dumped) pid 58126 (a.out), uid 1001: exited on signal 11 (core dumped) pid 58123 (a.out), uid 1001: exited on signal 11 (core dumped) pid 58158 (a.out), uid 1001: exited on signal 11 (core dumped) pid 58188 (a.out), uid 1001: exited on signal 11 (core dumped) pid 58226 (a.out), uid 1001: exited on signal 11 (core dumped) [etc] (gdb) bt #0 0x48086af3 in pthread_sigmask () from /usr/lib/libkse.so.3 #1 0x00000001 in ?? () #2 0x48210734 in ?? () #3 0x48210700 in ?? () #4 0xbf7fcf48 in ?? () #5 0x4809cc41 in __error () from /usr/lib/libkse.so.3 Also, I've got the following after having the program run for a while (about 30 minutes): [sobomax_at_noisy /tmp]$ ./a.out Fatal error 'thread in syncq when it shouldn't be.' at line 1817 in file /usr/src/lib/libkse/thread/thr_mutex.c (errno = 0) Fatal error 'thread in syncq when it shouldn't be.' at line 1817 in file /usr/src/lib/libkse/thread/thr_mutex.c (errno = 0) Fatal error 'Recurse on a private mutex.' at line 1002 in file /usr/src/lib/libkse/thread/thr_mutex.c (errno = 22) Fatal error 'thread in syncq when it shouldn't be.' at line 1817 in file /usr/src/lib/libkse/thread/thr_mutex.c (errno = 0) Fatal error 'Recurse on a private mutex.' at line 1002 in file /usr/src/lib/libkse/thread/thr_mutex.c (errno = 22) I don't see any hanged process or any other anomalities yet, though. The program continues running, so that I let you know if I see something else. -Maxim P.S. I've compiled the program as follows: $ cc -pthread testkse.c -o a.out -lkse Julian Elischer wrote: > > if you have a 7.0 SMP (8 way if possible) box and can stand > a little down time, I'm looking for someone to test the following: > > This snippet may freeze the process after a while: > > #include <sys/types.h> > #include <unistd.h> > #include <pthread.h> > > void *forker (void *arg) { > while (1) { > pid_t pid = fork(); > if (pid == 0) { > exit(0); > } else if (pid > 0) { > int status; > waitpid(pid, &status, 0); > } else { > printf("Fork failed\n"); > abort(); > } > } > } > > int main(void) { > int i = 0; > for (i = 0; i < 4; i++) { > pthread_t thr; > pthread_create(&thr, NULL, forker, NULL); > pthread_detach(thr); > } > > while(1) > sleep(1000); > } > > > with the following patch applied: > http://www.freebsd.org/~julian/kse-7.diff > it should not. > > can someone with a 7.0 machine please confirm this? > (requires a recompile of libkse and linking with libkse.) > (you could call it something else for the test). > > > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >Received on Fri Feb 01 2008 - 01:31:03 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:26 UTC