[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Possible bug in libc6...

Hello.  I recently upgraded to libc6 (dev,dbg, pic, etc) using the
package from the "hamm" directory.  (I realize this is VERY unstable
stuff - I'm just glutton for punishment :-)  Everything appears to be
working well, although I have hit two minor snags.

The first is that the new version of "amd" (am-utils-6.0a5) won't
compile with libc6, but it will with libc5.  No big deal - just
thought I'd mention it.

The other is that I noticed in the large system I'm developing, test
runs where I would generally get core dumps, I'm getting infinite
hangs.  Looking into this a little further, I developed the following
test case:

[ begin included source ]

#include <signal.h>
#include <stdlib.h>

int flag;

void catch_core_dumps( int ){
  if( flag == 1){
  else if ( flag == 2 ){
    signal( SIGSEGV, SIG_DFL );  

main( int argc, char *argv[] ){
  flag = argc;

  signal( SIGSEGV, catch_core_dumps );
  int *foo = (int *)0;
  *foo = 1;

[ end included source ]

Basically, when you run this program, depending on the number of
arguments you get it, it does different things.

No arguments, it calls exit.  Good enough.  

One argument, it resets the signal handler, and a core dump is
generated.  Again, good enough.

More than one argument, under libc5 and solaris, a core dump is
generated.  Under libc6, I get an infinite hang.  Is this because
doing nothing is undefined, or is it a bug.  Anyone running
glibc-2.0.4 - if so, does it still do this?  I.e. is this worth
submitting as a bug report?


+--------------------  finger for pgp public key  ---------------------+
| Dale E. Martin | University of Cincinnati Savant Research Laboratory |
| dmartin@ececs.uc.edu    |     http://www.ececs.uc.edu/~dmartin       |

TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .

Reply to: