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

libc6-2.0.6-3 breaks multi-threaded programs



Hi,

A C++ program which is linked to a multi-threaded C++ library and was
working perfectly fine with libc6-2.0.6-2 is now dumping core. The funny
thing is that the core dump happens in a call to the stdio libary. 

A small test program I have that simulates the problem is given below:

#include <stdio.h>

int
main()
{
    char buf[80];
    fgets(buf, 80, stdin);
    return 0;
}

This program was linked with my multi-threaded C++ library, and when I run
the program gets a SIGSEGV and the stack trace looks like this:

#0  0x4008f95c in pthread_mutex_lock ()
#1  0x4009129c in flockfile ()
#2  0x40128b53 in fgets ()
#3  0x80485a6 in main ()

The library and the program were compiled with -D_REENTRANT. The C++ library
is actually a C library which is compiled with C++ and doesn't have any
classes. So I don't think global constructors mess up anything. As I
mentioned earlier, the program was working perfectly with libc6-2.0.6-2. The
same program and library are working fine on UnixWare 2.1.2.

I am using an uptodate (as of today :-) hamm distribution with a custom
built 2.0.32 kernel. (libc6-2.0.6-3, libc6-dev-2.0.6.3, ldso-1.9.6-2). Any
help will be greatly appreciated. Thanks.

Ganesan

-- 
R. Ganesan (rganesan@novell.com)       | Ph: 91-80-5721852 Ext: 2149
Novell India Development Center.       | #include <std_disclaimer.h>


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


Reply to: