| Summary: | gimp 2.0.4 segfaults on startup | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Mart Tõnso <mart.tonso> |
| Component: | New packages | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
| Status: | RESOLVED NEEDINFO | ||
| Severity: | major | CC: | gentoo, henrik |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Mart Tõnso
2005-01-12 10:26:02 UTC
Ok, it also outputs a warning message: (script-fu:8923): LibGimpBase-WARNING **: script-fu: wire_read(): error Please attach the full backtrace. 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$
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. This is a bit better already :) Seems that glibc strstr() doesn't like ISO-8859-1 letter ' 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
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 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)
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
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. 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. does this still happen with 2.2.6-r1 ? closing, no reponse from reporter. most likely resolved in 2.2.6. |