Date: Thu, 13 Aug 1998 13:00:00 -0700 (PDT) From: Matthew Loschert <loschert@loschert.com> To: freebsd-bugs@FreeBSD.ORG Subject: Re: misc/7600: Pthreads Bug - Interaction between printf and pthread_self Message-ID: <199808132000.NAA03680@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR misc/7600; it has been noted by GNATS. From: Matthew Loschert <loschert@loschert.com> To: FreeBSD-gnats-submit@FreeBSD.ORG Cc: Subject: Re: misc/7600: Pthreads Bug - Interaction between printf and pthread_self Date: Thu, 13 Aug 1998 15:59:23 -0400 (EDT) I don't know if this helps at all, but when I was originally performing these tests, I was using tcsh as the shell. I am pretty much a unix newbie, so I don't really know what the important issues of an OS-related bug are. I would like to help though, so if anyone wants to point me in the right direction in terms of what testing details to document, feel free. - Matt On Thu, 13 Aug 1998, Jin Guojun wrote: > The following reply was made to PR misc/7600; it has been noted by GNATS. > > From: Jin Guojun (ITG staff) <jin@george.lbl.gov> > To: FreeBSD-gnats-submit@FreeBSD.ORG, loschert@servint.com > Cc: Subject: Re: misc/7600: Pthreads Bug - Interaction between printf and pthread_self > Date: Thu, 13 Aug 1998 10:53:24 -0700 (PDT) > > The problem is no in "3 Exit the shell.". It is related to either rexec/rsh > or xterm. > I tried followings, and only exit xterm will cause the same problem: > > % sh > $ ./bug & > ^D > % top # everything is OK > > % csh > % ./bug & > %^D > % top # everything is OK > % exit > > then log back in, bug is chewing CPU now. > > -Jin > > > >Description: > > > > While testing a couple of server apps that I had written, I discovered that in c > > ertain situations, the process would "run-away". At that point, the app could o > > nly be killed with a kill -9 and top would show that the process was eating up 9 > > 9.9% of the cpu cycles. > > > > I found that the condition that instigated the problem was starting the app as a > > background process and then exiting the shell. Almost immediately after exitin > > g the shell, the process would go haywire. :) > > > > The apps use pthreads and therefore -libc_r. > > > > I attempted to isolate the problem this evening by stripping out extraneous code > > . I was able to cut it down to the following program. The line that it does no > > t like is the printf line that calls pthread_self to show the thread id. > > > > > > >How-To-Repeat: > > > > 1. Compile the below code with the following command: > > > > gcc -Wall -o bug FILENAME.c -lc_r > > > > 2. Run the program in the background with: > > > > ./bug & > > > > 3. Exit the shell. > > > > 4. Log back in, check cpu usage with top. > > > > > > > > ----CODE BEGINS (FILENAME.c)---- > > > > > > #include <stdio.h> > > #include <unistd.h> > > #include <pthread.h> > > > > void *newthread (void *vptr); > > > > > > int main() > > { > > pthread_t thread; > > > > pthread_create (&thread, NULL, newthread, NULL); > > pthread_join (thread, NULL); > > exit(0); > > } > > > > > > void *newthread(void *vptr) > > { > > for(;;) { > > printf("Thread %d: Just looped again.\n", (int) pthread_self()); > > sleep(5); > > } > > } > > > > > > ----CODE ENDS---- > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-bugs" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808132000.NAA03680>