[uClibc 0004074]: LD_PRELOAD doesnt seem to work correctly
bugs at busybox.net
bugs at busybox.net
Sat Jul 12 02:45:56 UTC 2008
A NOTE has been added to this issue.
======================================================================
http://busybox.net/bugs/view.php?id=4074
======================================================================
Reported By: wolle
Assigned To: uClibc
======================================================================
Project: uClibc
Issue ID: 4074
Category: Architecture Specific
Reproducibility: always
Severity: major
Priority: normal
Status: assigned
======================================================================
Date Submitted: 07-11-2008 19:28 PDT
Last Modified: 07-11-2008 19:45 PDT
======================================================================
Summary: LD_PRELOAD doesnt seem to work correctly
Description:
hi
i tried to use tsocks ... a tcp socks wrapper ... but the app always
crashed ...
all it does .. it preloads ... the tosckslib
LD_PRELOAD="/usr/lib/libtsocks.so" irssi doesnt work ....
LD_PRELOAD="/usr/lib/libtsocks.so" irssi
Bus error
after some time i realiced this ....
ldd irssi
libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x2aaee000)
libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x2ab30000)
libdl.so.0 => /lib/libdl.so.0 (0x2ab98000)
libncurses.so.5 => /usr/lib/libncurses.so.5 (0x2abdb000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2ac5c000)
libc.so.0 => /lib/libc.so.0 (0x2acab000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
when i do this LD_PRELOAD="/usr/lib/libtsocks.so /lib/libuClibc-0.9.29.so"
irssi
irssi comes up nice ....
the same for ctorrent ....
but it also needs uClibc++
ldd ctorrent
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x2aaee000)
libuClibc++.so.0 => /usr/lib/libuClibc++.so.0 (0x2ac30000)
libc.so.0 => /lib/libc.so.0 (0x2aca2000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2ad46000)
libdl.so.0 => /lib/libdl.so.0 (0x2ad95000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
LD_PRELOAD="/usr/lib/libtsocks.so /lib/libuClibc-0.9.29.so
/usr/lib/libuClib
c++.so.0" ctorrent
======================================================================
----------------------------------------------------------------------
wolle - 07-11-08 19:45
----------------------------------------------------------------------
the output of ....
LD_PRELOAD="/usr/lib/libtsocks.so" strace irssi
execve("/usr/bin/irssi", ["irssi"], [/* 9 vars */]) = 0
svr4_syscall() = -1 ERRNO_4090 (Unknown error
4090)
stat("/etc/ld.so.cache", 0x7f9a3060) = -1 ENOENT (No such file or
directory)
open("/usr/lib/libtsocks.so", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=24982, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\340\n\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 294912, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2aaee000
old_mmap(0x2aaee000, 24720, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
0) = 0x2aaee000
old_mmap(0x2ab34000, 406, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x6000) = 0x2ab34000
old_mmap(0x2ab35000, 944, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ab35000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libgmodule-1.2.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libgmodule-1.2.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/lib/libgmodule-1.2.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=7650, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0p\n\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 270336, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2ab36000
old_mmap(0x2ab36000, 7476, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
0) = 0x2ab36000
old_mmap(0x2ab77000, 3554, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x1000) = 0x2ab77000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libglib-1.2.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libglib-1.2.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/lib/libglib-1.2.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=162118, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\320P\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 425984, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2ab78000
old_mmap(0x2ab78000, 160772, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 0) = 0x2ab78000
old_mmap(0x2abdf000, 2374, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x27000) = 0x2abdf000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libdl.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=8302, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0p\10\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 274432, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2abe0000
old_mmap(0x2abe0000, 6448, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
0) = 0x2abe0000
old_mmap(0x2ac21000, 4206, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x1000) = 0x2ac21000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/lib/libncurses.so.5", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=261623, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\340\313\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 528384, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2ac23000
old_mmap(0x2ac23000, 227852, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 0) = 0x2ac23000
old_mmap(0x2ac9b000, 32247, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x38000) = 0x2ac9b000
old_mmap(0x2aca3000, 1792, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aca3000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libgcc_s.so.1", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=60806, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\240\31\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 323584, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2aca4000
old_mmap(0x2aca4000, 58700, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
0) = 0x2aca4000
old_mmap(0x2acf2000, 3462, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0xe000) = 0x2acf2000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\300\247\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 671744, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2acf3000
old_mmap(0x2acf3000, 383684, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 0) = 0x2acf3000
old_mmap(0x2ad90000, 8051, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x5d000) = 0x2ad90000
old_mmap(0x2ad92000, 19408, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ad92000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libdl.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=8302, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
open("/lib/libdl.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=8302, ...}) = 0
close(3) = 0
open("/lib/libglib-1.2.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libglib-1.2.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/lib/libglib-1.2.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=162118, ...}) = 0
close(3) = 0
open("/lib/libgcc_s.so.1", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=60806, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
open("/lib/libgcc_s.so.1", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=60806, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
open("/lib/libgcc_s.so.1", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=60806, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=20694, ...}) =
0
mprotect(0x2ac21000, 4096, PROT_READ) = 0
mprotect(0x2ad90000, 4096, PROT_READ) = 0
mprotect(0x2aaec000, 4096, PROT_READ) = 0
ioctl(0, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
getuid() = 1000
geteuid() = 1000
brk(0) = 0x51e000
brk(0x51f000) = 0x51f000
getuid() = 1000
open("/etc/passwd", O_RDONLY) = 3
ioctl(3, TIOCNXCL, 0x7f9a2fb8) = -1 ENOTTY (Inappropriate ioctl
for device)
brk(0x520000) = 0x520000
read(3, "root:x:0:0:root:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) =
120
close(3) = 0
access("", X_OK) = -1 ENOENT (No such file or
directory)
access("", X_OK) = -1 ENOENT (No such file or
directory)
access("", X_OK) = 0
stat("/home/puchu/.irssi", {st_mode=S_IFDIR|0700, st_size=1024, ...}) = 0
open("", O_RDWR) = -1 ENOENT (No such file or
directory)
rt_sigaction(SIGTRAP, {SIG_DFL}, NULL, 16) = 0
gettimeofday({1215829503, 440286}, NULL) = 0
stat("/home/puchu/.irssi", {st_mode=S_IFDIR|0700, st_size=1024, ...}) = 0
stat("/home/puchu/.irssi/config", {st_mode=S_IFREG|0600, st_size=7152,
...}) = 0
open("/home/puchu/.irssi/config", O_RDONLY) = 3
--- SIGBUS (Bus error) @ 0 (0) ---
+++ killed by SIGBUS +++
Issue History
Date Modified Username Field Change
======================================================================
07-11-08 19:28 wolle New Issue
07-11-08 19:28 wolle Status new => assigned
07-11-08 19:28 wolle Assigned To => uClibc
07-11-08 19:45 wolle Note Added: 0009204
======================================================================
More information about the uClibc-cvs
mailing list