[uClibc]ldd's strace

Peter S. Mazinger ps.m at gmx.net
Mon May 26 13:10:32 UTC 2003


Hello!

For the problem reported earlier with ldd (needing RLIMIT_CORE > 4096), 
I've done an strace

execve("/usr/bin/ldd", ["ldd", "/lib/libuClibc-0.9.19.so"], [/* 21 vars */]) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x25e12000
readlink("/lib/ld-uClibc.so.0", "ld-uClibc-0.9.19.so", 1024) = 19
open("/lib/libc.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\320\346"..., 4096) = 4096
old_mmap(NULL, 348160, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x25e13000
old_mmap(0x25e13000, 325312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x25e13000
old_mmap(0x25e63000, 7324, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x4f000) = 0x25e63000
old_mmap(0x25e65000, 11468, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x25e65000
close(3)                                = 0
mprotect(0x25e13000, 325312, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x25e13000, 325312, PROT_READ|PROT_EXEC) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE, {B38400 opost isig icanon echo ...}) = 0
brk(0x804d924)                          = 0x804d924
brk(0x804e000)                          = 0x804e000
brk(0x804f000)                          = 0x804f000
brk(0x8050000)                          = 0x8050000
open("/lib/libuClibc-0.9.19.so", O_RDONLY) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE, 0x5ddb69c4) = -1 ENOTTY (Inappropriate ioctl for device)
fstat(3, {st_mode=S_IFREG|0755, st_size=266092, ...}) = 0
old_mmap(NULL, 266092, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x25e68000
brk(0x8051000)                          = 0x8051000
brk(0x8052000)                          = 0x8052000
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=16780, ...}) = 
0
fork()                                  = 3267
--- SIGCHLD (Child exited) ---
wait4(3267, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], 0, NULL) = 3267
_exit(0)                                = ?

The error comes after fork(). If I set ulimit -c > 0, then the "error" 
goes away. Is it OK that it want's a coredump, if I interpret it 
correctly?

Here comes the strace with ulimit -c 1024 (working without reaching 
RLIMIT_CORE)

execve("/usr/bin/ldd", ["ldd", "/lib/libuClibc-0.9.19.so"], [/* 21 vars */]) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x2b0e0000
readlink("/lib/ld-uClibc.so.0", "ld-uClibc-0.9.19.so", 1024) = 19
open("/lib/libc.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\320\346"..., 4096) = 4096
old_mmap(NULL, 348160, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b0e1000
old_mmap(0x2b0e1000, 325312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2b0e1000
old_mmap(0x2b131000, 7324, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x4f000) = 0x2b131000
old_mmap(0x2b133000, 11468, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b133000
close(3)                                = 0
mprotect(0x2b0e1000, 325312, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x2b0e1000, 325312, PROT_READ|PROT_EXEC) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE, {B38400 opost isig icanon echo ...}) = 0
brk(0x804d924)                          = 0x804d924
brk(0x804e000)                          = 0x804e000
brk(0x804f000)                          = 0x804f000
brk(0x8050000)                          = 0x8050000
open("/lib/libuClibc-0.9.19.so", O_RDONLY) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE, 0x5f5370d4) = -1 ENOTTY (Inappropriate ioctl for device)
fstat(3, {st_mode=S_IFREG|0755, st_size=266092, ...}) = 0
old_mmap(NULL, 266092, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x2b136000
brk(0x8051000)                          = 0x8051000
brk(0x8052000)                          = 0x8052000
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=16780, ...}) = 0
fork()                                  = 3449
--- SIGCHLD (Child exited) ---
wait4(3449, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV && WCOREDUMP(s)], 0, NULL) = 3449
_exit(0)                                = ?

Peter

-- 
Peter S. Mazinger <ps.m at gmx.net>   ID: 0xA5F059F2    NIC: IXUYHSKQLI
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2



More information about the uClibc mailing list