prelink causes segfaults on loading gconv modules on ppc. open("/usr/lib/gconv/ISO8859-1.so", O_RDONLY) = 3 read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0\5"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=9600, ...}) = 0 mmap(0xfdf1000, 73892, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfdf1000 mprotect(0xfdf3000, 65700, PROT_NONE) = 0 mmap(0xfe02000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xfe02000 close(3) = 0 mprotect(0xfe02000, 4096, PROT_READ) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- Program received signal SIGSEGV, Segmentation fault. 0x0feef554 in free () from /lib/tls/libc.so.6 (gdb) bt #0 0x0feef554 in free () from /lib/tls/libc.so.6 #1 0x0ff8b42c in __libc_dlsym () from /lib/tls/libc.so.6 #2 0x0fea65b0 in __gconv_find_shlib () from /lib/tls/libc.so.6 #3 0x0fea5a54 in find_module () from /lib/tls/libc.so.6 #4 0x0fea6094 in __gconv_lookup_cache () from /lib/tls/libc.so.6 #5 0x0fe9e334 in __gconv_find_transform () from /lib/tls/libc.so.6 #6 0x0ff05358 in __wcsmbs_load_conv () from /lib/tls/libc.so.6
Er, that was bash.
Reverting to prelink-0.3.3-1 appears to fix the problem.
This is very weird. The only changes in prelink were for prelink -uo, nothing else should be changed. Can you collect bash/whatever libs it uses and loads in a tarball when prelinked with 0.3.3-1 and with current prelink?
Seems I lied about 0.3.3-1. I had been running 'prelink -u' and then just 'prelink /bin/bash' and it had been curing and reproducing the problem with 0.3.4. Then I installed prelink-0.3.3 and did the same, and bash still worked. But then I re-enabled the overnight cron job, and this morning everything was segfaulting again.
Created attachment 110959 [details] tarball
Could this be related to bug #147655 with new glibc?
Yes, this is very likely the same thing. But only once a fix for #147655 is tested and the same fix cures this one I'd close this as a dup.
If this is not a dup of #147655, please reopen. glibc-2.3.4-10 is now in rawhide. *** This bug has been marked as a duplicate of 147655 ***