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>
