Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 190756 - media-gfx/gthumb-2.8.1 - double free or corruption on clicking Close on titlebar
Summary: media-gfx/gthumb-2.8.1 - double free or corruption on clicking Close on titlebar
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: http://bugzilla.gnome.org/show_bug.cg...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-30 08:19 UTC by Kazankov Alexander
Modified: 2008-09-27 09:40 UTC (History)
0 users

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


Attachments
error log (gthumb-2.8.1.log,6.52 KB, text/plain)
2007-08-30 08:20 UTC, Kazankov Alexander
Details
backtraces in gdb (gthumb.log,4.41 KB, text/plain)
2007-09-13 07:27 UTC, Kazankov Alexander
Details
bt & bt full (bk.txt,408 bytes, text/plain)
2007-09-13 18:22 UTC, Kazankov Alexander
Details
libraries (ldd.txt,4.08 KB, text/plain)
2007-09-14 13:16 UTC, Kazankov Alexander
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kazankov Alexander 2007-08-30 08:19:35 UTC
At me it is established gthumb-2.8.1. At an quit if to press a dagger the appendix falls and to start it again it is impossible. It is necessary to use a command kill. But if to leave using menu File->Exit, all is perfect.

But if I emerge -1 "<gthumb-2.8.1", gthumb Works perfectly.

Reproducible: Always

Steps to Reproduce:
run gthumb
press button Close on titlebar
exit corrupt
Actual Results:  
...
(gthumb:1888): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
*** glibc detected *** gthumb: double free or corruption (!prev): 0x0000555555a6d970 ***
======= Backtrace: =========
/lib/libc.so.6[0x2ac235453760]
/lib/libc.so.6(__libc_free+0x85)[0x2ac2354542a5]
/usr/lib/libglib-2.0.so.0(g_free+0x2e)[0x2ac239cc1103]
...

Expected Results:  
Exit like on menu File->Exit

Portage 2.1.2.2 (selinux/2007.0/amd64/hardened, gcc-3.4.6, glibc-2.5-r4, 2.6.20-hardened-r5 x86_64)
=================================================================
System uname: 2.6.20-hardened-r5 x86_64 Intel(R) Xeon(R) CPU E5345 @ 2.33GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Mon, 30 Jul 2007 01:47:01 +0000
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r6
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe -fforce-addr"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-march=nocona -O2 -pipe -fforce-addr"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks loadpolicy metadata-transfer parallel-fetch sandbox selinux sesandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="ru_RU.UTF-8"
LINGUAS="ru en"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X amd64 berkdb bitmap-fonts bzip2 cli cracklib crypt cups dri gdbm gif glib gnome gpm gtk hardened iconv imlib isdnlog jpeg ldap libg++ midi mudflap ncurses nls nptl nptlonly nsplugin openmp pam pcre perl pic png pppd python readline reflection selinux server session slang spl ssl symlink tcpd tiff truetype truetype-fonts type1-fonts unicode userlocales vnc xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i810 mach64 mga neomagic nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via voodoo"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

and I use fluxbox
Comment 1 Kazankov Alexander 2007-08-30 08:20:25 UTC
Created attachment 129604 [details]
error log
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2007-08-30 14:44:19 UTC
(In reply to comment #0)
> At me it is established gthumb-2.8.1. At an quit if to press a dagger the
> appendix falls and to start it again it is impossible. It is necessary to use a
> command kill. But if to leave using menu File->Exit, all is perfect.

Could you clarify what do you mean by 'dagger' and 'appendix' here?
Comment 3 Kazankov Alexander 2007-08-30 16:09:45 UTC
(In reply to comment #2)
> (In reply to comment #0)
> > At me it is established gthumb-2.8.1. At an quit if to press a dagger the
> > appendix falls and to start it again it is impossible. It is necessary to use a
> > command kill. But if to leave using menu File->Exit, all is perfect.
> 
> Could you clarify what do you mean by 'dagger' and 'appendix' here?
> 

Pressing of button Close on titlebar
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2007-08-30 16:52:52 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > Could you clarify what do you mean by 'dagger' and 'appendix' here?
> Pressing of button Close on titlebar

Oh well, I still don't get what "appendix falls" is, but whatever... 

Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-09-08 17:53:10 UTC
err, never had this but I could only test on x86.
Could you try with version 2.10.6 of gthumb ?
Comment 6 Kazankov Alexander 2007-09-12 18:32:38 UTC
(In reply to comment #5)
> err, never had this but I could only test on x86.
> Could you try with version 2.10.6 of gthumb ?
> 

ACCEPT_KEYWORDS=~amd64 emerge -1 gthumb, update to 2.10.6
...
Same!
back to 2.6.5
Comment 7 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-09-12 22:51:01 UTC
I'm clueless here because it works for me but on the other hand I don't have a selinux/hardened box.
Comment 8 Kazankov Alexander 2007-09-13 07:27:25 UTC
Created attachment 130787 [details]
backtraces in gdb
Comment 9 Kazankov Alexander 2007-09-13 07:47:31 UTC
Comment on attachment 130787 [details]
backtraces in gdb

I have posted a bug into Gnome bugzilla: http://bugzilla.gnome.org/show_bug.cgi?id=476468
Comment 10 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-09-13 08:31:41 UTC
could you also attach the output of "bt full" when in gdb. Meaningful backtrace will require to build packages with split-debug FEATURES and the like. Thanks for the taking the time to pursue this bug.
Comment 11 Kazankov Alexander 2007-09-13 18:22:03 UTC
Created attachment 130859 [details]
bt & bt full

I'm confuse.
I re-emerge USE=debug CFLAGS="${CFLAGS} -g -ggdb" FEATURES="splitdebug nostrip"
ACCEPT_KEYWORDS=~amd64 emerge -1 gthumb
Comment 12 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-09-13 19:09:45 UTC
hum, first you can remove nostrip from FEATURES, it's useless when you have splitdebug. Then you might want to rebuild glibc and gnome-vfs with these cflags and features.

Point is when you want a proper (complete) backtrace you need to the have the whole stack of librairies your program is using to have debug symbols available.
The easiest way to get to this is to have these flags on permanently, but I understand that this might be a little too much just for debugging gthumb for you.

just FYI, it's not too much overhead, just taking up disk space and splitdebug feature makes it so that debug symbols doesn't bloat your day to day use of your programs but just popup when needed (more on that in the relevant documentation).
Comment 13 Kazankov Alexander 2007-09-14 09:42:42 UTC
(In reply to comment #12)
> hum, first you can remove nostrip from FEATURES, it's useless when you have
> splitdebug. Then you might want to rebuild glibc and gnome-vfs with these
> cflags and features.
> 
> Point is when you want a proper (complete) backtrace you need to the have the
> whole stack of librairies your program is using to have debug symbols
> available.
> The easiest way to get to this is to have these flags on permanently, but I
> understand that this might be a little too much just for debugging gthumb for
> you.
> 
> just FYI, it's not too much overhead, just taking up disk space and splitdebug
> feature makes it so that debug symbols doesn't bloat your day to day use of
> your programs but just popup when needed (more on that in the relevant
> documentation).
> 
I re-emerge:
USE=debug CFLAGS="${CFLAGS} -g -ggdb" FEATURES="splitdebug"
ACCEPT_KEYWORDS=~amd64 emerge -1 glibc glib gtk+ gnome-vfs gthumb

but results is same. What's wrong? How to know what libraries it uses?
Comment 14 Kazankov Alexander 2007-09-14 11:42:09 UTC
I've taken advantage of result of the utility ldd and re-emerge libgnome, libgnomeui, libICE, libSM, libbonoboui, libgnomecanvas, even re-emerge fluxbox, but results is same.

How to check up, whether there are debug symbols in a executable file?
Comment 15 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-09-14 12:04:31 UTC
try readelf -d /usr/bin/gthumb |grep DEBUG
Comment 16 Kazankov Alexander 2007-09-14 12:57:16 UTC
(In reply to comment #15)
> try readelf -d /usr/bin/gthumb |grep DEBUG
> 

output:
0x000...0015 (DEBUG) 0x0
Comment 17 Kazankov Alexander 2007-09-14 13:16:24 UTC
Created attachment 130909 [details]
libraries

if I equery b libgmodule-2.0.so.0:

app-emulation/emul-linux-x86-baselibs-10.2
dev-libs/glib-2.12.13

and it is a lot of such libraries.
Comment 18 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-09-14 13:44:44 UTC
Ok, my command was wrong, try this :

$ readelf -W -a  /usr/bin/gthumb|grep -i debug
  [27] .gnu_debuglink    PROGBITS        0000000000000000 0906f4 000014 00      0   0  1
 0x0000000000000015 (DEBUG)              0x0
000000000068bce0  0000038a00000007 R_X86_64_JUMP_SLOT     0000000000000000 debug + 0
   906: 0000000000000000   357 FUNC    GLOBAL DEFAULT  UND debug

anyway, it looks like you have a 64 bits install with 32 bit compatibility stuff installed. I only have either pure 64 bits or pure 32 bits installs. Try rebuilding all those emul libs as well, maybe that'll get us somewhere.
Comment 19 Kazankov Alexander 2007-09-14 17:11:51 UTC
(In reply to comment #18)
> Ok, my command was wrong, try this :
> 
> $ readelf -W -a  /usr/bin/gthumb|grep -i debug
>   [27] .gnu_debuglink    PROGBITS        0000000000000000 0906f4 000014 00     
> 0   0  1
>  0x0000000000000015 (DEBUG)              0x0
> 000000000068bce0  0000038a00000007 R_X86_64_JUMP_SLOT     0000000000000000
> debug + 0
>    906: 0000000000000000   357 FUNC    GLOBAL DEFAULT  UND debug
> 
> anyway, it looks like you have a 64 bits install with 32 bit compatibility
> stuff installed. I only have either pure 64 bits or pure 32 bits installs. Try
> rebuilding all those emul libs as well, maybe that'll get us somewhere.
> 
readelf -W -a /usr/bin/gthumb | grep -i debug
  [26] .gnu_debuglink    PROGBITS        0000000000000000 1c18bb 000014 00      0   0  1
 0x0000000000000015 (DEBUG)              0x0
00000000002b9778  000001fa00000007 R_X86_64_JUMP_SLOT     0000000000000000 debug + 0
   506: 0000000000000000   447 FUNC    GLOBAL DEFAULT  UND debug

Looks equally.

I re-emerge: emerege -1 app-emulation/...

app-emulation/emul-linux-x86-baselibs-10.2
app-emulation/emul-linux-x86-compat-1.0-r3
app-emulation/emul-linux-x86-gtklibs-10.0-r1
app-emulation/emul-linux-x86-xlibs-10.0

result is same. :\
Comment 20 Daniel Gryniewicz (RETIRED) gentoo-dev 2007-09-25 13:10:25 UTC
You may be having problems because splitdebug needs debugedit to be installed for it to work.  Try emerging debugedit, then re-emerging gthumb and it's immediate deps.  You should get files in /usr/src/debug/<category>/<package> that contain debug info.
Comment 21 Kazankov Alexander 2007-09-27 08:29:30 UTC
(In reply to comment #20)
> You may be having problems because splitdebug needs debugedit to be installed
> for it to work.  Try emerging debugedit, then re-emerging gthumb and it's
> immediate deps.  You should get files in /usr/src/debug/<category>/<package>
> that contain debug info.
> 

It has not helped, probably it is necessary re-emerge everything, for example Xorg with splitdebug, but on it I while cannot go.
Comment 22 Samuli Suominen (RETIRED) gentoo-dev 2007-12-23 13:24:12 UTC
See http://bugzilla.gnome.org/show_bug.cgi?id=476468#c4 , same applies here
Comment 23 Kazankov Alexander 2007-12-26 15:20:30 UTC
(In reply to comment #22)
> See http://bugzilla.gnome.org/show_bug.cgi?id=476468#c4 , same applies here
> 

This is my and same bug.
Comment 24 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-09-27 09:40:11 UTC
Ok, a few things to be remembered:

http://www.gentoo.org/proj/en/qa/backtraces.xml

then if the "GLib-GObject-CRITICAL" you have in your backtrace is the first you see, you can try to debug this particular message first with:

G_DEBUG="fatal-criticals" gdb --args gthumb

and see with upstream to fix this message. This might or might not be related to your specific issue but you have to get started somewhere anyway. Hope this helps.