Bug#920205: gimp: Hangs at startup trying to show toolbox window
Matthew Gabeler-Lee
cheetah at fastcat.org
Tue Jan 22 17:44:10 GMT 2019
Package: gimp
Version: 2.10.8-2
Severity: important
After updating from stretch->buster, gimp no longer starts for me.
I took a look at #903514, but it does _not_ appear to be the issue I'm
having: for one, when I first encountered this, I had neither gimp-python
nor any openblas packages installed.
Second, I took a backtrace in GDB, and it does not look at all like the ones
posted to that bug.
I also took a look at #672894, but that is for a much much older version,
and also does not look like my issue.
I tried moving away my gimp config directory, and while that changes the
backtrace, it does not change the behavior.
Here is the last few lines of output (ran with --verbose) and then the main
thread backtrace for the hang when running with a ~/.config/GIMP/... directory:
Starting extension: 'extension-script-fu'
[Detaching after vfork from child process 16833]
INIT: gui_restore_after_callback
Parsing '/home/cheetah/.config/GIMP/2.10/menurc'
Parsing '/home/cheetah/.config/GIMP/2.10/action-history'
Parsing '/home/cheetah/.config/GIMP/2.10/devicerc'
Parsing '/home/cheetah/.config/GIMP/2.10/controllerrc'
loading menu '/usr/share/gimp/2.0/menus/image-menu.xml' for /image-menubar
^C/usr/lib/gimp/2.0/plug-ins/script-fu/script-fu terminated: Interrupt
Thread 1 "gimp" received signal SIGINT, Interrupt.
0x00007ffff69d6b39 in __GI___poll (fds=0x5555560ccb60, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29 ../sysdeps/unix/sysv/linux/poll.c: No such file or directory.
(gdb) bt
#0 0x00007ffff69d6b39 in __GI___poll (fds=0x5555560ccb60, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007ffff6ca2016 in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x5555560ccb60, timeout=<optimized out>, context=0x555555d7b190) at ../../../glib/gmain.c:4221
#2 g_main_context_iterate (context=context at entry=0x555555d7b190, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at ../../../glib/gmain.c:3915
#3 0x00007ffff6ca213c in g_main_context_iteration (context=0x555555d7b190, may_block=1) at ../../../glib/gmain.c:3981
#4 0x00007ffff7c06b01 in gtk_main_iteration () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#5 0x00007ffff7d256c5 in gtk_widget_show_now () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#6 0x0000555555799ad1 in gimp_dialog_factory_dialog_new_internal (factory=factory at entry=0x55555607c6d0, screen=screen at entry=0x555555da69d0, monitor=monitor at entry=0,
context=<optimized out>, ui_manager=ui_manager at entry=0x0, identifier=identifier at entry=0x555558180ba0 "gimp-toolbox-window", view_size=0, return_existing=0, present=1,
create_containers=0) at gimpdialogfactory.c:666
#7 0x0000555555799f14 in gimp_dialog_factory_dialog_new (factory=factory at entry=0x55555607c6d0, screen=screen at entry=0x555555da69d0, monitor=monitor at entry=0, ui_manager=ui_manager at entry=0x0,
identifier=0x555558180ba0 "gimp-toolbox-window", view_size=view_size at entry=0, present=1) at gimpdialogfactory.c:702
#8 0x000055555565fbb2 in dialogs_restore_dialog (factory=0x55555607c6d0, screen=0x555555da69d0, monitor=0, info=<optimized out>) at dialogs.c:473
#9 0x00005555557ec187 in gimp_session_info_restore (info=0x5555562a4a60, factory=0x55555607c6d0, screen=0x555555da69d0, monitor=0) at gimpsessioninfo.c:573
#10 0x000055555579b202 in gimp_dialog_factory_restore (factory=0x55555607c6d0, screen=screen at entry=0x555555da69d0, monitor=monitor at entry=0) at gimpdialogfactory.c:1455
#11 0x000055555562b005 in session_restore (gimp=gimp at entry=0x555555dd2090, screen=0x555555da69d0, monitor=0) at session.c:340
#12 0x0000555555627b05 in gui_restore_after_callback (gimp=0x555555dd2090, status_callback=<optimized out>) at gui.c:714
#13 0x00007ffff6d83c7d in g_closure_invoke (closure=0x5555560f8420, return_value=0x0, n_param_values=2, param_values=0x7fffffffdd80, invocation_hint=0x7fffffffdd00)
at ../../../gobject/gclosure.c:810
#14 0x00007ffff6d96e2e in signal_emit_unlocked_R (node=node at entry=0x555555dcb2c0, detail=detail at entry=0, instance=instance at entry=0x555555dd2090, emission_return=emission_return at entry=0x0,
instance_and_params=instance_and_params at entry=0x7fffffffdd80) at ../../../gobject/gsignal.c:3705
#15 0x00007ffff6da02c2 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args at entry=0x7fffffffdf50)
at ../../../gobject/gsignal.c:3391
#16 0x00007ffff6da090f in g_signal_emit (instance=instance at entry=0x555555dd2090, signal_id=<optimized out>, detail=detail at entry=0) at ../../../gobject/gsignal.c:3447
#17 0x00005555558e13fd in gimp_restore (gimp=gimp at entry=0x555555dd2090, status_callback=status_callback at entry=0x55555562c710 <splash_update>, error=error at entry=0x7fffffffe098) at gimp.c:797
#18 0x0000555555624e03 in app_run (full_prog_name=<optimized out>, filenames=<optimized out>, alternate_system_gimprc=<optimized out>, alternate_gimprc=0x0, session_name=<optimized out>,
batch_interpreter=0x0, batch_commands=0x0, as_new=0, no_interface=0, no_data=0, no_fonts=0, no_splash=0, be_verbose=1, use_shm=1, use_cpu_accel=1, console_messages=0,
use_debug_handler=0, show_playground=0, show_debug_menu=0, stack_trace_mode=GIMP_STACK_TRACE_NEVER, pdb_compat_mode=GIMP_PDB_COMPAT_ON,
backtrace_file=0x555555cbd820 "/home/cheetah/.config/GIMP/2.10/CrashLog/GIMP-crash-1548177808.txt") at app.c:337
#19 0x00005555556245b5 in main (argc=<optimized out>, argv=<optimized out>) at main.c:524
Here's the same with no gimp dir:
#0 0x00007ffff69d6b39 in __GI___poll (fds=0x5555560f8f40, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007ffff6ca2016 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x5555560f8f40, timeout=<optimized out>, context=0x555555d7b190) at ../../../glib/gmain.c:4221
#2 g_main_context_iterate (context=0x555555d7b190, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at ../../../glib/gmain.c:3915
#3 0x00007ffff6ca23a2 in g_main_loop_run (loop=0x555558aa9f90) at ../../../glib/gmain.c:4116
#4 0x0000555555624cb7 in app_run (full_prog_name=<optimized out>, filenames=<optimized out>, alternate_system_gimprc=<optimized out>, alternate_gimprc=<optimized out>,
session_name=<optimized out>, batch_interpreter=0x0, batch_commands=0x0, as_new=0, no_interface=0, no_data=0, no_fonts=0, no_splash=0, be_verbose=1, use_shm=1, use_cpu_accel=1,
console_messages=0, use_debug_handler=0, show_playground=0, show_debug_menu=0, stack_trace_mode=GIMP_STACK_TRACE_NEVER, pdb_compat_mode=GIMP_PDB_COMPAT_ON,
backtrace_file=0x555555cbd820 "/home/cheetah/.config/GIMP/2.10/CrashLog/GIMP-crash-1548178792.txt") at app.c:440
#5 0x00005555556245b5 in main (argc=<optimized out>, argv=<optimized out>) at main.c:524
Note that, if I kill the script-fu process, gimp "notices" this, but it does
not change the hang.
The two file descriptors on which g_main_context_poll is waiting (in either
case) after script-fu dies are an eventfd, and a socket. I can't tell for
sure where the other "end" of that socket goes, but I think it may be just
to another thread within gimp itself? Looking through lsof and
/proc/net/unix and /proc/*/fd/* doesn't find anything that looks like
another end of that socket. The scoket with the next closest inode (+2) is
another fd of the gimp process.
I notice that the "loading menu" line never seems to make it to any other
menu files, and it also doesn't change if I move that menu file (or even all
the menu files) out of the way so it can't find them.
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'testing-debug'), (500, 'stable'), (500, 'oldstable'), (490, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 4.20.0-trunk-amd64 (SMP w/16 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages gimp depends on:
ii gimp-data 2.10.8-2
ii libaa1 1.4p5-45
ii libbabl-0.1-0 0.1.60-2
ii libbz2-1.0 1.0.6-9
ii libc6 2.28-5
ii libcairo2 1.16.0-2
ii libfontconfig1 2.13.1-2
ii libfreetype6 2.9.1-3
ii libgcc1 1:8.2.0-14
ii libgdk-pixbuf2.0-0 2.38.0+dfsg-7
ii libgegl-0.4-0 0.4.12-2
ii libgexiv2-2 0.10.9-1
ii libgimp2.0 2.10.8-2
ii libglib2.0-0 2.58.2-3
ii libgs9 9.26~dfsg-2
ii libgtk2.0-0 2.24.32-3
ii libgudev-1.0-0 232-2
ii libharfbuzz0b 2.3.0-1
ii libheif1 1.3.2-1+b1
ii libilmbase23 2.2.1-2
ii libjpeg62-turbo 1:1.5.2-2+b1
ii liblcms2-2 2.9-3
ii liblzma5 5.2.2-1.3
ii libmng1 1.0.10+dfsg-3.1+b5
ii libmypaint-1.3-0 1.3.0-2
ii libopenexr23 2.2.1-4
ii libopenjp2-7 2.3.0-1.1
ii libpango-1.0-0 1.42.4-6
ii libpangocairo-1.0-0 1.42.4-6
ii libpangoft2-1.0-0 1.42.4-6
ii libpng16-16 1.6.36-2
ii libpoppler-glib8 0.71.0-2
ii librsvg2-2 2.44.10-1
ii libstdc++6 8.2.0-14
ii libtiff5 4.0.10-3
ii libwebp6 0.6.1-2
ii libwebpdemux2 0.6.1-2
ii libwebpmux3 0.6.1-2
ii libwmf0.2-7 0.2.8.4-14
ii libx11-6 2:1.6.7-1
ii libxcursor1 1:1.1.15-2
ii libxext6 2:1.3.3-1+b2
ii libxfixes3 1:5.0.3-1
ii libxmu6 2:1.1.2-2
ii libxpm4 1:3.5.12-1
ii xdg-utils 1.1.3-1
ii zlib1g 1:1.2.11.dfsg-1
Versions of packages gimp recommends:
ii ghostscript 9.26~dfsg-2
Versions of packages gimp suggests:
ii gimp-data-extras 1:2.0.2-1
ii gimp-help-en [gimp-help] 2.8.2-1
ii gimp-python 2.10.8-2
pn gvfs-backends <none>
ii libasound2 1.1.7-2
-- no debconf information
More information about the pkg-gnome-maintainers
mailing list