Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 527082 - media-gfx/geeqie-1.2 - segmentation fault in g_markup_escape_text () from /usr/lib64/libglib-2.0.so.0 while opening any image
Summary: media-gfx/geeqie-1.2 - segmentation fault in g_markup_escape_text () from /us...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Bernard Cafarelli
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-27 14:33 UTC by Tomasz Golinski
Modified: 2014-10-28 09:14 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomasz Golinski 2014-10-27 14:33:51 UTC
After upgrading from geeqie-1.1 I get a segfault on each directory containing any image file. I have seen this behaviour both on amd64 and x86 (with or without previous config/thumbnails). 

Reproducible: Always




Backtrace (I should probably enable more debug to get a meaningful result):

[New Thread 0x7fffed609700 (LWP 29717)]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff66231f8 in g_markup_escape_text () from /usr/lib64/libglib-2.0.so.0
(gdb) bt
#0  0x00007ffff66231f8 in g_markup_escape_text () from /usr/lib64/libglib-2.0.so.0
#1  0x00007ffff79ea151 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#2  0x00007ffff69202d8 in g_object_set_valist () from /usr/lib64/libgobject-2.0.so.0
#3  0x00007ffff6920af7 in g_object_set () from /usr/lib64/libgobject-2.0.so.0
#4  0x00007ffff7996b1d in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#5  0x00007ffff798e8d7 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#6  0x00007ffff6918f78 in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#7  0x00007ffff692a015 in ?? () from /usr/lib64/libgobject-2.0.so.0
#8  0x00007ffff6931c01 in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#9  0x00007ffff6931e9a in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#10 0x00007ffff691d005 in ?? () from /usr/lib64/libgobject-2.0.so.0
#11 0x00007ffff691c91a in ?? () from /usr/lib64/libgobject-2.0.so.0
#12 0x00007ffff6920345 in g_object_set_valist () from /usr/lib64/libgobject-2.0.so.0
#13 0x00007ffff6920af7 in g_object_set () from /usr/lib64/libgobject-2.0.so.0
#14 0x0000000000472162 in ?? ()
#15 0x0000000000466cf9 in ?? ()
#16 0x000000000045b5f2 in ?? ()
#17 0x000000000045c1ab in ?? ()
#18 0x00007ffff6918f78 in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#19 0x00007ffff692a015 in ?? () from /usr/lib64/libgobject-2.0.so.0
#20 0x00007ffff6931c01 in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#21 0x00007ffff6931e9a in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#22 0x000000000045e4e9 in ?? ()
#23 0x00007ffff661eb56 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#24 0x00007ffff661eea8 in ?? () from /usr/lib64/libglib-2.0.so.0
#25 0x00007ffff661f15a in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
#26 0x00007ffff78d64e7 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#27 0x000000000041bf2c in ?? ()
#28 0x00007ffff4a63db5 in __libc_start_main () from /lib64/libc.so.6
#29 0x000000000041c549 in ?? ()

End of the strace:

open("/usr/share/locale/en_US/LC_MESSAGES/exiv2.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/exiv2.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
futex(0x7f8a064951b0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{"\213\5\4\0\206\0\0\4@\0\0\0\0\0\0\0\213\n\20\0\3\0\0\4v\0\0\4\206\0\0\4"..., 4160}, {NULL, 0}, {"", 0}], 3) = 4160
poll([{fd=3, events=POLLIN}], 1, 4294967295) = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\1\10\355\2\224\26\0\0\6\0\0\0\0\0\0\0PZ\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "@\32A\34B\"C+D9EJF^GwH\224I\264J\331L\1M,N[O\215P\300"..., 19056, 0, NULL, NULL) = 19056
recvmsg(3, 0x7fffce25bf70, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(3, 0x7fffce25bf70, 0)           = -1 EAGAIN (Resource temporarily unavailable)
brk(0x1e62000)                          = 0x1e62000
mmap(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f89fde17000
mremap(0x7f89fde17000, 266240, 528384, MREMAP_MAYMOVE) = 0x7f89fdd96000
mremap(0x7f89fdd96000, 528384, 1052672, MREMAP_MAYMOVE) = 0x7f89fdc95000
mremap(0x7f89fdc95000, 1052672, 2101248, MREMAP_MAYMOVE) = 0x7f89fda94000
mremap(0x7f89fda94000, 2101248, 4198400, MREMAP_MAYMOVE) = 0x7f89fd693000
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x1e62000} ---
+++ killed by SIGSEGV +++
Comment 1 Tomasz Golinski 2014-10-27 15:04:03 UTC
I have to correct myself. I previously tested geeqie on 3 machines but two of them via ssh. It turns out now that geeqie crashes only on one machine and if I run geeqie on the other machines directly it runs fine. Problems appear only when running via ssh with display on the one affected computer. Thus it is probably interaction with some other library I have on that one machine. 

Note that posted gdb backtrace and strace are from affected machine.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-27 16:49:04 UTC
Please post your `emerge --info' output in a comment.
Comment 3 Tomasz Golinski 2014-10-27 16:53:19 UTC
USE="exif jpeg lcms tiff xmp -doc -lirc -lua"

emerge --info:

Portage 2.2.14 (python 3.3.5-final-0, default/linux/amd64/13.0/desktop, gcc-4.8.3, glibc-2.19-r1, 3.14.14-gentoo x86_64)
=================================================================
System uname: Linux-3.14.14-gentoo-x86_64-AMD_Athlon-tm-_X4_750K_Quad_Core_Processor-with-gentoo-2.2
KiB Mem:     8118184 total,   1861184 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Mon, 27 Oct 2014 14:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p53
dev-lang/perl:            5.18.2-r2
dev-lang/python:          2.7.7, 3.3.5-r1, 3.4.1
dev-util/cmake:           2.8.12.2-r1
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.13.4
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.6.3, 4.7.3-r1, 4.8.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.13 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo sunrise gamerlay x11 Local
Installed sets: @system
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/init.d /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/xdg"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.vectranet.pl/gentoo/ http://gentoo.mneisen.org/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LANG="pl_PL.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/mnt/fallout/inne/portage"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/portage/local/layman/gamerlay /usr/portage/local/layman/x11 /usr/portage/local"
SYNC="rsync://h/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acoustid acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdda cdr cli consolekit cracklib cups cxx dbus dri dts dvd dvdr emboss emeral encode exif firefox flac fortran gdbm gif gimp glamor gpm gtk gtk3 iconv icu jpeg kpathsea lcms libnotify mad mmx mmxext mng modules mp3 mp4 mpeg multilib musepack musicbrainz ncurses nls nptl offensive ogg opencl opengl openmp opus pam pango pcre pdf png policykit postscript ppds qt3support qt4 readline sane scanner sdl semantic-desktop session smp spell sse sse2 sse3 sse4a ssl ssse3 startup-notification svg system-jpeg system-sqlite tcpd tetex threads tiff truetype udev udisks unicode usb userlocales vaapi vorbis wxwidgets x264 xcb xft xml xmp xv xvid zlib" ABI_X86="64" ALSA_CARDS="intel8x0 emu10k1 virtuoso" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LIRC_DEVICES="serial" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" SANE_BACKENDS="pixma" USERLAND="GNU" VIDEO_CARDS="fglrx radeon r600 nvidia nv nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 4 Bernard Cafarelli gentoo-dev 2014-10-27 22:33:24 UTC
Thanks for the report! I found the corresponding Debian bug report, apparently newer glib versions hide the problem.

Can you try the patch to confirm it fixes the bug for you?
http://anonscm.debian.org/cgit/collab-maint/geeqie.git/commit/?id=4bbf60582fd2072b8a10758af47f9d44ae6121be
https://gitorious.org/geeqie/geeqie/commit/a1afabd3ce740872a857234b91eeb64fcf239f6a

(ebuild has epatch_user support)
Comment 5 Tomasz Golinski 2014-10-27 22:52:40 UTC
Yes, this patch fixes the problem for me. Thanks!
Comment 6 Bernard Cafarelli gentoo-dev 2014-10-28 09:14:40 UTC
Thanks for the confirmation, I added the patch in 1.2-r1