Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 77715 - gimp 2.0.4 segfaults on startup
Summary: gimp 2.0.4 segfaults on startup
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High major (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-12 10:26 UTC by Mart Tõnso
Modified: 2005-05-16 06:09 UTC (History)
2 users (show)

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 Mart Tõnso 2005-01-12 10:26:02 UTC
When i launch gimp-2.0, it shows splash screen, starts loading plugins and crashes with segfault.

gdb backtrace shows:

Program received signal SIGSEGV, Segmentation fault.
0x406b97c3 in strchr () from /lib/libc.so.6
(gdb) bt
#0  0x406b97c3 in strchr () from /lib/libc.so.6
#1  0x082218c7 in file_utils_uri_to_utf8_basename ()

gimp was compiled with following use flags:
media-gfx/gimp-2.0.4  -aalib (-altivec) +debug -doc -gimpprint +jpeg +mmx -mng +png -python +sse -svg +tiff -wmf 0 kB 


emerge info:

Gentoo Base System version 1.4.16
Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r4tmx i686)
=================================================================
System uname: 2.6.10-gentoo-r4tmx i686 Intel(R) Pentium(R) M processor 1.60GHz
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X apm avi berkdb bitmap-fonts cdr crypt cscope dvd encode fam foomaticdb gdbm gif gpm gtk gtk2 i8x0 jpeg libwww mad mikmod mmx motif mp3 mpeg ncurses network nls oggvorbis opengl oss pdflib perl png python qt quicktime readline rtc sdl sse sse2 ssl tiff truetype unicode xml2 xv zlib"
Comment 1 Mart Tõnso 2005-01-12 10:30:38 UTC
Ok, it also outputs a warning message:

(script-fu:8923): LibGimpBase-WARNING **: script-fu: wire_read(): error

Comment 2 Henrik Brix Andersen 2005-01-12 13:42:15 UTC
Please attach the full backtrace.
Comment 3 Mart Tõnso 2005-01-12 22:02:14 UTC
Full gdb output (I'm afraid it is not very useful):

Could you hint what would make it more useful?

Please see below gdb output, I also did an strace on gimp, it has a slightly more interesting output.

When execution was slowed down by strace printing text in terminal, i could read that it is actually crashing on screen:
"starting extensions: extension_script_fu"

And the strace seems to end with loading of "XKeysymDB" file. 

Don't know if it's relevant, but my keyboard config in /etc/X11/xorg.conf is:
    Option "XkbRules"   "xorg"
    Option "XkbModel"   "pc105"
    Option "XkbLayout"  "ee"

My locale is set to LANG=et_EE.UTF8

----------------------------------------------------------------------------
bash-2.05b$ gdb gimp-2.0
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(no debugging symbols found)...Using host libthread_db library "/lib/libthread_d
b.so.1".

(gdb) r
Starting program: /usr/bin/gimp-2.0 
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
Program received signal SIGSEGV, Segmentation fault.
0x406bb423 in strchr () from /lib/libc.so.6
(gdb) bt
#0  0x406bb423 in strchr () from /lib/libc.so.6
#1  0x082218c7 in file_utils_uri_to_utf8_basename ()
(gdb) The program is running.  Exit anyway? (y or n) y

(script-fu:32077): LibGimpBase-WARNING **: script-fu: wire_read(): error
----------------------------------------------------------------------------


Last snippet of strace output:
---------------------------------------------------------------------------
gettimeofday({1105594709, 571938}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN|POLLPRI, revents=POLLIN}], 2, 53) = 1
gettimeofday({1105594709, 572025}, NULL) = 0
read(4, "\0\0\0\v", 4)                  = 4
write(3, "F\4\5\0%\0\300\1\7\0\300\1\0\0\0\0+\1\24\0008\0\4\0\6\0"..., 96) = 96
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1105594709, 572297}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN|POLLPRI}], 2, 0) = 0
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1105594709, 572368}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN|POLLPRI}], 2, 0) = 0
write(3, "5\30\4\0x\4\300\1#\0\300\1+\1\24\0;\3\5\0\30\0\300\1\0"..., 188) = 188
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1105594709, 572563}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN|POLLPRI}], 2, 0) = 0
gettimeofday({1105594709, 572609}, NULL) = 0
stat64("/home/tm/.gimp-2.0/menurc", {st_mode=S_IFREG|0644, st_size=45551, ...}) = 0
open("/home/tm/.gimp-2.0/menurc", O_RDONLY|O_LARGEFILE) = 5
read(5, "; gimp-2.0 GtkAccelMap rc-file  "..., 4000) = 4000
read(5, "th \"<Image>/Layer/Colors/Invert\""..., 4000) = 4000
read(5, "(gtk_accel_path \"<Image>/Layer/C"..., 4000) = 4000
read(5, "l_path \"<Image>/Filters/Light Ef"..., 4000) = 4000
read(5, "h \"<Image>/Filters/Render/Nature"..., 4000) = 4000
read(5, "ack/Select Previous Layer\" \"Page"..., 4000) = 4000
read(5, "Colors/tearoff\" \"\")\n; (gtk_accel"..., 4000) = 4000
read(5, "\n; (gtk_accel_path \"<Toolbox>/Fi"..., 4000) = 4000
read(5, "ccel_path \"<Image>/Image/Transfo"..., 4000) = 4000
read(5, "cel_path \"<Image>/Filters/Noise/"..., 4000) = 4000
read(5, "_accel_path \"<Image>/Layer/Trans"..., 4000) = 4000
read(5, "line...\" \"\")\n; (gtk_accel_path \""..., 4000) = 1551
read(5, "", 4000)                       = 0
close(5)                                = 0
open("/usr/X11R6/lib/X11/XKeysymDB", O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0444, st_size=8298, ...}) = 0
read(5, "! $Xorg: XKeysymDB,v 1.3 2000/08"..., 8298) = 8298
close(5)                                = 0
brk(0x8857000)                          = 0x8857000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---

(script-fu:32026): LibGimpBase-WARNING **: script-fu: wire_read(): error
+++ killed by SIGSEGV +++
bash-2.05b$ 
Comment 4 Henrik Brix Andersen 2005-01-13 00:16:37 UTC
In order to get a useful stack trace you need to emerge gimp with FEATURES="nostrip" USE="debug" CFLAGS="-march=pentium4 -g -ggdb".

If you are still unable to provide a useful stack trace, it might be because the segfault is happening in a library. In that case repeat the above process for that library and retry.
Comment 5 Mart Tõnso 2005-01-13 08:41:21 UTC
This is a bit better already :)

Seems that glibc strstr() doesn't like ISO-8859-1 letter '
Comment 6 Mart Tõnso 2005-01-13 08:41:21 UTC
This is a bit better already :)

Seems that glibc strstr() doesn't like ISO-8859-1 letter 'õ' when expecting UTF8?


Starting program: /usr/bin/gimp-2.0 
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.

(gimp-2.0:2999): Gdk-WARNING **: locale not supported by Xlib

(gimp-2.0:2999): Gdk-WARNING **: can not set locale modifiers

Program received signal SIGSEGV, Segmentation fault.
0x406c837b in strstr () from /lib/libc.so.6
(gdb) bt
#0  0x406c837b in strstr () from /lib/libc.so.6
#1  0x082799d9 in file_utils_uri_to_utf8_basename (
    uri=0x8709f50 "file:///home/tm/Desktop/Kuvat%F5mmis.png")
    at file-utils.c:217
#2  0x080b832e in menus_last_opened_update (container=0x83a1870, unused=0x0, 
    item_factory=0x8846220) at menus.c:485
#3  0x080b809c in menus_last_opened_add (item_factory=0x8846220) at menus.c:39
#4  0x080b9f11 in toolbox_menu_setup (factory=0x8846220, 
    callback_data=0x839dc18) at toolbox-menu.c:298
#5  0x08180011 in gimp_menu_factory_menu_new (factory=0x870f2b0, 
    identifier=0x82b2f42 "<Toolbox>", container_type=143223328, 
    callback_data=0x839dc18, create_tearoff=1) at gimpmenufactory.c:201
#6  0x080995d8 in gui_restore_after_callback (gimp=0x839dc18, 
    status_callback=0x809abaa <splash_update>) at gui.c:355
#7  0x4052c9dc in g_cclosure_marshal_VOID__POINTER ()
   from /usr/lib/libgobject-2.0.so.0
#8  0x0839dc18 in ?? ()
#9  0x0809abaa in splash_destroy () at splash.c:169
Previous frame inner to this frame (corrupt stack?)
(gdb) q
The program is running.  Exit anyway? (y or n) y

(script-fu:3002): LibGimpBase-WARNING **: script-fu: wire_read(): error
Comment 7 Mart Tõnso 2005-01-13 09:23:06 UTC
Silly me. There you go... full backtrace with glib debugging and all...

GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r
Starting program: /usr/bin/gimp-2.0 
Detaching after fork from child process 23503.

Program received signal SIGSEGV, Segmentation fault.
0x406e437b in strstr () from /lib/libc.so.6
(gdb) bt full
#0  0x406e437b in strstr () from /lib/libc.so.6
No symbol table info available.
#1  0x082799d9 in file_utils_uri_to_utf8_basename (uri=0x8709f10 "file:///home/tm/Desktop/Kuvat%F5mmis.png") at file-utils.c:217
	filename = (gchar *) 0x0
	basename = (gchar *) 0x0
#2  0x080b832e in menus_last_opened_update (container=0x83a1830, unused=0x0, item_factory=0x88461b8) at menus.c:485
	uri = (const gchar *) 0x8709f10 "file:///home/tm/Desktop/Kuvat%F5mmis.png"
	filename = (gchar *) 0x0
	basename = (gchar *) 0x406dfc44 "\213\203
Comment 8 Mart Tõnso 2005-01-13 09:23:06 UTC
Silly me. There you go... full backtrace with glib debugging and all...

GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r
Starting program: /usr/bin/gimp-2.0 
Detaching after fork from child process 23503.

Program received signal SIGSEGV, Segmentation fault.
0x406e437b in strstr () from /lib/libc.so.6
(gdb) bt full
#0  0x406e437b in strstr () from /lib/libc.so.6
No symbol table info available.
#1  0x082799d9 in file_utils_uri_to_utf8_basename (uri=0x8709f10 "file:///home/tm/Desktop/Kuvat%F5mmis.png") at file-utils.c:217
	filename = (gchar *) 0x0
	basename = (gchar *) 0x0
#2  0x080b832e in menus_last_opened_update (container=0x83a1830, unused=0x0, item_factory=0x88461b8) at menus.c:485
	uri = (const gchar *) 0x8709f10 "file:///home/tm/Desktop/Kuvat%F5mmis.png"
	filename = (gchar *) 0x0
	basename = (gchar *) 0x406dfc44 "\213\203Ü:"
	imagefile = (GimpImagefile *) 0x8459470
	path_str = (gchar *) 0x88a9e80 "x\0377\bÉ4w@\001"
	widget = (GtkWidget *) 0x88aa530
	num_documents = 3
	i = 0
	n = 10
#3  0x080b809c in menus_last_opened_add (item_factory=0x88461b8) at menus.c:394
	last_opened_entries = (GimpItemFactoryEntry *) 0x88a9bc8
	n_last_opened_entries = 10
	i = 10
#4  0x080b9f11 in toolbox_menu_setup (factory=0x88461b8, callback_data=0x839dbd8) at toolbox-menu.c:298
	reorder_subsubmenus = {0x82b9bac "/Xtns"}
	menu_item = (GtkWidget *) 0x4054e71c
	menu = (GtkWidget *) 0x887d118
	list = (GList *) 0x88461b8
	i = 143107860
	pos = 138009560
#5  0x08180011 in gimp_menu_factory_menu_new (factory=0x870f270, identifier=0x82b2f42 "<Toolbox>", container_type=143223328, callback_data=0x839dbd8, create_tearoff=1)
    at gimpmenufactory.c:201
	item_factory = (GimpItemFactory *) 0x88461b8
	entry = (GimpMenuFactoryEntry *) 0x870f2c8
	list = (GList *) 0x870c668
#6  0x080995d8 in gui_restore_after_callback (gimp=0x839dbd8, status_callback=0x809abaa <splash_update>) at gui.c:355
	gui_config = (GimpGuiConfig *) 0x83a9f40
#7  0x40532f4a in g_cclosure_marshal_VOID__POINTER (closure=0x846ad58, return_value=0x0, n_param_values=2, param_values=0xbffff640, invocation_hint=0xbffff4e8, 
    marshal_data=0x0) at gmarshal.c:601
	callback = 0x8099553 <gui_restore_after_callback>
	cc = (GCClosure *) 0x846ad58
	data1 = 0x839dbd8
	data2 = 0x0
#8  0x40519e5e in g_closure_invoke (closure=0x846ad58, return_value=0x0, n_param_values=2, param_values=0xbffff640, invocation_hint=0xbffff4e8) at gclosure.c:437
	marshal = 0x807f4fc
	marshal_data = 0x0
	in_marshal = 0
#9  0x40531c98 in signal_emit_unlocked_R (node=0x839d768, detail=0, instance=0x839dbd8, emission_return=0x0, instance_and_params=0xbffff640) at gsignal.c:2548
	tmp = (Handler *) 0x83777e8
	handler = (Handler *) 0x83777e8
	accumulator = (SignalAccumulator *) 0x0
	emission = {next = 0x0, instance = 0x839dbd8, ihint = {signal_id = 77, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 4}
	class_closure = (GClosure *) 0x839d720
	hlist = (HandlerList *) 0x847ede8
	handler_list = (Handler *) 0x83777e8
	return_accu = (GValue *) 0x0
	accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {
      v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
	signal_id = 77
	max_sequential_handler_number = 1362
	return_value_altered = 1
#10 0x40530abd in g_signal_emit_valist (instance=0x839dbd8, signal_id=77, detail=0, var_args=0xbffff7d0 "ØÛ9\bL") at gsignal.c:2237
	instance_and_params = (GValue *) 0xbffff640
	stack_values = {{g_type = 138007488, data = {{v_int = 138009560, v_uint = 138009560, v_long = 138009560, v_ulong = 138009560, v_int64 = 138009560, 
        v_uint64 = 138009560, v_float = 5.59298375e-34, v_double = 6.8185782393666265e-316, v_pointer = 0x839dbd8}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, 
        v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}, {g_type = 68, data = {{v_int = 134851498, v_uint = 134851498, v_long = 134851498, 
        v_ulong = 134851498, v_int64 = 134851498, v_uint64 = 134851498, v_float = 4.1428728e-34, v_double = 6.6625492452029567e-316, v_pointer = 0x809abaa}, {
        v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}, {g_type = 0, data = {{v_int = 0, 
        v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 578208374496165888, v_uint64 = 578208374496165888, v_float = 0, v_double = 5.2548341788124774e-270, 
        v_pointer = 0x0}, {v_int = 249997283, v_uint = 249997283, v_long = 249997283, v_ulong = 249997283, v_int64 = -4611695913782040605, 
        v_uint64 = 13835048159927511011, v_float = 5.68610466e-30, v_double = -1.9978027898855479, v_pointer = 0xee6a7e3}}}, {g_type = 1074737152, data = {{v_int = 0, 
        v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 141591584, v_uint = 141591584, 
        v_long = 141591584, v_ulong = 141591584, v_int64 = 141591584, v_uint64 = 141591584, v_float = 7.23776851e-34, v_double = 6.9955537394645111e-316, 
        v_pointer = 0x8708420}}}, {g_type = 138779272, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 608204099673915392, 
        v_uint64 = 608204099673915392, v_float = 0, v_double = 5.0805067023507609e-268, v_pointer = 0x0}, {v_int = 141555744, v_uint = 141555744, v_long = 141555744, 
        v_ulong = 141555744, v_int64 = 3311561340960, v_uint64 = 3311561340960, v_float = 7.22131159e-34, v_double = 1.6361286926643069e-311, 
        v_pointer = 0x86ff820}}}, {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 2988133301878784, v_uint64 = 2988133301878784, 
        v_float = 0, v_double = 1.4763340096524779e-308, v_pointer = 0x0}, {v_int = 33261, v_uint = 33261, v_long = 33261, v_ulong = 33261, v_int64 = 4295000557, 
        v_uint64 = 4295000557, v_float = 4.66085882e-41, v_double = 2.1220122240827186e-314, v_pointer = 0x81ed}}}, {g_type = 0, data = {{v_int = 0, v_uint = 0, 
        v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, 
        v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}, {g_type = 1238, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, 
        v_int64 = 17592186044416, v_uint64 = 17592186044416, v_float = 0, v_double = 8.6916947597937554e-311, v_pointer = 0x0}, {v_int = 8, v_uint = 8, v_long = 8, 
        v_ulong = 8, v_int64 = 8, v_uint64 = 8, v_float = 1.12103877e-44, v_double = 3.9525251667299724e-323, v_pointer = 0x8}}}, {g_type = 1105633846, data = {{
        v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 4748661209920700416, v_uint64 = 4748661209920700416, v_float = 0, v_double = 3037835264, 
        v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 4748661295820046336, v_uint64 = 4748661295820046336, v_float = 0, 
        v_double = 3037876224, v_pointer = 0x0}}}, {g_type = 0, data = {{v_int = 695729, v_uint = 695729, v_long = 695729, v_ulong = 695729, v_int64 = 695729, 
        v_uint64 = 695729, v_float = 9.74923979e-40, v_double = 3.4373579771548462e-318, v_pointer = 0xa9db1}, {v_int = 138779272, v_uint = 138779272, 
        v_long = 138779272, v_ulong = 138779272, v_int64 = 593829428388534920, v_uint64 = 593829428388534920, v_float = 5.94641817e-34, 
        v_double = 5.6229870573091507e-269, v_pointer = 0x8459a88}}}, {g_type = 1080954209, data = {{v_int = 1105633846, v_uint = 1105633846, v_long = 1105633846, 
        v_ulong = 1105633846, v_int64 = 4748661211026334262, v_uint64 = 4748661211026334262, v_float = 28.8292046, v_double = 3037835791.2073011, 
        v_pointer = 0x41e6a236}, {v_int = 1105633866, v_uint = 1105633866, v_long = 1105633866, v_ulong = 1105633866, v_int64 = 310343279178, v_uint64 = 310343279178, 
        v_float = 28.8292427, v_double = 1.5332995265956885e-312, v_pointer = 0x41e6a24a}}}, {g_type = 141555736, data = {{v_int = 1074759368, v_uint = 1074759368, 
        v_long = 1074759368, v_ulong = 1074759368, v_int64 = 4612086928929425096, v_uint64 = 4612086928929425096, v_float = 2.24260139, v_double = 2.1780400280702885, 
        v_pointer = 0x400f86c8}, {v_int = -1073744024, v_uint = 3221223272, v_long = -1073744024, v_ulong = 3221223272, v_int64 = 4645631793888753512, 
        v_uint64 = 4645631793888753512, v_float = -1.99973774, v_double = 393.59393310534369, v_pointer = 0xbffff768}}}, {g_type = 1081638904, data = {{
        v_int = 141603648, v_uint = 141603648, v_long = 141603648, v_ulong = 141603648, v_int64 = 4645631790809133888, v_uint64 = 4645631790809133888, 
        v_float = 7.24330803e-34, v_double = 393.59375804923548, v_pointer = 0x870b340}, {v_int = -1073744040, v_uint = 3221223256, v_long = -1073744040, 
        v_ulong = 3221223256, v_int64 = 4642644163098048344, v_uint64 = 4642644163098048344, v_float = -1.99973583, v_double = 239.88339233392139, 
        v_pointer = 0xbffff758}}}, {g_type = 1081645440, data = {{v_int = 141603648, v_uint = 141603648, v_long = 141603648, v_ulong = 141603648, 
        v_int64 = 4638181654638146368, v_uint64 = 4638181654638146368, v_float = 7.24330803e-34, v_double = 120.52563677793387, v_pointer = 0x870b340}, {v_int = 0, 
        v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 4612086927854665728, v_uint64 = 4612086927854665728, v_float = 0, v_double = 2.17803955078125, 
        v_pointer = 0x0}}}, {g_type = 3221223272, data = {{v_int = 1079545221, v_uint = 1079545221, v_long = 1079545221, v_ulong = 1079545221, 
        v_int64 = 608183038233841029, v_uint64 = 608183038233841029, v_float = 3.38363767, v_double = 5.0578450204782415e-268, v_pointer = 0x40588d85}, {
        v_int = 137235623, v_uint = 137235623, v_long = 137235623, v_ulong = 137235623, v_int64 = -4611695123620819801, v_uint64 = 13835048950088731815, 
        v_float = 5.23760931e-34, v_double = -1.9979782409216484, v_pointer = 0x82e0ca7}}}, {g_type = 136001129, data = {{v_int = 141603648, v_uint = 141603648, 
        v_long = 141603648, v_ulong = 141603648, v_int64 = 608183037295899456, v_uint64 = 608183037295899456, v_float = 7.24330803e-34, 
        v_double = 5.0578440112721536e-268, v_pointer = 0x870b340}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 593697246336253952, 
        v_uint64 = 593697246336253952, v_float = 0, v_double = 5.5340963046032658e-269, v_pointer = 0x0}}}}
	free_me = (GValue *) 0x0
	signal_return_type = 4
	param_values = (GValue *) 0xbffff654
	node = (SignalNode *) 0x839d768
	i = 1
	n_params = 1
#11 0x40530e39 in g_signal_emit (instance=0x839dbd8, signal_id=77, detail=0) at gsignal.c:2281
	var_args = 0xbffff7cc "ª«\t\bØÛ9\bL"
#12 0x081af8f6 in gimp_restore (gimp=0x839dbd8, status_callback=0x809abaa <splash_update>) at gimp.c:913
No locals.
#13 0x08084aad in app_run (full_prog_name=0xbffffab6 "/usr/bin/gimp-2.0", gimp_argc=0, gimp_argv=0xbffff968, alternate_system_gimprc=0x0, alternate_gimprc=0x0, 
    session_name=0x0, batch_cmds=0x839d368, no_interface=0, no_data=0, no_fonts=0, no_splash=0, be_verbose=0, use_shm=1, use_cpu_accel=1, console_messages=0, 
    stack_trace_mode=GIMP_STACK_TRACE_NEVER, pdb_compat_mode=GIMP_PDB_COMPAT_ON) at app_procs.c:222
	update_status_func = 0x809abaa <splash_update>
	gimp = (Gimp *) 0x839dbd8
	loop = (GMainLoop *) 0x839d370
	swap_is_ok = 1
#14 0x08085c75 in main (argc=1, argv=0xbffff964) at main.c:477
	abort_message = (const gchar *) 0x0
	full_prog_name = (gchar *) 0xbffffab6 "/usr/bin/gimp-2.0"
	alternate_system_gimprc = (gchar *) 0x0
	alternate_gimprc = (gchar *) 0x0
	session_name = (gchar *) 0x0
	batch_cmds = (gchar **) 0x839d368
	show_help = 0
	no_interface = 0
	no_data = 0
	no_fonts = 0
	no_splash = 0
	be_verbose = 0
	use_shm = 1
	use_cpu_accel = 1
	console_messages = 0
	use_debug_handler = 0
	stack_trace_mode = GIMP_STACK_TRACE_NEVER
	pdb_compat_mode = GIMP_PDB_COMPAT_ON
	i = 1
	j = -1073743676
(gdb) q
The program is running.  Exit anyway? (y or n) 
Comment 9 Mart Tõnso 2005-01-13 10:09:25 UTC
And now i have compiled glibc  too with debugging options... I would note that haystack is NULL.

#0  0x406e437b in *__GI_strstr (phaystack=0x0, pneedle=0x832360a "/") at ../sysdeps/generic/strstr.c:60
        a = 0
        c = 3221221896
        haystack = (const unsigned char *) 0x0
        needle = (const unsigned char *) 0x832360a "/"
        b = 47
        rneedle = (const unsigned char *) 0x0

Comment 10 Robert Ögren 2005-02-04 17:06:46 UTC
I just got a very similar segfault at startup of GIMP 2.0.4 on Gentoo / amd64.

Program received signal SIGSEGV, Segmentation fault.
0x0000002a974d3460 in strchr () from /lib/libc.so.6
(gdb) bt
##0  0x0000002a974d3460 in strchr () from /lib/libc.so.6
#1  0x00000000005e2666 in file_utils_uri_to_utf8_basename ()
#2  0x0000000000472297 in menus_filters_subdirs_to_top ()
#3  0x0000000000474636 in toolbox_menu_setup ()
#4  0x0000000000516e6d in gimp_menu_factory_menu_new ()

In my case, this was caused by changing to an UTF-8 locale while I had previously used a non-UTF-8 locale with filenames encoded in iso-8859-1. The ~/.gimp-2.0/documents file contained references to previously opened files with non-ASCII characters in the filename and encoded in iso-8859-1. For me the fix was to simply delete the entries that caused problems from the documents file. Then GIMP didn't crash at startup anymore.
Comment 11 Robert Ögren 2005-02-05 17:57:32 UTC
FYI, the problem I experienced doesn't occur in GIMP 2.0.6 or 2.2.3, I just tested. I think this is what fixes it: http://bugzilla.gnome.org/show_bug.cgi?id=153751#c16
http://cvs.gnome.org/viewcvs/gimp/app/file/file-utils.c?r1=1.29&r2=1.29.2.1&diff_format=l

(Is there a reason for not marking GIMP 2.0.6 stable in Portage?)

And just to make it clear to casual readers: I don't know if this is the same problem as the original reporter, Mart, of this bug had, but hopefully it is.
Comment 12 John N. Laliberte (RETIRED) gentoo-dev 2005-05-10 11:02:07 UTC
does this still happen with 2.2.6-r1 ?
Comment 13 John N. Laliberte (RETIRED) gentoo-dev 2005-05-16 06:09:32 UTC
closing, no reponse from reporter.  most likely resolved in 2.2.6.