Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Jan 2008 17:59:04 -0800
From:      Maxim Sobolev <sobomax@FreeBSD.org>
To:        Julian Elischer <julian@elischer.org>
Cc:        FreeBSD Current <current@FreeBSD.org>
Subject:   Re: needs a tester with an SMP 7.0 box
Message-ID:  <47A27CE8.1090802@FreeBSD.org>
In-Reply-To: <47A21ED6.5070303@elischer.org>
References:  <47A21ED6.5070303@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47A27CE8.1090802>