Summary: | =x11-libs/gdk-pixbuf-2.26.4 segfaults on cache generation | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Matteo 'The Peach' Pescarin <peach> |
Component: | [OLD] GNOME | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | arne_bab, gienah, jms.gentoo, main.haarp |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
URL: | https://bugzilla.gnome.org/show_bug.cgi?id=686822 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 478252, 499954 | ||
Bug Blocks: |
Description
Matteo 'The Peach' Pescarin
2013-03-30 11:36:38 UTC
I reproduced it in a chroot: Making all in gdk-pixbuf-loader make[2]: Entering directory `/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4/gdk-pixbuf-loader' /bin/sh ../libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -DGDK_PIXBUF_ENABLE_BACKEND -DG_LOG_DOMAIN=\"libpixbufloader-svg\" -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng15 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng15 -I/usr/include/libcroco-0.6 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -O2 -march=native -pipe -c -o libpixbufloader_svg_la-io-svg.lo `test -f 'io-svg.c' || echo './'`io-svg.c libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -DGDK_PIXBUF_ENABLE_BACKEND -DG_LOG_DOMAIN=\"libpixbufloader-svg\" -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng15 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng15 -I/usr/include/libcroco-0.6 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -O2 -march=native -pipe -c io-svg.c -fPIC -DPIC -o .libs/libpixbufloader_svg_la-io-svg.o In file included from io-svg.c:31:0: ../librsvg-features.h:2:2: warning: #warning "Including <librsvg/librsvg-features.h> directly is deprecated." [-Wcpp] io-svg.c: In function 'gdk_pixbuf__svg_image_load_increment': io-svg.c:127:17: warning: 'rsvg_handle_set_size_callback' is deprecated (declared at ../rsvg.h:201) [-Wdeprecated-declarations] /bin/sh ../libtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng15 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng15 -I/usr/include/libcroco-0.6 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -O2 -march=native -pipe -avoid-version -module -Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed -o libpixbufloader-svg.la -rpath /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders libpixbufloader_svg_la-io-svg.lo ../librsvg-2.la -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lcairo -lpng15 -lcroco-0.6 -lglib-2.0 -lxml2 libtool: link: x86_64-pc-linux-gnu-gcc -shared -fPIC -DPIC .libs/libpixbufloader_svg_la-io-svg.o -Wl,-rpath -Wl,/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4/.libs -Wl,--as-needed ../.libs/librsvg-2.so -lm -lgdk_pixbuf-2.0 -lgio-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lcairo -lpng15 -lcroco-0.6 -lglib-2.0 -lxml2 -pthread -pthread -O2 -march=native -Wl,--hash-style=gnu -Wl,-O1 -pthread -Wl,-soname -Wl,libpixbufloader-svg.so -o .libs/libpixbufloader-svg.so libtool: link: ( cd ".libs" && rm -f "libpixbufloader-svg.la" && ln -s "../libpixbufloader-svg.la" "libpixbufloader-svg.la" ) x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng15 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wall -Wextra -Wunused -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wchar-subscripts -Wparentheses -Winline -Wredundant-decls -Wformat-nonliteral -Werror=format-security -Wsign-compare -Werror=implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Waggregate-return -Wcast-align -Wimplicit -Wuninitialized -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wmissing-format-attribute -Wshadow -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations -Wdeclaration-after-statement -Wold-style-definition -Wno-missing-field-initializers -Wno-unused-parameter -Wunused-variable -Wunused-function -Wempty-body -Wno-switch-enum -fno-common -O2 -march=native -pipe -c -o rsvg_loader-test.o `test -f 'test.c' || echo './'`test.c test.c: In function âmainâ: test.c:52:5: warning: âg_type_initâ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations] ( /usr/bin/gdk-pixbuf-query-loaders ./libpixbufloader-svg.la && /usr/bin/gdk-pixbuf-query-loaders) > gdk-pixbuf.loaders 2>/dev/null make[2]: *** [gdk-pixbuf-loaders] Error 139 make[2]: Leaving directory `/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4/gdk-pixbuf-loader' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4' make: *** [all] Error 2 * ERROR: gnome-base/librsvg-2.36.4 failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=gnome-base/librsvg-2.36.4'`, * the complete build log and the output of `emerge -pqv '=gnome-base/librsvg-2.36.4'`. * The complete build log is located at '/var/tmp/portage/gnome-base/librsvg-2.36.4/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/gnome-base/librsvg-2.36.4/temp/environment'. * Working directory: '/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4' * S: '/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4' * Messages for package gnome-base/librsvg-2.36.4: * ERROR: gnome-base/librsvg-2.36.4 failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=gnome-base/librsvg-2.36.4'`, * the complete build log and the output of `emerge -pqv '=gnome-base/librsvg-2.36.4'`. * The complete build log is located at '/var/tmp/portage/gnome-base/librsvg-2.36.4/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/gnome-base/librsvg-2.36.4/temp/environment'. * Working directory: '/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4' * S: '/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4' argus (ghchead) ~ $ I cd to the source directory, and try to see which command failed: argus (ghchead) ~ $ cd /var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4/gdk-pixbuf-loader argus (ghchead) gdk-pixbuf-loader $ x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng15 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wall -Wextra -Wunused -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wchar-subscripts -Wparentheses -Winline -Wredundant-decls -Wformat-nonliteral -Werror=format-security -Wsign-compare -Werror=implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Waggregate-return -Wcast-align -Wimplicit -Wuninitialized -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wmissing-format-attribute -Wshadow -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations -Wdeclaration-after-statement -Wold-style-definition -Wno-missing-field-initializers -Wno-unused-parameter -Wunused-variable -Wunused-function -Wempty-body -Wno-switch-enum -fno-common -O2 -march=native -pipe -c -o rsvg_loader-test.o `test -f 'test.c' || echo './'`test.c test.c: In function âmainâ: test.c:52:5: warning: âg_type_initâ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations] argus (ghchead) gdk-pixbuf-loader $ echo $? 0 argus (ghchead) gdk-pixbuf-loader $ /usr/bin/gdk-pixbuf-query-loaders ./libpixbufloader-svg.la # GdkPixbuf Image Loader Modules file # Automatically generated file, do not edit # Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.26.4 # "/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4/gdk-pixbuf-loader/./libpixbufloader-svg.la" "svg" 2 "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 argus (ghchead) gdk-pixbuf-loader $ echo $? 0 argus (ghchead) gdk-pixbuf-loader $ /usr/bin/gdk-pixbuf-query-loaders Segmentation fault argus (ghchead) gdk-pixbuf-loader $ equery belongs /usr/bin/gdk-pixbuf-query-loaders * Searching for /usr/bin/gdk-pixbuf-query-loaders ... x11-libs/gdk-pixbuf-2.26.4 (/usr/bin/gdk-pixbuf-query-loaders) argus (ghchead) gdk-pixbuf-loader $ gdb /usr/bin/gdk-pixbuf-query-loaders GNU gdb (Gentoo 7.5.1 p2) 7.5.1 Copyright (C) 2012 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-pc-linux-gnu". For bug reporting instructions, please see: <http://bugs.gentoo.org/>... Reading symbols from /usr/bin/gdk-pixbuf-query-loaders...Reading symbols from /usr/lib64/debug/usr/bin/gdk-pixbuf-query-loaders.debug...(no debugging symbols found)...done. (no debugging symbols found)...done. (gdb) run Starting program: /usr/bin/gdk-pixbuf-query-loaders warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x00007ffff740d1e6 in __strcmp_sse42 () from /lib64/libc.so.6 (gdb) bt #0 0x00007ffff740d1e6 in __strcmp_sse42 () from /lib64/libc.so.6 #1 0x00007ffff78e8f29 in g_str_equal () from /usr/lib64/libglib-2.0.so.0 #2 0x00007ffff78e865f in g_hash_table_lookup () from /usr/lib64/libglib-2.0.so.0 #3 0x00007ffff79078ef in g_quark_from_static_string () from /usr/lib64/libglib-2.0.so.0 #4 0x00007ffff687b57c in gobject_init_ctor () from /usr/lib64/libgobject-2.0.so.0 #5 0x00007ffff7de9736 in call_init () from /lib64/ld-linux-x86-64.so.2 #6 0x00007ffff7de981a in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2 #7 0x00007ffff7deda42 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2 #8 0x00007ffff7de9576 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 #9 0x00007ffff7ded26c in _dl_open () from /lib64/ld-linux-x86-64.so.2 #10 0x00007ffff70ec026 in dlopen_doit () from /lib64/libdl.so.2 #11 0x00007ffff7de9576 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 #12 0x00007ffff70ec5dc in _dlerror_run () from /lib64/libdl.so.2 #13 0x00007ffff70ec0c1 in dlopen () from /lib64/libdl.so.2 #14 0x00007ffff7bd8861 in g_module_open () from /usr/lib64/libgmodule-2.0.so.0 #15 0x0000000000401170 in query_module () #16 0x0000000000400f3b in main () (gdb) I then try /usr/bin/gdk-pixbuf-query-loaders from outside the chroot, in the build directory where it failed in the chroot: argus ~ # cd /h/argus/6/ghchead/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4/gdk-pixbuf-loader/ argus gdk-pixbuf-loader # pwd /h/argus/6/ghchead/var/tmp/portage/gnome-base/librsvg-2.36.4/work/librsvg-2.36.4/gdk-pixbuf-loader argus gdk-pixbuf-loader # gdb /usr/bin/gdk-pixbuf-query-loaders GNU gdb (Gentoo 7.5.1 p1) 7.5.1 Copyright (C) 2012 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-pc-linux-gnu". For bug reporting instructions, please see: <http://bugs.gentoo.org/>... Reading symbols from /usr/bin/gdk-pixbuf-query-loaders...Reading symbols from /h/argus/3/root/usr/lib64/debug/usr/bin/gdk-pixbuf-query-loaders.debug...done. done. (gdb) run Starting program: /usr/bin/gdk-pixbuf-query-loaders warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". warning: the debug information found in "/h/argus/3/root/usr/lib64/debug//lib64/libm-2.15.so.debug" does not match "/lib64/libm.so.6" (CRC mismatch). warning: the debug information found in "/h/argus/3/root/usr/lib64/debug/lib64/libm-2.15.so.debug" does not match "/lib64/libm.so.6" (CRC mismatch). Program received signal SIGSEGV, Segmentation fault. __strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:163 163 movdqu (%rdi), %xmm1 (gdb) bt #0 __strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:163 #1 0x00007ffff78e8f29 in g_str_equal (v1=<optimized out>, v2=<optimized out>) at ghash.c:1706 #2 0x00007ffff78e865f in g_hash_table_lookup_node (hash_return=<synthetic pointer>, key=0x7ffff665ef5a, hash_table=0x614c00) at ghash.c:386 #3 g_hash_table_lookup (hash_table=0x614c00, key=key@entry=0x7ffff665ef5a) at ghash.c:1076 #4 0x00007ffff79078ef in quark_from_string (duplicate=0, string=0x7ffff665ef5a "-g-type-private--GTypeFlags") at gquark.c:173 #5 g_quark_from_static_string (string=string@entry=0x7ffff665ef5a "-g-type-private--GTypeFlags") at gquark.c:239 #6 0x00007ffff662a57c in gobject_init_ctor () at gtype.c:4360 #7 0x00007ffff7de9736 in call_init (env=0x7fffffffda18, argv=0x7fffffffda08, argc=1, l=<optimized out>) at dl-init.c:85 #8 call_init (l=<optimized out>, argc=1, argv=0x7fffffffda08, env=0x7fffffffda18) at dl-init.c:35 #9 0x00007ffff7de981a in _dl_init (main_map=main_map@entry=0x60f9a0, argc=1, argv=0x7fffffffda08, env=0x7fffffffda18) at dl-init.c:134 #10 0x00007ffff7deda42 in dl_open_worker (a=a@entry=0x7fffffffd580) at dl-open.c:549 #11 0x00007ffff7de9576 in _dl_catch_error (objname=objname@entry=0x7fffffffd570, errstring=errstring@entry=0x7fffffffd578, mallocedp=mallocedp@entry=0x7fffffffd56f, operate=operate@entry=0x7ffff7ded6d0 <dl_open_worker>, args=args@entry=0x7fffffffd580) at dl-error.c:178 #12 0x00007ffff7ded26c in _dl_open (file=0x604630 "/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so", mode=-2147483390, caller_dlopen=<optimized out>, nsid=-2, argc=1, argv=0x7fffffffda08, env=0x7fffffffda18) at dl-open.c:639 #13 0x00007ffff70ec026 in dlopen_doit (a=a@entry=0x7fffffffd790) at dlopen.c:67 #14 0x00007ffff7de9576 in _dl_catch_error (objname=0x603de0, errstring=0x603de8, mallocedp=0x603dd8, operate=0x7ffff70ebfc0 <dlopen_doit>, args=0x7fffffffd790) at dl-error.c:178 #15 0x00007ffff70ec5dc in _dlerror_run (operate=operate@entry=0x7ffff70ebfc0 <dlopen_doit>, args=args@entry=0x7fffffffd790) at dlerror.c:164 #16 0x00007ffff70ec0c1 in __dlopen (file=file@entry=0x604630 "/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so", mode=mode@entry=258) at dlopen.c:88 #17 0x00007ffff7bd8861 in _g_module_open (bind_local=0, bind_lazy=0, file_name=0x604630 "/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so") at gmodule-dl.c:99 #18 g_module_open (file_name=file_name@entry=0x6341a0 "/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so", flags=flags@entry=0) at gmodule.c:584 #19 0x0000000000401170 in query_module (contents=contents@entry=0x603e00, dir=dir@entry=0x401800 "/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders", file=file@entry=0x60493b "libpixbufloader-jpeg.so") at queryloaders.c:166 #20 0x0000000000400f3b in main (argc=<optimized out>, argv=0x7fffffffda08) at queryloaders.c:354 (gdb) It seems I managed to build gnome-base/librsvg-2.36.4 earlier outside the chroot: argus gdk-pixbuf-loader # fquery b /usr/bin/gdk-pixbuf-query-loaders x11-libs/gdk-pixbuf-2.26.4 (/usr/bin/gdk-pixbuf-query-loaders) argus gdk-pixbuf-loader # fquery u gnome-base/librsvg USE flags for gnome-base/librsvg-2.36.4 +gtk : << no description >> +introspection : << no description >> tools : Build miscellaneous tools vala : Enable bindings for dev-lang/vala argus gdk-pixbuf-loader # Trying to track this down with google, I find these pages in this order: A similar stack trace to mine: http://people.ubuntu.com/~ricotz/log/gdk-pixbug-glib-2.35.log So search for that url as a string, finds: http://irclogs.ubuntu.com/2012/10/29/%23ubuntu-desktop.txt The commit pointed to by the irc log: http://git.gnome.org/browse/gdk-pixbuf/commit/?id=3a0531d84af702e4c8aed7801d9455cc95f3cb4a Which also refers to this bug: https://bugzilla.gnome.org/show_bug.cgi?id=686822 I unmasked and built x11-libs/gdk-pixbuf-2.28.0 Then gnome-base/librsvg-2.36.4 builds fine. (In reply to comment #3) > I unmasked and built x11-libs/gdk-pixbuf-2.28.0 > Then gnome-base/librsvg-2.36.4 builds fine. thanks for pointing this out: I decided to unmask gdk-pixbuf-2.27.2 instead and librsvg does build fine indeed. Please attach the complete build log to the bug in the future, thank you. Could this be fixed by stabilizing x11-libs/gdk-pixbuf-2.28.2 and making =gnome-base/librsvg-2.36.4 depend on >=x11-libs/gdk-pixbuf-2.28.0? *** Bug 479324 has been marked as a duplicate of this bug. *** Looks like stabilizing a more recent version is the way to go. Has anyone tried 2.26.5? It worked ok for me while I was running stable gnome 2.32 and would be a good stabilization candidate, but I don't know if it includes the fix The problem if 2.28 is that it depends in more stuff that hasn't been tested with current gnome 2.32 stable. Is this the fix? https://git.gnome.org/browse/gdk-pixbuf/commit/?id=3a0531d84af702e4c8aed7801d9455cc95f3cb4a In that case, it looks easy to backport for 2.26.5 if it also needs it :/ unmasking gdk-pixbuf-2.26.5 solved the issue for me on amd64 I was able to build gdk-pixbuf and gnome-base/librsvg (In reply to thex1le from comment #10) > unmasking gdk-pixbuf-2.26.5 solved the issue for me on amd64 > I was able to build gdk-pixbuf and gnome-base/librsvg bleh, it also needs newer glib :S Fixed version is already going to stable |