This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
[glibc-HEAD (2.3.3)] - Problem with NPTL and Bind 9.2.3
- From: "Shawn Starr" <shawn dot starr at rogers dot com>
- To: <libc-alpha at sources dot redhat dot com>
- Date: Sun, 4 Jan 2004 14:02:14 -0500
- Subject: [glibc-HEAD (2.3.3)] - Problem with NPTL and Bind 9.2.3
When attempting to use threads with BIND 9.2.3, bind quits with a fatal
error. Recompiling BIND 9.2.3 w/o threads works.
When running make check for bind, the failures occur on tasks:
Here is a strace dump:
execve("./t_tasks", ["./t_tasks"], [/* 17 vars */]) = 0
brk(0) = 0x805e000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x40018000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=13690, ...}) = 0
old_mmap(NULL, 13690, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40019000
close(3) = 0
open("/lib/libnsl.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000<\0\000"..., 512)
= 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1122140, ...}) = 0
old_mmap(NULL, 85056, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001d000
old_mmap(0x4002f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x11000) = 0x4002f000
old_mmap(0x40030000, 7232, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40030000
close(3) = 0
open("/lib/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`G\0\000"..., 512) =
512
fstat64(3, {st_mode=S_IFREG|0755, st_size=2579633, ...}) = 0
old_mmap(NULL, 65260, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40032000
old_mmap(0x4003f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0xd000) = 0x4003f000
old_mmap(0x40040000, 7916, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40040000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0[\1\000"..., 512)
= 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=19708105, ...}) = 0
old_mmap(NULL, 1277804, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40042000
old_mmap(0x4016f000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x12c000) = 0x4016f000
old_mmap(0x40178000, 8044, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40178000
close(3) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x4017a000
set_thread_area({entry_number:-1 -> 6, base_addr:0x4017a280, limit:1048575,
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1,
seg_not_present:0, useable:1}) = 0
munmap(0x40019000, 13690) = 0
set_tid_address(0x4017a2c8) = 29097
rt_sigaction(SIGRTMIN, {0x40036470, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN], NULL, 8) = 0
getrlimit(0x3, 0xbffffb60) = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGINT, {0x804d470, ~[RTMIN], 0}, NULL, 8) = 0
rt_sigaction(SIGALRM, {0x804d470, ~[RTMIN], 0}, NULL, 8) = 0
time(NULL) = 1073242185
brk(0) = 0x805e000
brk(0x807f000) = 0x807f000
brk(0) = 0x807f000
open("/etc/localtime", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1252, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x40019000
read(3, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\4\0"..., 4096) =
1252
close(3) = 0
munmap(0x40019000, 4096) = 0
write(1, "S:./t_tasks:Sunday 04 January 13"..., 44S:./t_tasks:Sunday 04
January 13:49:45 2004
) = 44
open("t_config", O_RDONLY) = -1 ENOENT (No such file or
directory)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|0x11,
<ignored>, <ignored>, 0x4017a2c8) = 29098
T:tasks:1:A
A:The task subsystem can create and manage tasks
heap.c:187: REQUIRE((((heap) != ((void *)0)) && (((const isc__magic_t
*)(heap))->magic == ((('H') << 24 | ('E') << 16 | ('A') << 8 | ('P'))))))
failed.
rt_sigaction(SIGALRM, {0x804d470, ~[RTMIN], 0}, NULL, 8) = 0
alarm(60) = 0
waitpid(29098, [WIFSIGNALED(s) && WTERMSIG(s) == SIGABRT], 0) = 29098
--- SIGCHLD (Child exited) @ 0 (0) ---
write(1, "I:the test case caused exception"..., 35I:the test case caused
exception 6
) = 35
write(1, "R:UNRESOLVED\n", 13R:UNRESOLVED
) = 13
There seems to be problems with heap and NPTL ? Others have told me NPTL in
RedHat's glibc works fine. However, I am using my own Pure-LFS and this
fails for me.
I will update my libc sources today just incase any issues have been
resolved between today and 3 days ago.
Thanks,
Shawn.
P.S.
I am not on this list, please cc: me and the list for any ideas you might
have.