Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jul 1999 13:00:01 -0700 (PDT)
From:      Sheldon Hearn <sheldonh@uunet.co.za>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: bin/12853
Message-ID:  <199907292000.NAA75026@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/12853; it has been noted by GNATS.

From: Sheldon Hearn <sheldonh@uunet.co.za>
To: FreeBSD-gnats-submit@freebsd.org
Cc:  
Subject: Re: bin/12853
Date: Thu, 29 Jul 1999 21:55:39 +0200

 Text from misfiled PR's associated with this one:
 
 From eischen@vigrid.com Wed Jul 28 10:02:06 1999
 Return-Path: <eischen@vigrid.com>
 Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3])
 	by hub.freebsd.org (Postfix) with ESMTP id 4CF5414EF1
 	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 28 Jul 1999 10:01:56 -0700 (PDT)
 	(envelope-from eischen@vigrid.com)
 Received: (from eischen@localhost)
 	by pcnet1.pcnet.com (8.8.7/PCNet) id MAA06499;
 	Wed, 28 Jul 1999 12:59:28 -0400 (EDT)
 Message-Id: <199907281659.MAA06499@pcnet1.pcnet.com>
 Date: Wed, 28 Jul 1999 12:59:28 -0400 (EDT)
 From: Daniel Eischen <eischen@vigrid.com>
 To: FreeBSD-gnats-submit@freebsd.org, mi@aldan.algebra.com
 Cc: eischen@vigrid.com, jb@cimlogic.com.au, lawlopez@cisco.com,
 	msestina@cisco.com, sjlee@cisco.com
 Subject: Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 
 >Number:         12854
 >Category:       pending
 >Synopsis:       Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 >Confidential:   yes
 >Severity:       serious
 >Priority:       medium
 >Responsible:    gnats-admin
 >State:          open
 >Quarter:        
 >Keywords:       
 >Date-Required:  
 >Class:          sw-bug
 >Submitter-Id:   current-users
 >Arrival-Date:   Wed Jul 28 10:10:00 PDT 1999
 >Closed-Date:    
 >Last-Modified:  
 >Originator:     
 >Release:        
 >Organization:
 >Environment:
 >Description:
  Wow, this CC: list is growing!
  
  Can you please try this more complete patch (made against -stable)?
  I believe it better handles initialization of the fd tables for fds
  < 3.
  
  Index: uthread_fd.c
  ===================================================================
  RCS file: /A/cvs/src/lib/libc_r/uthread/uthread_fd.c,v
  retrieving revision 1.9.2.2
  diff -u -r1.9.2.2 uthread_fd.c
  --- uthread_fd.c	1999/07/23 13:00:27	1.9.2.2
  +++ uthread_fd.c	1999/07/28 16:31:33
  @@ -94,13 +94,13 @@
   		TAILQ_INIT(&entry->w_queue);
   
   		/* Get the flags for the file: */
  -		if (fd >= 3 && (entry->flags =
  -		    _thread_sys_fcntl(fd, F_GETFL, 0)) == -1) {
  +		if (((fd >= 3) || (_pthread_stdio_flags[fd] == -1)) &&
  +		    (entry->flags = _thread_sys_fcntl(fd, F_GETFL, 0)) == -1) {
   			ret = -1;
  -		    }
  +		}
   		else {
   			/* Check if a stdio descriptor: */
  -			if (fd < 3)
  +			if ((fd < 3) && (_pthread_stdio_flags[fd] != -1))
   				/*
   				 * Use the stdio flags read by
   				 * _pthread_init() to avoid
  Index: uthread_init.c
  ===================================================================
  RCS file: /A/cvs/src/lib/libc_r/uthread/uthread_init.c,v
  retrieving revision 1.9.2.3
  diff -u -r1.9.2.3 uthread_init.c
  --- uthread_init.c	1999/07/23 13:00:29	1.9.2.3
  +++ uthread_init.c	1999/07/28 16:43:27
  @@ -121,8 +121,9 @@
   
   	/* Get the standard I/O flags before messing with them : */
   	for (i = 0; i < 3; i++)
  -		if ((_pthread_stdio_flags[i] =
  -		    _thread_sys_fcntl(i,F_GETFL, NULL)) == -1)
  +		if (((_pthread_stdio_flags[i] =
  +		    _thread_sys_fcntl(i,F_GETFL, NULL)) == -1) &&
  +		    (errno != EBADF))
   			PANIC("Cannot get stdio flags");
   
   	/*
  @@ -292,12 +293,18 @@
   			}
   
   			/* Initialize stdio file descriptor table entries: */
  -			if ((_thread_fd_table_init(0) != 0) ||
  -			    (_thread_fd_table_init(1) != 0) ||
  -			    (_thread_fd_table_init(2) != 0)) {
  -				PANIC("Cannot initialize stdio file descriptor "
  -				    "table entries");
  -			}
  +			if ((_thread_fd_table_init(0) != 0) &&
  +			    (errno != EBADF))
  +				PANIC("Cannot initialize stdio file "
  +				    "descriptor table entries");
  +			else if ((_thread_fd_table_init(1) != 0) &&
  +			    (errno != EBADF))
  +				PANIC("Cannot initialize stdout file "
  +				    "descriptor table entries");
  +			else if ((_thread_fd_table_init(2) != 0) &&
  +			    (errno != EBADF))
  +				PANIC("Cannot initialize stderr file "
  +				    "descriptor table entries");
   		}
   	}
   
  
  Dan Eischen
  eischen@vigrid.com
  
 >How-To-Repeat:
 >Fix:
 >Release-Note:
 >Audit-Trail:
 >Unformatted:
 
 From lawlopez@cisco.com Wed Jul 28 16:47:44 1999
 Return-Path: <lawlopez@cisco.com>
 Received: from tornado.cisco.com (tornado.cisco.com [171.69.104.22])
 	by hub.freebsd.org (Postfix) with ESMTP id 0A20514D8B
 	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 28 Jul 1999 16:47:33 -0700 (PDT)
 	(envelope-from lawlopez@cisco.com)
 Received: from cisco.com (lawlopez-pc.cisco.com [171.69.206.56]) by tornado.cisco.com (8.8.5-Cisco.1/8.6.5) with ESMTP id TAA10692; Wed, 28 Jul 1999 19:47:28 -0400 (EDT)
 Message-Id: <379F9692.180CE56E@cisco.com>
 Date: Wed, 28 Jul 1999 19:47:30 -0400
 From: "Lawrence D. Lopez" <lawlopez@cisco.com>
 Sender: lawlopez@cisco.com
 To: Daniel Eischen <eischen@vigrid.com>
 Cc: FreeBSD-gnats-submit@freebsd.org, mi@aldan.algebra.com,
 	jb@cimlogic.com.au, msestina@cisco.com, sjlee@cisco.com
 Subject: Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 References: <199907281659.MAA06499@pcnet1.pcnet.com>
 
 >Number:         12860
 >Category:       pending
 >Synopsis:       Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 >Confidential:   yes
 >Severity:       serious
 >Priority:       medium
 >Responsible:    gnats-admin
 >State:          open
 >Quarter:        
 >Keywords:       
 >Date-Required:  
 >Class:          sw-bug
 >Submitter-Id:   current-users
 >Arrival-Date:   Wed Jul 28 16:50:01 PDT 1999
 >Closed-Date:    
 >Last-Modified:  
 >Originator:     
 >Release:        
 >Organization:
 >Environment:
 >Description:
  This is a multi-part message in MIME format.
  --------------BD951E80393B91190D1AEB4A
  Content-Type: text/plain; charset=us-ascii
  Content-Transfer-Encoding: 7bit
  
  Dan,
  
  Test procedure:
  
  attached is a tarfile which contains
  the test procedure.
  
  ***
  
  extract it from the mail.
  
  tar xcv tarfile
  cd thread
  make
  
  
  ***
  
  This is what is in the tarfile:
  
  makefile:
  
  
  all:
          rm -f run thread *.core
          cc -o thread thread.c -lc_r
          cc -o run run.c
          ./run
  
  Program 1: thread.c:
  
  main()
  {
  }
  
  
  
  Compile it like:
  
  cc -o thread thread.c -lc_r
  
  
  Program 2: run.c
  
  main()
  {
          close(0);
  
          execl("./thread", "./thead", 0);
          perror("execl");
  }
  
  
  Compile it like:
  
  cc -o run run.c
  
  
  Now type ./run to cause the bug:
  ./run
  Fatal error 'Cannot get stdio flags' at line ? in
  file /usr/src/lib/libc_r/uthread/uthread_init.c
  (errno = ?)
  Segmentation fault (core dumped)
  
  Hope this helps!
  
  	Larry
  
  
  Daniel Eischen wrote:
  > 
  > Wow, this CC: list is growing!
  > 
  > Can you please try this more complete patch (made against -stable)?
  > I believe it better handles initialization of the fd tables for fds
  > < 3.
  > 
  > Index: uthread_fd.c
  > ===================================================================
  > RCS file: /A/cvs/src/lib/libc_r/uthread/uthread_fd.c,v
  > retrieving revision 1.9.2.2
  > diff -u -r1.9.2.2 uthread_fd.c
  > --- uthread_fd.c        1999/07/23 13:00:27     1.9.2.2
  > +++ uthread_fd.c        1999/07/28 16:31:33
  > @@ -94,13 +94,13 @@
  >                 TAILQ_INIT(&entry->w_queue);
  > 
  >                 /* Get the flags for the file: */
  > -               if (fd >= 3 && (entry->flags =
  > -                   _thread_sys_fcntl(fd, F_GETFL, 0)) == -1) {
  > +               if (((fd >= 3) || (_pthread_stdio_flags[fd] == -1)) &&
  > +                   (entry->flags = _thread_sys_fcntl(fd, F_GETFL, 0)) == -1) {
  >                         ret = -1;
  > -                   }
  > +               }
  >                 else {
  >                         /* Check if a stdio descriptor: */
  > -                       if (fd < 3)
  > +                       if ((fd < 3) && (_pthread_stdio_flags[fd] != -1))
  >                                 /*
  >                                  * Use the stdio flags read by
  >                                  * _pthread_init() to avoid
  > Index: uthread_init.c
  > ===================================================================
  > RCS file: /A/cvs/src/lib/libc_r/uthread/uthread_init.c,v
  > retrieving revision 1.9.2.3
  > diff -u -r1.9.2.3 uthread_init.c
  > --- uthread_init.c      1999/07/23 13:00:29     1.9.2.3
  > +++ uthread_init.c      1999/07/28 16:43:27
  > @@ -121,8 +121,9 @@
  > 
  >         /* Get the standard I/O flags before messing with them : */
  >         for (i = 0; i < 3; i++)
  > -               if ((_pthread_stdio_flags[i] =
  > -                   _thread_sys_fcntl(i,F_GETFL, NULL)) == -1)
  > +               if (((_pthread_stdio_flags[i] =
  > +                   _thread_sys_fcntl(i,F_GETFL, NULL)) == -1) &&
  > +                   (errno != EBADF))
  >                         PANIC("Cannot get stdio flags");
  > 
  >         /*
  > @@ -292,12 +293,18 @@
  >                         }
  > 
  >                         /* Initialize stdio file descriptor table entries: */
  > -                       if ((_thread_fd_table_init(0) != 0) ||
  > -                           (_thread_fd_table_init(1) != 0) ||
  > -                           (_thread_fd_table_init(2) != 0)) {
  > -                               PANIC("Cannot initialize stdio file descriptor "
  > -                                   "table entries");
  > -                       }
  > +                       if ((_thread_fd_table_init(0) != 0) &&
  > +                           (errno != EBADF))
  > +                               PANIC("Cannot initialize stdio file "
  > +                                   "descriptor table entries");
  > +                       else if ((_thread_fd_table_init(1) != 0) &&
  > +                           (errno != EBADF))
  > +                               PANIC("Cannot initialize stdout file "
  > +                                   "descriptor table entries");
  > +                       else if ((_thread_fd_table_init(2) != 0) &&
  > +                           (errno != EBADF))
  > +                               PANIC("Cannot initialize stderr file "
  > +                                   "descriptor table entries");
  >                 }
  >         }
  > 
  > 
  > Dan Eischen
  > eischen@vigrid.com
  --------------BD951E80393B91190D1AEB4A
  Content-Type: application/octet-stream; name="tarfile"
  Content-Transfer-Encoding: base64
  Content-Disposition: attachment; filename="tarfile"
  
  dGhyZWFkLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA0MDc1NSAA
  ICAxNzU1IAAgIDE3NTUgACAgICAgICAgICAwICA2NzQ3NzEzMDExICAxMjI0NQAgNQAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGxhd2xv
  cGV6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbGF3bG9wZXoAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0aHJlYWQvdGhyZWFkLmMAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAMTAwNjQ0IAAgIDE3NTUgACAgMTc1NSAAICAgICAgICAgMTMg
  IDY3NDc3MTIwMzEgIDEzNzEwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAHVzdGFyICAAbGF3bG9wZXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABs
  YXdsb3BlegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1h
  aW4oKQp7Cn0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGhyZWFkL3J1bi5jAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAADEwMDY0NCAAICAxNzU1IAAgIDE3NTUgACAgICAgICAgMTE1ICA2
  NzQ3NzEyMTUwICAxMzI3MgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAB1c3RhciAgAGxhd2xvcGV6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbGF3
  bG9wZXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtYWlu
  KCkKewoJY2xvc2UoMCk7CgoJZXhlY2woIi4vdGhyZWFkIiwgIi4vdGhlYWQiLCAwKTsKCXBl
  cnJvcigiZXhlY2wiKTsKfQkJCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRocmVhZC9tYWtlZmlsZQAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAxMDA2NDQgACAgMTc1NSAAICAxNzU1IAAgICAgICAgIDEyMyAgNjc0
  NzcxMjc3NyAgMTQwNDAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAdXN0YXIgIABsYXdsb3BlegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxhd2xv
  cGV6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYWxsOgoJ
  cm0gLWYgcnVuIHRocmVhZCAqLmNvcmUKCWNjIC1vIHRocmVhZCB0aHJlYWQuYyAtbGNfcgoJ
  Y2MgLW8gcnVuIHJ1bi5jCgkuL3J1bgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
  --------------BD951E80393B91190D1AEB4A--
  
  
 >How-To-Repeat:
 >Fix:
 >Release-Note:
 >Audit-Trail:
 >Unformatted:
 
 From jb@cimlogic.com.au Wed Jul 28 16:55:22 1999
 Return-Path: <jb@cimlogic.com.au>
 Received: from cimlogic.com.au (cimlog.lnk.telstra.net [139.130.51.31])
 	by hub.freebsd.org (Postfix) with ESMTP id 147391543E
 	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 28 Jul 1999 16:55:12 -0700 (PDT)
 	(envelope-from jb@cimlogic.com.au)
 Received: (from jb@localhost)
 	by cimlogic.com.au (8.9.3/8.9.1) id KAA58415;
 	Thu, 29 Jul 1999 10:01:12 +1000 (EST)
 	(envelope-from jb)
 Message-Id: <199907290001.KAA58415@cimlogic.com.au>
 Date: Thu, 29 Jul 1999 10:01:12 +1000 (EST)
 From: John Birrell <jb@cimlogic.com.au>
 To: lawlopez@cisco.com (Lawrence D. Lopez)
 Cc: eischen@vigrid.com (Daniel Eischen),
 	FreeBSD-gnats-submit@freebsd.org, mi@aldan.algebra.com,
 	jb@cimlogic.com.au, msestina@cisco.com, sjlee@cisco.com
 In-Reply-To: <379F9692.180CE56E@cisco.com> from "Lawrence D. Lopez" at "Jul 28, 1999 07:47:30 pm"
 Subject: Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 
 >Number:         12861
 >Category:       pending
 >Synopsis:       Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 >Confidential:   yes
 >Severity:       serious
 >Priority:       medium
 >Responsible:    gnats-admin
 >State:          open
 >Quarter:        
 >Keywords:       
 >Date-Required:  
 >Class:          sw-bug
 >Submitter-Id:   current-users
 >Arrival-Date:   Wed Jul 28 17:00:01 PDT 1999
 >Closed-Date:    
 >Last-Modified:  
 >Originator:     
 >Release:        
 >Organization:
 >Environment:
 >Description:
  Lawrence D. Lopez wrote:
  >         cc -o thread thread.c -lc_r
  
  This is wrong. You are linking against both libc _and_ libc_r.
  Use -pthread instead of -lc_r.
  
  -- 
  John Birrell - jb@cimlogic.com.au; jb@freebsd.org http://www.cimlogic.com.au/
  CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137
  
 >How-To-Repeat:
 >Fix:
 >Release-Note:
 >Audit-Trail:
 >Unformatted:
 
 From eischen@vigrid.com Wed Jul 28 17:16:02 1999
 Return-Path: <eischen@vigrid.com>
 Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3])
 	by hub.freebsd.org (Postfix) with ESMTP id 4BE84154E5
 	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 28 Jul 1999 17:15:52 -0700 (PDT)
 	(envelope-from eischen@vigrid.com)
 Received: (from eischen@localhost)
 	by pcnet1.pcnet.com (8.8.7/PCNet) id UAA01121;
 	Wed, 28 Jul 1999 20:13:41 -0400 (EDT)
 Message-Id: <199907290013.UAA01121@pcnet1.pcnet.com>
 Date: Wed, 28 Jul 1999 20:13:41 -0400 (EDT)
 From: Daniel Eischen <eischen@vigrid.com>
 To: eischen@vigrid.com, lawlopez@cisco.com
 Cc: FreeBSD-gnats-submit@freebsd.org, jb@cimlogic.com.au,
 	mi@aldan.algebra.com, msestina@cisco.com, sjlee@cisco.com
 Subject: Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 
 >Number:         12862
 >Category:       pending
 >Synopsis:       Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 >Confidential:   yes
 >Severity:       serious
 >Priority:       medium
 >Responsible:    gnats-admin
 >State:          open
 >Quarter:        
 >Keywords:       
 >Date-Required:  
 >Class:          sw-bug
 >Submitter-Id:   current-users
 >Arrival-Date:   Wed Jul 28 17:20:00 PDT 1999
 >Closed-Date:    
 >Last-Modified:  
 >Originator:     
 >Release:        
 >Organization:
 >Environment:
 >Description:
  > Test procedure:
  > 
  > attached is a tarfile which contains
  > the test procedure.
  
  [ ... ]
  
  > all:
  >         rm -f run thread *.core
  >         cc -o thread thread.c -lc_r
  >         cc -o run run.c
  >         ./run
  
  That should be:
  
  	cc -o thread -pthread thread.c
  
  Don't use -lc_r when building threaded apps on FreeBSD because it
  also links in libc.
  
  But did you try the patches I sent?  I take it you didn't try
  them because your test program worked for me with the patches
  applied to uthread_fd.c and uthread_init.c.
  
  You said you were also getting other segmentation faults even
  after applying Mikhail Teterins patches from the PR filed.  What
  is the status of that problem?
  
  > >Fix: 
  >         
  >         This fix does NOT fix the seg-fault itself, but only prevents
  >         the panic from happening in this legal case.
  
  Dan Eischen
  eischen@vigrid.com
  
 >How-To-Repeat:
 >Fix:
 >Release-Note:
 >Audit-Trail:
 >Unformatted:
 
 From lawlopez@cisco.com Wed Jul 28 17:31:40 1999
 Return-Path: <lawlopez@cisco.com>
 Received: from tornado.cisco.com (tornado.cisco.com [171.69.104.22])
 	by hub.freebsd.org (Postfix) with ESMTP id 4DA6814EEF
 	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 28 Jul 1999 17:31:38 -0700 (PDT)
 	(envelope-from lawlopez@cisco.com)
 Received: from cisco.com (lawlopez-pc.cisco.com [171.69.206.56]) by tornado.cisco.com (8.8.5-Cisco.1/8.6.5) with ESMTP id UAA11309; Wed, 28 Jul 1999 20:31:10 -0400 (EDT)
 Message-Id: <379FA0D0.BE5E5BAD@cisco.com>
 Date: Wed, 28 Jul 1999 20:31:12 -0400
 From: "Lawrence D. Lopez" <lawlopez@cisco.com>
 Sender: lawlopez@cisco.com
 To: Daniel Eischen <eischen@vigrid.com>
 Cc: FreeBSD-gnats-submit@freebsd.org, jb@cimlogic.com.au,
 	mi@aldan.algebra.com, msestina@cisco.com, sjlee@cisco.com
 Subject: Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 References: <199907290013.UAA01121@pcnet1.pcnet.com>
 
 >Number:         12863
 >Category:       pending
 >Synopsis:       Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 >Confidential:   yes
 >Severity:       serious
 >Priority:       medium
 >Responsible:    gnats-admin
 >State:          open
 >Quarter:        
 >Keywords:       
 >Date-Required:  
 >Class:          sw-bug
 >Submitter-Id:   current-users
 >Arrival-Date:   Wed Jul 28 17:40:01 PDT 1999
 >Closed-Date:    
 >Last-Modified:  
 >Originator:     
 >Release:        
 >Organization:
 >Environment:
 >Description:
  Dan,
  
  	I didn't try the patches because mi had
  gone home.
  
  	The other problem we are having is:
  
  PANIC("Cannot set virtual timer");
  in uthread_kern.c
  
  	This one really has me stumped.
  
  	I will use -pthread in the future.
  
  
  		Larry
  
  
  Daniel Eischen wrote:
  > 
  > > Test procedure:
  > >
  > > attached is a tarfile which contains
  > > the test procedure.
  > 
  > [ ... ]
  > 
  > > all:
  > >         rm -f run thread *.core
  > >         cc -o thread thread.c -lc_r
  > >         cc -o run run.c
  > >         ./run
  > 
  > That should be:
  > 
  >         cc -o thread -pthread thread.c
  > 
  > Don't use -lc_r when building threaded apps on FreeBSD because it
  > also links in libc.
  > 
  > But did you try the patches I sent?  I take it you didn't try
  > them because your test program worked for me with the patches
  > applied to uthread_fd.c and uthread_init.c.
  > 
  > You said you were also getting other segmentation faults even
  > after applying Mikhail Teterins patches from the PR filed.  What
  > is the status of that problem?
  > 
  > > >Fix:
  > >
  > >         This fix does NOT fix the seg-fault itself, but only prevents
  > >         the panic from happening in this legal case.
  > 
  > Dan Eischen
  > eischen@vigrid.com
  
 >How-To-Repeat:
 >Fix:
 >Release-Note:
 >Audit-Trail:
 >Unformatted:
 
 From eischen@vigrid.com Wed Jul 28 17:50:07 1999
 Return-Path: <eischen@vigrid.com>
 Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3])
 	by hub.freebsd.org (Postfix) with ESMTP id 2470E14F41
 	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 28 Jul 1999 17:50:04 -0700 (PDT)
 	(envelope-from eischen@vigrid.com)
 Received: (from eischen@localhost)
 	by pcnet1.pcnet.com (8.8.7/PCNet) id UAA04565;
 	Wed, 28 Jul 1999 20:47:29 -0400 (EDT)
 Message-Id: <199907290047.UAA04565@pcnet1.pcnet.com>
 Date: Wed, 28 Jul 1999 20:47:29 -0400 (EDT)
 From: Daniel Eischen <eischen@vigrid.com>
 To: eischen@vigrid.com, lawlopez@cisco.com
 Cc: FreeBSD-gnats-submit@freebsd.org, jb@cimlogic.com.au,
 	mi@aldan.algebra.com, msestina@cisco.com, sjlee@cisco.com
 Subject: Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 
 >Number:         12865
 >Category:       pending
 >Synopsis:       Re: resend: uthread_init.c PANICs in case of (legally) close stdin
 >Confidential:   yes
 >Severity:       serious
 >Priority:       medium
 >Responsible:    gnats-admin
 >State:          open
 >Quarter:        
 >Keywords:       
 >Date-Required:  
 >Class:          sw-bug
 >Submitter-Id:   current-users
 >Arrival-Date:   Wed Jul 28 18:00:01 PDT 1999
 >Closed-Date:    
 >Last-Modified:  
 >Originator:     
 >Release:        
 >Organization:
 >Environment:
 >Description:
  >         I didn't try the patches because mi had
  > gone home.
  > 
  >         The other problem we are having is:
  > 
  > PANIC("Cannot set virtual timer");
  > in uthread_kern.c
  > 
  >         This one really has me stumped.
  
  You're going to have to bite the bullet and upgrade to -stable (or
  pull -stable's libc_r and rebuild it on your system).  You're
  working with an older threads library that has seen a lot of fixes
  since 3.1-RELEASE.  I believe the panic message you quote is from
  before 3.2-RELEASE.
  
  FYI, the message now is:
  
    PANIC("Cannot set scheduling timer");
  
  in uthread_kern.c.
  
  Dan Eischen
  eischen@vigrid.com
  
 >How-To-Repeat:
 >Fix:
 >Release-Note:
 >Audit-Trail:
 >Unformatted:
 
 


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?199907292000.NAA75026>