expat + ntpl = sigsev
Jakub Bogusz
qboosh w pld-linux.org
Śro, 21 Sty 2004, 13:20:14 CET
On Wed, Jan 21, 2004 at 12:07:41PM +0100, Paweł Sikora wrote:
>
> [~/rpm/BUILD/qt-x11-free-3.2.3/bin] # strace ./uic
>
> (...)
> open("/usr/lib/libexpat.so.0", O_RDONLY) = 6
> read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\"\0\000"..., 512) = 512
> fstat64(6, {st_mode=S_IFREG|0755, st_size=148164, ...}) = 0
> mmap2(NULL, 151168, PROT_READ|PROT_EXEC, MAP_PRIVATE, 6, 0) = 0x41274000
> mmap2(0x41296000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0x21) = 0x41296000
> close(6) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41299000
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4129a000
> mprotect(0x40dc9000, 4800512, PROT_READ|PROT_WRITE) = 0
> mprotect(0x40dc9000, 4800512, PROT_READ|PROT_EXEC) = 0
> mprotect(0x4081b000, 307200, PROT_READ|PROT_WRITE) = 0
> mprotect(0x4081b000, 307200, PROT_READ|PROT_EXEC) = 0
> set_thread_area({entry_number:-1 -> 6, base_addr:0x41299dc0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_
> pages:1, seg_not_present:0, useable:1}) = 0
> munmap(0x4074b000, 55768) = 0
> set_tid_address(0x41299e08) = 25317
> rt_sigaction(SIGRTMIN, {0x40ab0530, [], SA_SIGINFO}, NULL, 8) = 0
> rt_sigprocmask(SIG_UNBLOCK, [RTMIN], NULL, 8) = 0
> getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
> futex(0x40aaa38c, FUTEX_WAKE, 2147483647) = 0
> brk(0) = 0x8098000
> brk(0x80b9000) = 0x80b9000
> --- SIGSEGV (Segmentation fault) @ 0 (0) ---
> +++ killed by SIGSEGV +++
>
> [~/rpm/BUILD/qt-x11-free-3.2.3/bin] # ./uic
> Naruszenie ochrony pamięci
>
> [~/rpm/BUILD/qt-x11-free-3.2.3/bin] # ldd /usr/lib/libexpat.so.0
> linux-gate.so.1 => (0xffffe000)
> libc.so.6 => /lib/libc.so.6 (0x40034000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
>
> mam:
> glibc-2.3.3-0.20040101.10+nptl
> oraz przebudowane juz glib,glib2,binutils
> qt tez sie chyba zbuduje ;) jak zniknie ten sigsev.
> tylko jak go usunac?
> przebudowa expata nic nie dala.
A skąd pomysł, że to expat?
Między wczytaniem libexpat.so.0 a SEGV są jakieś wywołania związane
z wątkami, a expat z wątków nie korzysta.
--
Jakub Bogusz http://cyber.cs.net.pl/~qboosh/
Więcej informacji o liście dyskusyjnej pld-devel-pl