New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
glibc DSO patch causes "Relink /usr/lib/x86_64-linux-gnu/libpixman-1.so.0' with
/lib/x86_64-linux-gnu/libm.so.6' for IFUNC symbol `sin'" error
#209
Comments
I am not able to do anything with this. Note that this was reproed on Ubuntu 18.04 that required the most intensive changes to glibc-dso patches so they could be applied. Possibly this issue is not present in 20.04. And the best approach is just to wait until Ubuntu 22.04 is released and use it without any patches, since it contains glibc 2.35 that already has fix included. |
Some more issues with patched glibc: |
I'm on Ubuntu 20.04, and have met this issue after recent updates. |
Same, ends up breaking the gdk-pixbuf-query-loader for me which stops gnome from loading images correctly :( |
For me this forbids launching any GTK application |
Yeah same, compiling up a new version without the patch so I can rerun the pixbuf cache, I'll post up here when it's fixed |
|
Yeah that's what's interesting, btw I have no idea how to roll back to the normal version with out apt wanting to uninstall all the dependencies of glibc (basically a lot!) - hence upgrading (basically bumping version on the original package) So without the tuneables flag on it still complains, reverting to the original glibc just let's it work - real odd |
Weird. I'll review patch to try to figure out how it manages to affect behavior when |
Here is the hint how to do it (not a complete solution, as I don't know details of your system)
|
Ahh I bet it's cus I'm just downgrading libc6 rather than each individual, thanks! That will save 4 hours each time I have to recompile it! |
It seems that preloading the libm.so.6 can do the workaround. Without preloading: ue4@e648513f1f3c:~$ /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: Relink `/usr/lib/x86_64-linux-gnu/libpixman-1.so.0' with `/lib/x86_64-linux-gnu/libm.so.6' for IFUNC symbol `sin'
Segmentation fault (core dumped) With preloading: ue4@e648513f1f3c:~$ LD_PRELOAD=/lib/x86_64-linux-gnu/libm.so.6 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
# GdkPixbuf Image Loader Modules file
# Automatically generated file, do not edit
# Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.36.11
#
# LoaderDir = /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders
#
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so"
"ani" 4 "gdk-pixbuf" "Windows animated cursor" "LGPL"
"application/x-navi-animation" ""
"ani" ""
"RIFF ACON" " xxxx " 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so"
"bmp" 5 "gdk-pixbuf" "BMP" "LGPL"
"image/bmp" "image/x-bmp" "image/x-MS-bmp" ""
"bmp" ""
"BM" "" 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so"
"gif" 4 "gdk-pixbuf" "GIF" "LGPL"
"image/gif" ""
"gif" ""
"GIF8" "" 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.so"
"icns" 4 "gdk-pixbuf" "MacOS X icon" "GPL"
"image/x-icns" ""
"icns" ""
"icns" "" 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.so"
"ico" 5 "gdk-pixbuf" "Windows icon" "LGPL"
"image/x-icon" "image/x-ico" "image/x-win-bitmap" "image/vnd.microsoft.icon" "application/ico" "image/ico" "image/icon" "text/ico" ""
"ico" "cur" ""
" \001 " "zz znz" 100
" \002 " "zz znz" 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so"
"jpeg" 5 "gdk-pixbuf" "JPEG" "LGPL"
"image/jpeg" ""
"jpeg" "jpe" "jpg" ""
"\377\330" "" 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so"
"png" 5 "gdk-pixbuf" "PNG" "LGPL"
"image/png" ""
"png" ""
"\211PNG\r\n\032\n" "" 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.so"
"pnm" 4 "gdk-pixbuf" "PNM/PBM/PGM/PPM" "LGPL"
"image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap" "image/x-portable-pixmap" ""
"pnm" "pbm" "pgm" "ppm" ""
"P1" "" 100
"P2" "" 100
"P3" "" 100
"P4" "" 100
"P5" "" 100
"P6" "" 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.so"
"qtif" 4 "gdk-pixbuf" "QuickTime" "LGPL"
"image/x-quicktime" "image/qtif" ""
"qtif" "qif" ""
"abcdidsc" "xxxx " 100
"abcdidat" "xxxx " 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so"
"svg" 6 "gdk-pixbuf" "Scalable Vector Graphics" "LGPL"
"image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml" "text/xml-svg" "image/svg+xml-compressed" ""
"svg" "svgz" "svg.gz" ""
" <svg" "* " 100
" <!DOCTYPE svg" "* " 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.so"
"tga" 4 "gdk-pixbuf" "Targa" "LGPL"
"image/x-tga" ""
"tga" "targa" ""
" \001\001" "x " 100
" \001\t" "x " 100
" \002" "xz " 99
" \003" "xz " 100
" \n" "xz " 100
" \v" "xz " 100
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.so"
"tiff" 5 "gdk-pixbuf" "TIFF" "LGPL"
"image/tiff" ""
"tiff" "tif" ""
"MM *" " z " 100
"II* " " z" 100
"II* \020 CR\002 " " z zzz z" 0
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.so"
"xbm" 4 "gdk-pixbuf" "XBM" "LGPL"
"image/x-xbitmap" ""
"xbm" ""
"#define " "" 100
"/*" "" 50
"/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so"
"xpm" 4 "gdk-pixbuf" "XPM" "LGPL"
"image/x-xpixmap" ""
"xpm" ""
"/* XPM */" "" 100 Without preloading, backtrace with gdb: ue4@e648513f1f3c:~$ gdb /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders...(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
warning: Error disabling address space randomization: Operation not permitted
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: Relink `/usr/lib/x86_64-linux-gnu/libpixman-1.so.0' with `/lib/x86_64-linux-gnu/libm.so.6' for IFUNC symbol `sin'
Program received signal SIGSEGV, Segmentation fault.
0x00007f9956ae8307 in ?? ()
(gdb) bt
#0 0x00007f9956ae8307 in ?? ()
#1 0x00007f995ae9b35a in elf_machine_rela (skip_ifunc=0, reloc_addr_arg=0x7f9956122fb0, version=<optimized out>, sym=<optimized out>,
reloc=0x7f9955e88968, map=0x55a4b02236d0) at ../sysdeps/x86_64/dl-machine.h:332
#2 elf_dynamic_do_Rela (skip_ifunc=0, lazy=<optimized out>, nrelative=<optimized out>, relsize=<optimized out>, reladdr=<optimized out>,
map=0x55a4b02236d0) at do-rel.h:137
#3 _dl_relocate_object (scope=<optimized out>, reloc_mode=reloc_mode@entry=0, consider_profiling=<optimized out>, consider_profiling@entry=0)
at dl-reloc.c:258
#4 0x00007f995aea324d in dl_open_worker (a=a@entry=0x7ffdc1a81890) at dl-open.c:381
#5 0x00007f995a27616f in __GI__dl_catch_exception (exception=0x7ffdc1a81870, operate=0x7f995aea2f60 <dl_open_worker>, args=0x7ffdc1a81890)
at dl-error-skeleton.c:196
#6 0x00007f995aea296a in _dl_open (file=0x55a4b0213660 "/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so", mode=-2147483390,
caller_dlopen=0x7f995ac8b6d9 <g_module_open+265>, nsid=<optimized out>, argc=1, argv=<optimized out>, env=0x7ffdc1a81d48) at dl-open.c:604
#7 0x00007f9959f0bf96 in dlopen_doit (a=a@entry=0x7ffdc1a81ac0) at dlopen.c:66
#8 0x00007f995a27616f in __GI__dl_catch_exception (exception=exception@entry=0x7ffdc1a81a60, operate=0x7f9959f0bf40 <dlopen_doit>, args=0x7ffdc1a81ac0)
at dl-error-skeleton.c:196
#9 0x00007f995a2761ff in __GI__dl_catch_error (objname=0x55a4b0217b60, errstring=0x55a4b0217b68, mallocedp=0x55a4b0217b58, operate=<optimized out>,
args=<optimized out>) at dl-error-skeleton.c:215
#10 0x00007f9959f0c745 in _dlerror_run (operate=operate@entry=0x7f9959f0bf40 <dlopen_doit>, args=args@entry=0x7ffdc1a81ac0) at dlerror.c:162
#11 0x00007f9959f0c051 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87
#12 0x00007f995ac8b6d9 in g_module_open () from /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0
#13 0x000055a4aee014dc in ?? ()
#14 0x000055a4aee0129f in ?? ()
#15 0x00007f995a130c87 in __libc_start_main (main=0x55a4aee01010, argc=1, argv=0x7ffdc1a81d38, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7ffdc1a81d28) at ../csu/libc-start.c:310
#16 0x000055a4aee0136a in ?? ()
(gdb) |
To fix my broken GTK applications on Ubuntu 20.04 I ran the following, based on SonnyPoint's preload suggestion above.
After this I could open e.g. eog again. |
@ibbles |
Way to reproduce:
If this command is ran against ue4-build-prerequisites built WITHOUT
--opt enable_dso_patch
, it finishes successfully.If this command is ran against ue4-build-prerequisites built WITH
--opt enable_dso_patch
, it fails with:The text was updated successfully, but these errors were encountered: