Bug 896590 - gimp segfaults on every exit
Summary: gimp segfaults on every exit
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: gimp
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Nils Philippsen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-01-17 15:12 UTC by Tom London
Modified: 2013-02-21 05:36 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-02-18 06:51:26 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Output of "rpm -qa (3.07 KB, text/plain)
2013-02-05 14:28 UTC, Tom London
no flags Details

Description Tom London 2013-01-17 15:12:31 UTC
Description of problem:
gimp is segfaulting for me on every exit, even immediately exiting after starting it up.

Here is stack traces when running with gdb:

[New Thread 0x7fffe2229700 (LWP 2278)]
[New Thread 0x7fffe1a28700 (LWP 2279)]
[New Thread 0x7fffe1227700 (LWP 2280)]
Detaching after fork from child process 2281.
[New Thread 0x7fffd4336700 (LWP 2282)]

Program received signal SIGSEGV, Segmentation fault.
IA__FcConfigSetCurrent (config=config@entry=0x0) at fccfg.c:428
428	    if (!config->fonts[FcSetSystem])
Missing separate debuginfos, use: debuginfo-install OpenEXR-libs-1.7.1-3.fc19.x86_64 SDL-1.2.15-4.fc19.x86_64 atlas-3.8.4-7.fc19.x86_64 cairo-1.12.10-1.fc19.x86_64 compat-libffi-3.0.10-2.fc19.x86_64 ilmbase-1.0.3-4.fc19.x86_64 libopenraw-0.0.9-2.fc19.x86_64 suitesparse-4.0.2-2.fc19.x86_64
(gdb) set pagination off
(gdb) bt full
#0  IA__FcConfigSetCurrent (config=config@entry=0x0) at fccfg.c:428
        cfg = 0x555556727bc0
#1  0x00005555558d4500 in gimp_fonts_reset (gimp=gimp@entry=0x555555eae000 [Gimp]) at gimp-fonts.c:122
        __PRETTY_FUNCTION__ = "gimp_fonts_reset"
#2  0x0000555555823ba0 in gimp_real_exit (gimp=gimp@entry=0x555555eae000 [Gimp], force=<optimized out>) at gimp.c:737
        __PRETTY_FUNCTION__ = "gimp_real_exit"
#3  0x0000555555821f59 in gimp_marshal_BOOLEAN__BOOLEAN (closure=0x555555e9a220, return_value=0x7fffffffc7c0, n_param_values=<optimized out>, param_values=0x7fffffffc870, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gimpmarshal.c:85
        callback = 0x555555823b10 <gimp_real_exit>
        cc = <optimized out>
        data1 = 0x555555eae000
        data2 = <optimized out>
        v_return = <optimized out>
        __PRETTY_FUNCTION__ = "gimp_marshal_BOOLEAN__BOOLEAN"
#4  0x00007ffff3ec1c40 in g_closure_invoke (closure=closure@entry=0x555555e9a220, return_value=return_value@entry=0x7fffffffc7c0, n_param_values=2, param_values=param_values@entry=0x7fffffffc870, invocation_hint=invocation_hint@entry=0x7fffffffc810) at gclosure.c:777
        marshal = 0x7ffff3ec08a0 <g_type_class_meta_marshal>
        marshal_data = 0xb0
        in_marshal = 0
        real_closure = 0x555555e9a200
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#5  0x00007ffff3ed3c70 in signal_emit_unlocked_R (node=node@entry=0x555555e9a270, detail=detail@entry=0, instance=instance@entry=0x555555eae000, emission_return=emission_return@entry=0x7fffffffc940, instance_and_params=instance_and_params@entry=0x7fffffffc870) at gsignal.c:3605
        accumulator = 0x555555e9a2e0
        emission = {next = 0x7fffffffd260, instance = 0x555555eae000, ihint = {signal_id = 153, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 93825001977088}
        class_closure = 0x555555e9a220
        hlist = 0x555555f57430
        handler_list = <optimized out>
        return_accu = 0x7fffffffc7c0
        accu = {g_type = 20, 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 = 153
        max_sequential_handler_number = 39246
        return_value_altered = 1
#6  0x00007ffff3edb9aa in g_signal_emit_valist (instance=0x555555eae000, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffcac8) at gsignal.c:3325
        return_value = {g_type = 20, 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}}}
        error = 0x0
        rtype = 20
        static_scope = 0
        instance_and_params = 0x7fffffffc870
        signal_return_type = 20
        param_values = 0x7fffffffc888
        node = <optimized out>
        i = <optimized out>
        n_params = 1
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#7  0x00007ffff3edc432 in g_signal_emit (instance=instance@entry=0x555555eae000, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffcba0, reg_save_area = 0x7fffffffcae0}}
#8  0x000055555582506d in gimp_exit (gimp=0x555555eae000 [Gimp], force=0) at gimp.c:1049
        handled = 32767
        __PRETTY_FUNCTION__ = "gimp_exit"
#9  0x00007ffff3ec1c40 in g_closure_invoke (closure=0x555555f637a0, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffcdb0, invocation_hint=invocation_hint@entry=0x7fffffffcd50) at gclosure.c:777
        marshal = 0x7ffff3ec3a70 <g_cclosure_marshal_VOID__VOID>
        marshal_data = 0x0
        in_marshal = 0
        real_closure = 0x555555f63780
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#10 0x00007ffff3ed3ef8 in signal_emit_unlocked_R (node=node@entry=0x555556a11ae0, detail=detail@entry=0, instance=instance@entry=0x5555570b8a30, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffcdb0) at gsignal.c:3567
        tmp = <optimized out>
        handler = 0x5555570ba010
        accumulator = 0x0
        emission = {next = 0x0, instance = 0x5555570b8a30, ihint = {signal_id = 369, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
        class_closure = 0x5555569c6d40
        hlist = 0x5555570ba010
        handler_list = <optimized out>
        return_accu = 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 = 369
        max_sequential_handler_number = 39246
        return_value_altered = 1
#11 0x00007ffff3edc24f in g_signal_emit_valist (instance=0x5555570b8a30, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffcff8) at gsignal.c:3315
        instance_and_params = 0x7fffffffcdb0
        signal_return_type = 4
        param_values = 0x7fffffffcdc8
        node = <optimized out>
        i = <optimized out>
        n_params = 0
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#12 0x00007ffff3edc432 in g_signal_emit (instance=instance@entry=0x5555570b8a30, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffd0d0, reg_save_area = 0x7fffffffd010}}
#13 0x00007ffff74a5908 in _gtk_action_emit_activate (action=0x5555570b8a30 [GimpAction]) at gtkaction.c:795
        group = 0x555555e36490 [GimpActionGroup]
#14 0x00007ffff3ec1c40 in g_closure_invoke (closure=closure@entry=0x555555e81110, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffd2d0, invocation_hint=invocation_hint@entry=0x7fffffffd270) at gclosure.c:777
        marshal = 0x7ffff3ec08a0 <g_type_class_meta_marshal>
        marshal_data = 0x378
        in_marshal = 0
        real_closure = 0x555555e810f0
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#15 0x00007ffff3ed3813 in signal_emit_unlocked_R (node=node@entry=0x555555e811c0, detail=detail@entry=0, instance=instance@entry=0x55555721a2b0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffd2d0) at gsignal.c:3497
        accumulator = 0x0
        emission = {next = 0x7fffffffd860, instance = 0x55555721a2b0, ihint = {signal_id = 98, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 93825013978640}
        class_closure = 0x555555e81110
        hlist = 0x0
        handler_list = <optimized out>
        return_accu = 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 = 98
        max_sequential_handler_number = 39246
        return_value_altered = <optimized out>
#16 0x00007ffff3edc24f in g_signal_emit_valist (instance=0x55555721a2b0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd518) at gsignal.c:3315
        instance_and_params = 0x7fffffffd2d0
        signal_return_type = 4
        param_values = 0x7fffffffd2e8
        node = <optimized out>
        i = <optimized out>
        n_params = 0
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#17 0x00007ffff3edc432 in g_signal_emit (instance=instance@entry=0x55555721a2b0, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffd5f0, reg_save_area = 0x7fffffffd530}}
#18 0x00007ffff76b0edc in IA__gtk_widget_activate (widget=widget@entry=0x55555721a2b0 [GtkImageMenuItem]) at gtkwidget.c:5048
        __PRETTY_FUNCTION__ = "IA__gtk_widget_activate"
#19 0x00007ffff7594e8d in IA__gtk_menu_shell_activate_item (menu_shell=0x555556e13850 [GtkMenu], menu_item=0x55555721a2b0 [GtkImageMenuItem], force_deactivate=<optimized out>) at gtkmenushell.c:1283
        slist = <optimized out>
        shells = 0x555557797b70 = {0x555556e13850, 0x555556f04110}
        deactivate = <optimized out>
        __PRETTY_FUNCTION__ = "IA__gtk_menu_shell_activate_item"
#20 0x00007ffff759528c in gtk_menu_shell_button_release (widget=0x555556e13850 [GtkMenu], event=<optimized out>) at gtkmenushell.c:710
        submenu = 0x0
        menu_item = 0x55555721a2b0 [GtkImageMenuItem]
        deactivate = 1
        menu_shell = 0x555556e13850 [GtkMenu]
        priv = 0x555556e13980
#21 0x00007ffff757e42c in _gtk_marshal_BOOLEAN__BOXED (closure=0x555555e41380, return_value=0x7fffffffd820, n_param_values=<optimized out>, param_values=0x7fffffffd8d0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtkmarshalers.c:86
        callback = 0x7ffff7588310 <gtk_menu_button_release>
        cc = <optimized out>
        data1 = 0x555556e13850
        data2 = 0x555555e4d910
        v_return = <optimized out>
        __PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED"
#22 0x00007ffff3ec1c40 in g_closure_invoke (closure=closure@entry=0x555555e41380, return_value=return_value@entry=0x7fffffffd820, n_param_values=2, param_values=param_values@entry=0x7fffffffd8d0, invocation_hint=invocation_hint@entry=0x7fffffffd870) at gclosure.c:777
        marshal = 0x7ffff3ec08a0 <g_type_class_meta_marshal>
        marshal_data = 0x160
        in_marshal = 0
        real_closure = 0x555555e41360
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#23 0x00007ffff3ed3c70 in signal_emit_unlocked_R (node=node@entry=0x555555e413b0, detail=detail@entry=0, instance=instance@entry=0x555556e13850, emission_return=emission_return@entry=0x7fffffffd9a0, instance_and_params=instance_and_params@entry=0x7fffffffd8d0) at gsignal.c:3605
        accumulator = 0x555555e41420
        emission = {next = 0x0, instance = 0x555556e13850, ihint = {signal_id = 38, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 93825001854640}
        class_closure = 0x555555e41380
        hlist = 0x0
        handler_list = <optimized out>
        return_accu = 0x7fffffffd820
        accu = {g_type = 20, 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 = 38
        max_sequential_handler_number = 39246
        return_value_altered = 0
#24 0x00007ffff3edb9aa in g_signal_emit_valist (instance=0x555556e13850, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffdb28) at gsignal.c:3325
        return_value = {g_type = 20, 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}}}
        error = 0x0
        rtype = 20
        static_scope = 0
        instance_and_params = 0x7fffffffd8d0
        signal_return_type = 20
        param_values = 0x7fffffffd8e8
        node = <optimized out>
        i = <optimized out>
        n_params = 1
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#25 0x00007ffff3edc432 in g_signal_emit (instance=instance@entry=0x555556e13850, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffdc00, reg_save_area = 0x7fffffffdb40}}
#26 0x00007ffff76b1e8e in gtk_widget_event_internal (widget=widget@entry=0x555556e13850 [GtkMenu], event=event@entry=0x555557528100) at gtkwidget.c:5017
        signal_num = <optimized out>
        return_val = 0
#27 0x00007ffff76b2209 in IA__gtk_widget_event (widget=widget@entry=0x555556e13850 [GtkMenu], event=event@entry=0x555557528100) at gtkwidget.c:4814
        __PRETTY_FUNCTION__ = "IA__gtk_widget_event"
#28 0x00007ffff757c1f4 in IA__gtk_propagate_event (widget=0x555556e13850 [GtkMenu], event=0x555557528100) at gtkmain.c:2490
        tmp = <optimized out>
        handled_event = <optimized out>
        __PRETTY_FUNCTION__ = "IA__gtk_propagate_event"
#29 0x00007ffff757c55b in IA__gtk_main_do_event (event=0x555557528100) at gtkmain.c:1685
        event_widget = <optimized out>
        grab_widget = 0x55555721a2b0 [GtkImageMenuItem]
        window_group = <optimized out>
        rewritten_event = <optimized out>
        tmp_list = <optimized out>
        __PRETTY_FUNCTION__ = "IA__gtk_main_do_event"
#30 0x00007ffff71d3c7c in gdk_event_dispatch (source=source@entry=0x555555e47040, callback=<optimized out>, user_data=<optimized out>) at gdkevents-x11.c:2403
        display = <optimized out>
        event = 0x555557528100
#31 0x00007ffff39d2345 in g_main_dispatch (context=0x555555e47130) at gmain.c:2784
        dispatch = 0x7ffff71d3c30 <gdk_event_dispatch>
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        current_source_link = {data = 0x555555e47040, next = 0x0}
        need_destroy = <optimized out>
        source = 0x555555e47040
        current = 0x555555e9ce00
        i = 0
#32 g_main_context_dispatch (context=context@entry=0x555555e47130) at gmain.c:3288
No locals.
#33 0x00007ffff39d2688 in g_main_context_iterate (context=0x555555e47130, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3359
        max_priority = 2147483647
        timeout = -1
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = <optimized out>
        fds = 0x555556826c80
#34 0x00007ffff39d2ae2 in g_main_loop_run (loop=0x55555769a900) at gmain.c:3553
        __PRETTY_FUNCTION__ = "g_main_loop_run"
#35 0x000055555560b228 in app_run (full_prog_name=<optimized out>, filenames=<optimized out>, alternate_system_gimprc=0x0, 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=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) at app.c:256
        update_status_func = <optimized out>
        gimp = 0x555555eae000 [Gimp]
        config = 0x555555ec8290 [GimpRc]
        loop = 0x55555769a900
        swap_is_ok = 1
#36 0x000055555560ace6 in main (argc=1, argv=0x7fffffffe008) at main.c:440
        context = 0x555555dc1230
        error = 0x0
        abort_message = <optimized out>
        basename = <optimized out>
        i = <optimized out>
(gdb) thread apply all bt full

Thread 5 (Thread 0x7fffd4336700 (LWP 2282)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
No locals.
#1  0x00007ffff3a11e25 in g_cond_wait_until (cond=cond@entry=0x7fffdc002e68, mutex=mutex@entry=0x7fffdc002e60, end_time=end_time@entry=1327159142) at gthread-posix.c:859
        ts = {tv_sec = 1327, tv_nsec = 159142000}
        status = <optimized out>
#2  0x00007ffff39a8951 in g_async_queue_pop_intern_unlocked (queue=queue@entry=0x7fffdc002e60, wait=wait@entry=1, end_time=end_time@entry=1327159142) at gasyncqueue.c:424
        retval = <optimized out>
        __PRETTY_FUNCTION__ = "g_async_queue_pop_intern_unlocked"
#3  0x00007ffff39a8f9a in g_async_queue_timeout_pop (queue=0x7fffdc002e60, timeout=timeout@entry=15000000) at gasyncqueue.c:545
        end_time = 1327159142
        retval = <optimized out>
#4  0x00007ffff39f6b82 in g_thread_pool_wait_for_new_pool () at gthreadpool.c:169
        pool = <optimized out>
        local_max_idle_time = 15000
        local_wakeup_thread_serial = <optimized out>
        local_max_unused_threads = 2
        last_wakeup_thread_serial = 0
        have_relayed_thread_marker = <optimized out>
#5  g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:366
        free_pool = <optimized out>
        task = 0x2
        pool = <optimized out>
#6  0x00007ffff39f6385 in g_thread_proxy (data=0x55555769d000) at gthread.c:798
        thread = 0x55555769d000
#7  0x00007ffff3775d15 in start_thread (arg=0x7fffd4336700) at pthread_create.c:308
        __res = <optimized out>
        pd = 0x7fffd4336700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736753526528, -1608830635868594848, 1, 140737354125312, 140736753526528, 140736884399440, 1608877334015335776, 1608822873825697120}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
#8  0x00007ffff34a4c4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.

Thread 4 (Thread 0x7fffe1227700 (LWP 2280)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00007ffff3a11d2f in g_cond_wait (cond=cond@entry=0x555555ecbe08, mutex=mutex@entry=0x555555ecbe00) at gthread-posix.c:750
        _g_boolean_var_ = <optimized out>
        status = <optimized out>
#2  0x00007ffff39a896b in g_async_queue_pop_intern_unlocked (queue=0x555555ecbe00, wait=wait@entry=1, end_time=end_time@entry=-1) at gasyncqueue.c:421
        retval = <optimized out>
        __PRETTY_FUNCTION__ = "g_async_queue_pop_intern_unlocked"
#3  0x00007ffff39a8e76 in g_async_queue_pop_unlocked (queue=<optimized out>) at gasyncqueue.c:477
        __PRETTY_FUNCTION__ = "g_async_queue_pop_unlocked"
#4  0x00007ffff39f6bfd in g_thread_pool_wait_for_new_task (pool=0x555555ecbe70) at gthreadpool.c:247
        task = <optimized out>
#5  g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:298
        task = 0x0
        pool = 0x555555ecbe70
#6  0x00007ffff39f6385 in g_thread_proxy (data=0x555555ecb0a0) at gthread.c:798
        thread = 0x555555ecb0a0
#7  0x00007ffff3775d15 in start_thread (arg=0x7fffe1227700) at pthread_create.c:308
        __res = <optimized out>
        pd = 0x7fffe1227700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736970520320, -1608830635868594848, 1, 140737354125312, 140736970520320, 93825002159728, 1608782647703199072, 1608822873825697120}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
#8  0x00007ffff34a4c4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.

Thread 3 (Thread 0x7fffe1a28700 (LWP 2279)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00007ffff3a11d2f in g_cond_wait (cond=cond@entry=0x555555ecbe08, mutex=mutex@entry=0x555555ecbe00) at gthread-posix.c:750
        _g_boolean_var_ = <optimized out>
        status = <optimized out>
#2  0x00007ffff39a896b in g_async_queue_pop_intern_unlocked (queue=0x555555ecbe00, wait=wait@entry=1, end_time=end_time@entry=-1) at gasyncqueue.c:421
        retval = <optimized out>
        __PRETTY_FUNCTION__ = "g_async_queue_pop_intern_unlocked"
#3  0x00007ffff39a8e76 in g_async_queue_pop_unlocked (queue=<optimized out>) at gasyncqueue.c:477
        __PRETTY_FUNCTION__ = "g_async_queue_pop_unlocked"
#4  0x00007ffff39f6bfd in g_thread_pool_wait_for_new_task (pool=0x555555ecbe70) at gthreadpool.c:247
        task = <optimized out>
#5  g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:298
        task = 0x0
        pool = 0x555555ecbe70
#6  0x00007ffff39f6385 in g_thread_proxy (data=0x555555ecb050) at gthread.c:798
        thread = 0x555555ecb050
#7  0x00007ffff3775d15 in start_thread (arg=0x7fffe1a28700) at pthread_create.c:308
        __res = <optimized out>
        pd = 0x7fffe1a28700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736978913024, -1608830635868594848, 1, 140737354125312, 140736978913024, 93825002159728, 1608781548728442208, 1608822873825697120}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
#8  0x00007ffff34a4c4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.

Thread 2 (Thread 0x7fffe2229700 (LWP 2278)):
#0  0x00007ffff349b3ed in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff39d261c in g_main_context_poll (priority=2147483647, n_fds=3, fds=0x7fffdc0010c0, timeout=-1, context=0x555555e9ff90) at gmain.c:3653
        poll_func = 0x7ffff39e0920 <g_poll>
#2  g_main_context_iterate (context=0x555555e9ff90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3354
        max_priority = 2147483647
        timeout = -1
        some_ready = <optimized out>
        nfds = 3
        allocated_nfds = <optimized out>
        fds = 0x7fffdc0010c0
#3  0x00007ffff39d2ae2 in g_main_loop_run (loop=0x555555e9ff20) at gmain.c:3553
        __PRETTY_FUNCTION__ = "g_main_loop_run"
#4  0x00007ffff471a616 in gdbus_shared_thread_func (user_data=0x555555e9ff60) at gdbusprivate.c:277
        data = 0x555555e9ff60
#5  0x00007ffff39f6385 in g_thread_proxy (data=0x555555ea0c50) at gthread.c:798
        thread = 0x555555ea0c50
#6  0x00007ffff3775d15 in start_thread (arg=0x7fffe2229700) at pthread_create.c:308
        __res = <optimized out>
        pd = 0x7fffe2229700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736987305728, -1608830635868594848, 1, 140737354125312, 140736987305728, 93825001979744, 1608784843505229152, 1608822873825697120}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
#7  0x00007ffff34a4c4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.

Thread 1 (Thread 0x7ffff7fb19c0 (LWP 2274)):
#0  IA__FcConfigSetCurrent (config=config@entry=0x0) at fccfg.c:428
        cfg = 0x555556727bc0
#1  0x00005555558d4500 in gimp_fonts_reset (gimp=gimp@entry=0x555555eae000 [Gimp]) at gimp-fonts.c:122
        __PRETTY_FUNCTION__ = "gimp_fonts_reset"
#2  0x0000555555823ba0 in gimp_real_exit (gimp=gimp@entry=0x555555eae000 [Gimp], force=<optimized out>) at gimp.c:737
        __PRETTY_FUNCTION__ = "gimp_real_exit"
#3  0x0000555555821f59 in gimp_marshal_BOOLEAN__BOOLEAN (closure=0x555555e9a220, return_value=0x7fffffffc7c0, n_param_values=<optimized out>, param_values=0x7fffffffc870, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gimpmarshal.c:85
        callback = 0x555555823b10 <gimp_real_exit>
        cc = <optimized out>
        data1 = 0x555555eae000
        data2 = <optimized out>
        v_return = <optimized out>
        __PRETTY_FUNCTION__ = "gimp_marshal_BOOLEAN__BOOLEAN"
#4  0x00007ffff3ec1c40 in g_closure_invoke (closure=closure@entry=0x555555e9a220, return_value=return_value@entry=0x7fffffffc7c0, n_param_values=2, param_values=param_values@entry=0x7fffffffc870, invocation_hint=invocation_hint@entry=0x7fffffffc810) at gclosure.c:777
        marshal = 0x7ffff3ec08a0 <g_type_class_meta_marshal>
        marshal_data = 0xb0
        in_marshal = 0
        real_closure = 0x555555e9a200
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#5  0x00007ffff3ed3c70 in signal_emit_unlocked_R (node=node@entry=0x555555e9a270, detail=detail@entry=0, instance=instance@entry=0x555555eae000, emission_return=emission_return@entry=0x7fffffffc940, instance_and_params=instance_and_params@entry=0x7fffffffc870) at gsignal.c:3605
        accumulator = 0x555555e9a2e0
        emission = {next = 0x7fffffffd260, instance = 0x555555eae000, ihint = {signal_id = 153, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 93825001977088}
        class_closure = 0x555555e9a220
        hlist = 0x555555f57430
        handler_list = <optimized out>
        return_accu = 0x7fffffffc7c0
        accu = {g_type = 20, 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 = 153
        max_sequential_handler_number = 39246
        return_value_altered = 1
#6  0x00007ffff3edb9aa in g_signal_emit_valist (instance=0x555555eae000, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffcac8) at gsignal.c:3325
        return_value = {g_type = 20, 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}}}
        error = 0x0
        rtype = 20
        static_scope = 0
        instance_and_params = 0x7fffffffc870
        signal_return_type = 20
        param_values = 0x7fffffffc888
        node = <optimized out>
        i = <optimized out>
        n_params = 1
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#7  0x00007ffff3edc432 in g_signal_emit (instance=instance@entry=0x555555eae000, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffcba0, reg_save_area = 0x7fffffffcae0}}
#8  0x000055555582506d in gimp_exit (gimp=0x555555eae000 [Gimp], force=0) at gimp.c:1049
        handled = 32767
        __PRETTY_FUNCTION__ = "gimp_exit"
#9  0x00007ffff3ec1c40 in g_closure_invoke (closure=0x555555f637a0, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffcdb0, invocation_hint=invocation_hint@entry=0x7fffffffcd50) at gclosure.c:777
        marshal = 0x7ffff3ec3a70 <g_cclosure_marshal_VOID__VOID>
        marshal_data = 0x0
        in_marshal = 0
        real_closure = 0x555555f63780
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#10 0x00007ffff3ed3ef8 in signal_emit_unlocked_R (node=node@entry=0x555556a11ae0, detail=detail@entry=0, instance=instance@entry=0x5555570b8a30, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffcdb0) at gsignal.c:3567
        tmp = <optimized out>
        handler = 0x5555570ba010
        accumulator = 0x0
        emission = {next = 0x0, instance = 0x5555570b8a30, ihint = {signal_id = 369, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
        class_closure = 0x5555569c6d40
        hlist = 0x5555570ba010
        handler_list = <optimized out>
        return_accu = 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 = 369
        max_sequential_handler_number = 39246
        return_value_altered = 1
#11 0x00007ffff3edc24f in g_signal_emit_valist (instance=0x5555570b8a30, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffcff8) at gsignal.c:3315
        instance_and_params = 0x7fffffffcdb0
        signal_return_type = 4
        param_values = 0x7fffffffcdc8
        node = <optimized out>
        i = <optimized out>
        n_params = 0
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#12 0x00007ffff3edc432 in g_signal_emit (instance=instance@entry=0x5555570b8a30, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffd0d0, reg_save_area = 0x7fffffffd010}}
#13 0x00007ffff74a5908 in _gtk_action_emit_activate (action=0x5555570b8a30 [GimpAction]) at gtkaction.c:795
        group = 0x555555e36490 [GimpActionGroup]
#14 0x00007ffff3ec1c40 in g_closure_invoke (closure=closure@entry=0x555555e81110, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffd2d0, invocation_hint=invocation_hint@entry=0x7fffffffd270) at gclosure.c:777
        marshal = 0x7ffff3ec08a0 <g_type_class_meta_marshal>
        marshal_data = 0x378
        in_marshal = 0
        real_closure = 0x555555e810f0
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#15 0x00007ffff3ed3813 in signal_emit_unlocked_R (node=node@entry=0x555555e811c0, detail=detail@entry=0, instance=instance@entry=0x55555721a2b0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffd2d0) at gsignal.c:3497
        accumulator = 0x0
        emission = {next = 0x7fffffffd860, instance = 0x55555721a2b0, ihint = {signal_id = 98, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 93825013978640}
        class_closure = 0x555555e81110
        hlist = 0x0
        handler_list = <optimized out>
        return_accu = 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 = 98
        max_sequential_handler_number = 39246
        return_value_altered = <optimized out>
#16 0x00007ffff3edc24f in g_signal_emit_valist (instance=0x55555721a2b0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd518) at gsignal.c:3315
        instance_and_params = 0x7fffffffd2d0
        signal_return_type = 4
        param_values = 0x7fffffffd2e8
        node = <optimized out>
        i = <optimized out>
        n_params = 0
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#17 0x00007ffff3edc432 in g_signal_emit (instance=instance@entry=0x55555721a2b0, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffd5f0, reg_save_area = 0x7fffffffd530}}
#18 0x00007ffff76b0edc in IA__gtk_widget_activate (widget=widget@entry=0x55555721a2b0 [GtkImageMenuItem]) at gtkwidget.c:5048
        __PRETTY_FUNCTION__ = "IA__gtk_widget_activate"
#19 0x00007ffff7594e8d in IA__gtk_menu_shell_activate_item (menu_shell=0x555556e13850 [GtkMenu], menu_item=0x55555721a2b0 [GtkImageMenuItem], force_deactivate=<optimized out>) at gtkmenushell.c:1283
        slist = <optimized out>
        shells = 0x555557797b70 = {0x555556e13850, 0x555556f04110}
        deactivate = <optimized out>
        __PRETTY_FUNCTION__ = "IA__gtk_menu_shell_activate_item"
#20 0x00007ffff759528c in gtk_menu_shell_button_release (widget=0x555556e13850 [GtkMenu], event=<optimized out>) at gtkmenushell.c:710
        submenu = 0x0
        menu_item = 0x55555721a2b0 [GtkImageMenuItem]
        deactivate = 1
        menu_shell = 0x555556e13850 [GtkMenu]
        priv = 0x555556e13980
#21 0x00007ffff757e42c in _gtk_marshal_BOOLEAN__BOXED (closure=0x555555e41380, return_value=0x7fffffffd820, n_param_values=<optimized out>, param_values=0x7fffffffd8d0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtkmarshalers.c:86
        callback = 0x7ffff7588310 <gtk_menu_button_release>
        cc = <optimized out>
        data1 = 0x555556e13850
        data2 = 0x555555e4d910
        v_return = <optimized out>
        __PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED"
#22 0x00007ffff3ec1c40 in g_closure_invoke (closure=closure@entry=0x555555e41380, return_value=return_value@entry=0x7fffffffd820, n_param_values=2, param_values=param_values@entry=0x7fffffffd8d0, invocation_hint=invocation_hint@entry=0x7fffffffd870) at gclosure.c:777
        marshal = 0x7ffff3ec08a0 <g_type_class_meta_marshal>
        marshal_data = 0x160
        in_marshal = 0
        real_closure = 0x555555e41360
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#23 0x00007ffff3ed3c70 in signal_emit_unlocked_R (node=node@entry=0x555555e413b0, detail=detail@entry=0, instance=instance@entry=0x555556e13850, emission_return=emission_return@entry=0x7fffffffd9a0, instance_and_params=instance_and_params@entry=0x7fffffffd8d0) at gsignal.c:3605
        accumulator = 0x555555e41420
        emission = {next = 0x0, instance = 0x555556e13850, ihint = {signal_id = 38, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 93825001854640}
        class_closure = 0x555555e41380
        hlist = 0x0
        handler_list = <optimized out>
        return_accu = 0x7fffffffd820
        accu = {g_type = 20, 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 = 38
        max_sequential_handler_number = 39246
        return_value_altered = 0
#24 0x00007ffff3edb9aa in g_signal_emit_valist (instance=0x555556e13850, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffdb28) at gsignal.c:3325
        return_value = {g_type = 20, 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}}}
        error = 0x0
        rtype = 20
        static_scope = 0
        instance_and_params = 0x7fffffffd8d0
        signal_return_type = 20
        param_values = 0x7fffffffd8e8
        node = <optimized out>
        i = <optimized out>
        n_params = 1
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#25 0x00007ffff3edc432 in g_signal_emit (instance=instance@entry=0x555556e13850, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffdc00, reg_save_area = 0x7fffffffdb40}}
#26 0x00007ffff76b1e8e in gtk_widget_event_internal (widget=widget@entry=0x555556e13850 [GtkMenu], event=event@entry=0x555557528100) at gtkwidget.c:5017
        signal_num = <optimized out>
        return_val = 0
#27 0x00007ffff76b2209 in IA__gtk_widget_event (widget=widget@entry=0x555556e13850 [GtkMenu], event=event@entry=0x555557528100) at gtkwidget.c:4814
        __PRETTY_FUNCTION__ = "IA__gtk_widget_event"
#28 0x00007ffff757c1f4 in IA__gtk_propagate_event (widget=0x555556e13850 [GtkMenu], event=0x555557528100) at gtkmain.c:2490
        tmp = <optimized out>
        handled_event = <optimized out>
        __PRETTY_FUNCTION__ = "IA__gtk_propagate_event"
#29 0x00007ffff757c55b in IA__gtk_main_do_event (event=0x555557528100) at gtkmain.c:1685
        event_widget = <optimized out>
        grab_widget = 0x55555721a2b0 [GtkImageMenuItem]
        window_group = <optimized out>
        rewritten_event = <optimized out>
        tmp_list = <optimized out>
        __PRETTY_FUNCTION__ = "IA__gtk_main_do_event"
#30 0x00007ffff71d3c7c in gdk_event_dispatch (source=source@entry=0x555555e47040, callback=<optimized out>, user_data=<optimized out>) at gdkevents-x11.c:2403
        display = <optimized out>
        event = 0x555557528100
#31 0x00007ffff39d2345 in g_main_dispatch (context=0x555555e47130) at gmain.c:2784
        dispatch = 0x7ffff71d3c30 <gdk_event_dispatch>
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        current_source_link = {data = 0x555555e47040, next = 0x0}
        need_destroy = <optimized out>
        source = 0x555555e47040
        current = 0x555555e9ce00
        i = 0
#32 g_main_context_dispatch (context=context@entry=0x555555e47130) at gmain.c:3288
No locals.
#33 0x00007ffff39d2688 in g_main_context_iterate (context=0x555555e47130, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3359
        max_priority = 2147483647
        timeout = -1
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = <optimized out>
        fds = 0x555556826c80
#34 0x00007ffff39d2ae2 in g_main_loop_run (loop=0x55555769a900) at gmain.c:3553
        __PRETTY_FUNCTION__ = "g_main_loop_run"
#35 0x000055555560b228 in app_run (full_prog_name=<optimized out>, filenames=<optimized out>, alternate_system_gimprc=0x0, 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=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) at app.c:256
        update_status_func = <optimized out>
        gimp = 0x555555eae000 [Gimp]
        config = 0x555555ec8290 [GimpRc]
        loop = 0x55555769a900
        swap_is_ok = 1
#36 0x000055555560ace6 in main (argc=1, argv=0x7fffffffe008) at main.c:440
        context = 0x555555dc1230
        error = 0x0
        abort_message = <optimized out>
        basename = <optimized out>
        i = <optimized out>
(gdb) 


Version-Release number of selected component (if applicable):
gimp-2.8.2-6.fc19.x86_64

How reproducible:
Every exit

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Tom London 2013-02-02 19:25:11 UTC
I am still seeing segfault every time I exit from gimp with the latest rawhide version: gimp-2.8.2-7.fc19.x86_64

More I can do to debug/help?


Core was generated by `gimp-2.8'.
Program terminated with signal 11, Segmentation fault.
#0  IA__FcConfigSetCurrent (config=config@entry=0x0) at fccfg.c:428
428	    if (!config->fonts[FcSetSystem])
Missing separate debuginfos, use: debuginfo-install libopenraw-0.0.9-3.fc19.x86_64 nss-softokn-freebl-3.14.2-2.fc19.x86_64
(gdb) set pagination off
(gdb) bt full
#0  IA__FcConfigSetCurrent (config=config@entry=0x0) at fccfg.c:428
        cfg = 0x7f77c0be2320
#1  0x00007f77be4009c0 in gimp_fonts_reset (gimp=gimp@entry=0x7f77c0354000 [Gimp]) at gimp-fonts.c:122
        __PRETTY_FUNCTION__ = "gimp_fonts_reset"
#2  0x00007f77be3577c0 in gimp_real_exit (gimp=0x7f77c0354000 [Gimp], force=<optimized out>) at gimp.c:737
        __PRETTY_FUNCTION__ = "gimp_real_exit"
#3  0x00007f77be356174 in gimp_marshal_BOOLEAN__BOOLEAN (closure=0x7f77c03402d0, return_value=0x7fff61e2d340, n_param_values=<optimized out>, param_values=0x7fff61e2d3f0, invocation_hint=<optimized out>, marshal_data=0x7f77be357730 <gimp_real_exit>) at gimpmarshal.c:85
        callback = <optimized out>
        cc = <optimized out>
        data1 = 0x7f77c0354000
        data2 = <optimized out>
        v_return = <optimized out>
        __PRETTY_FUNCTION__ = "gimp_marshal_BOOLEAN__BOOLEAN"
#4  0x00007f77b9f5dc40 in g_closure_invoke (closure=closure@entry=0x7f77c03402d0, return_value=return_value@entry=0x7fff61e2d340, n_param_values=2, param_values=param_values@entry=0x7fff61e2d3f0, invocation_hint=invocation_hint@entry=0x7fff61e2d390) at gclosure.c:777
        marshal = 0x7f77b9f5c8a0 <g_type_class_meta_marshal>
        marshal_data = 0xb0
        in_marshal = 0
        real_closure = 0x7f77c03402b0
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#5  0x00007f77b9f6fc70 in signal_emit_unlocked_R (node=node@entry=0x7f77c0340320, detail=detail@entry=0, instance=instance@entry=0x7f77c0354000, emission_return=emission_return@entry=0x7fff61e2d4c0, instance_and_params=instance_and_params@entry=0x7fff61e2d3f0) at gsignal.c:3605
        accumulator = 0x7f77c0349320
        emission = {next = 0x7fff61e2dde0, instance = 0x7f77c0354000, ihint = {signal_id = 153, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 140152302490816}
        class_closure = 0x7f77c03402d0
        hlist = 0x7f77c03fd430
        handler_list = <optimized out>
        return_accu = 0x7fff61e2d340
        accu = {g_type = 20, 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 = 153
        max_sequential_handler_number = 82987
        return_value_altered = 1
#6  0x00007f77b9f779aa in g_signal_emit_valist (instance=0x7f77c0354000, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fff61e2d648) at gsignal.c:3325
        return_value = {g_type = 20, 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}}}
        error = 0x0
        rtype = 20
        static_scope = 0
        instance_and_params = 0x7fff61e2d3f0
        signal_return_type = 20
        param_values = 0x7fff61e2d408
        node = <optimized out>
        i = <optimized out>
        n_params = 1
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#7  0x00007f77b9f78432 in g_signal_emit (instance=instance@entry=0x7f77c0354000, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fff61e2d720, reg_save_area = 0x7fff61e2d660}}
#8  0x00007f77be358e7d in gimp_exit (gimp=0x7f77c0354000 [Gimp], force=0) at gimp.c:1049
        handled = 32631
        __PRETTY_FUNCTION__ = "gimp_exit"
#9  0x00007f77b9f5dc40 in g_closure_invoke (closure=0x7f77c1564670, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fff61e2d930, invocation_hint=invocation_hint@entry=0x7fff61e2d8d0) at gclosure.c:777
        marshal = 0x7f77b9f5fa70 <g_cclosure_marshal_VOID__VOID>
        marshal_data = 0x0
        in_marshal = 0
        real_closure = 0x7f77c1564650
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#10 0x00007f77b9f6fef8 in signal_emit_unlocked_R (node=node@entry=0x7f77c0ec3630, detail=detail@entry=0, instance=instance@entry=0x7f77c1562210, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff61e2d930) at gsignal.c:3567
        tmp = <optimized out>
        handler = 0x7f77c0487750
        accumulator = 0x0
        emission = {next = 0x0, instance = 0x7f77c1562210, ihint = {signal_id = 369, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
        class_closure = 0x7f77c0ec14c0
        hlist = 0x7f77c0487750
        handler_list = <optimized out>
        return_accu = 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 = 369
        max_sequential_handler_number = 82987
        return_value_altered = 1
#11 0x00007f77b9f7824f in g_signal_emit_valist (instance=0x7f77c1562210, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fff61e2db78) at gsignal.c:3315
        instance_and_params = 0x7fff61e2d930
        signal_return_type = 4
        param_values = 0x7fff61e2d948
        node = <optimized out>
        i = <optimized out>
        n_params = 0
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#12 0x00007f77b9f78432 in g_signal_emit (instance=instance@entry=0x7f77c1562210, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff61e2dc50, reg_save_area = 0x7fff61e2db90}}
#13 0x00007f77bd547908 in _gtk_action_emit_activate (action=0x7f77c1562210 [GimpAction]) at gtkaction.c:795
        group = 0x7f77c02ddc90 [GimpActionGroup]
#14 0x00007f77b9f5dc40 in g_closure_invoke (closure=closure@entry=0x7f77c0327160, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fff61e2de50, invocation_hint=invocation_hint@entry=0x7fff61e2ddf0) at gclosure.c:777
        marshal = 0x7f77b9f5c8a0 <g_type_class_meta_marshal>
        marshal_data = 0x378
        in_marshal = 0
        real_closure = 0x7f77c0327140
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#15 0x00007f77b9f6f813 in signal_emit_unlocked_R (node=node@entry=0x7f77c0327210, detail=detail@entry=0, instance=instance@entry=0x7f77a5157aa0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff61e2de50) at gsignal.c:3497
        accumulator = 0x0
        emission = {next = 0x7fff61e2e3e0, instance = 0x7f77a5157aa0, ihint = {signal_id = 98, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 140152314540384}
        class_closure = 0x7f77c0327160
        hlist = 0x0
        handler_list = <optimized out>
        return_accu = 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 = 98
        max_sequential_handler_number = 82987
        return_value_altered = <optimized out>
#16 0x00007f77b9f7824f in g_signal_emit_valist (instance=0x7f77a5157aa0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fff61e2e098) at gsignal.c:3315
        instance_and_params = 0x7fff61e2de50
        signal_return_type = 4
        param_values = 0x7fff61e2de68
        node = <optimized out>
        i = <optimized out>
        n_params = 0
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#17 0x00007f77b9f78432 in g_signal_emit (instance=instance@entry=0x7f77a5157aa0, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff61e2e170, reg_save_area = 0x7fff61e2e0b0}}
#18 0x00007f77bd752edc in IA__gtk_widget_activate (widget=widget@entry=0x7f77a5157aa0 [GtkImageMenuItem]) at gtkwidget.c:5048
        __PRETTY_FUNCTION__ = "IA__gtk_widget_activate"
#19 0x00007f77bd636e8d in IA__gtk_menu_shell_activate_item (menu_shell=0x7f77c12ba930 [GtkMenu], menu_item=0x7f77a5157aa0 [GtkImageMenuItem], force_deactivate=<optimized out>) at gtkmenushell.c:1283
        slist = <optimized out>
        shells = 0x7f77c303de90 = {0x7f77c12ba930, 0x7f77c138a0f0}
        deactivate = <optimized out>
        __PRETTY_FUNCTION__ = "IA__gtk_menu_shell_activate_item"
#20 0x00007f77bd63728c in gtk_menu_shell_button_release (widget=0x7f77c12ba930 [GtkMenu], event=<optimized out>) at gtkmenushell.c:710
        submenu = 0x0
        menu_item = 0x7f77a5157aa0 [GtkImageMenuItem]
        deactivate = 1
        menu_shell = 0x7f77c12ba930 [GtkMenu]
        priv = 0x7f77c12baa60
#21 0x00007f77bd62042c in _gtk_marshal_BOOLEAN__BOXED (closure=0x7f77c02e8540, return_value=0x7fff61e2e3a0, n_param_values=<optimized out>, param_values=0x7fff61e2e450, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtkmarshalers.c:86
        callback = 0x7f77bd62a310 <gtk_menu_button_release>
        cc = <optimized out>
        data1 = 0x7f77c12ba930
        data2 = 0x7f77c02fab80
        v_return = <optimized out>
        __PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED"
#22 0x00007f77b9f5dc40 in g_closure_invoke (closure=closure@entry=0x7f77c02e8540, return_value=return_value@entry=0x7fff61e2e3a0, n_param_values=2, param_values=param_values@entry=0x7fff61e2e450, invocation_hint=invocation_hint@entry=0x7fff61e2e3f0) at gclosure.c:777
        marshal = 0x7f77b9f5c8a0 <g_type_class_meta_marshal>
        marshal_data = 0x160
        in_marshal = 0
        real_closure = 0x7f77c02e8520
        __PRETTY_FUNCTION__ = "g_closure_invoke"
#23 0x00007f77b9f6fc70 in signal_emit_unlocked_R (node=node@entry=0x7f77c02e8590, detail=detail@entry=0, instance=instance@entry=0x7f77c12ba930, emission_return=emission_return@entry=0x7fff61e2e520, instance_and_params=instance_and_params@entry=0x7fff61e2e450) at gsignal.c:3605
        accumulator = 0x7f77c02e8600
        emission = {next = 0x0, instance = 0x7f77c12ba930, ihint = {signal_id = 38, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 140152302368512}
        class_closure = 0x7f77c02e8540
        hlist = 0x0
        handler_list = <optimized out>
        return_accu = 0x7fff61e2e3a0
        accu = {g_type = 20, 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 = 38
        max_sequential_handler_number = 82987
        return_value_altered = 0
#24 0x00007f77b9f779aa in g_signal_emit_valist (instance=0x7f77c12ba930, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fff61e2e6a8) at gsignal.c:3325
        return_value = {g_type = 20, 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}}}
        error = 0x0
        rtype = 20
        static_scope = 0
        instance_and_params = 0x7fff61e2e450
        signal_return_type = 20
        param_values = 0x7fff61e2e468
        node = <optimized out>
        i = <optimized out>
        n_params = 1
        __PRETTY_FUNCTION__ = "g_signal_emit_valist"
#25 0x00007f77b9f78432 in g_signal_emit (instance=instance@entry=0x7f77c12ba930, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3371
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fff61e2e780, reg_save_area = 0x7fff61e2e6c0}}
#26 0x00007f77bd753e8e in gtk_widget_event_internal (widget=widget@entry=0x7f77c12ba930 [GtkMenu], event=event@entry=0x7f77c31b7640) at gtkwidget.c:5017
        signal_num = <optimized out>
        return_val = 0
#27 0x00007f77bd754209 in IA__gtk_widget_event (widget=widget@entry=0x7f77c12ba930 [GtkMenu], event=event@entry=0x7f77c31b7640) at gtkwidget.c:4814
        __PRETTY_FUNCTION__ = "IA__gtk_widget_event"
#28 0x00007f77bd61e1f4 in IA__gtk_propagate_event (widget=0x7f77c12ba930 [GtkMenu], event=0x7f77c31b7640) at gtkmain.c:2490
        tmp = <optimized out>
        handled_event = <optimized out>
        __PRETTY_FUNCTION__ = "IA__gtk_propagate_event"
#29 0x00007f77bd61e55b in IA__gtk_main_do_event (event=0x7f77c31b7640) at gtkmain.c:1685
        event_widget = <optimized out>
        grab_widget = 0x7f77a5157aa0 [GtkImageMenuItem]
        window_group = <optimized out>
        rewritten_event = <optimized out>
        tmp_list = <optimized out>
        __PRETTY_FUNCTION__ = "IA__gtk_main_do_event"
#30 0x00007f77bd275c7c in gdk_event_dispatch (source=source@entry=0x7f77c02ee090, callback=<optimized out>, user_data=<optimized out>) at gdkevents-x11.c:2403
        display = <optimized out>
        event = 0x7f77c31b7640
#31 0x00007f77b9a6e345 in g_main_dispatch (context=0x7f77c02ee180) at gmain.c:2784
        dispatch = 0x7f77bd275c30 <gdk_event_dispatch>
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        current_source_link = {data = 0x7f77c02ee090, next = 0x0}
        need_destroy = <optimized out>
        source = 0x7f77c02ee090
        current = 0x7f77c0342e00
        i = 0
#32 g_main_context_dispatch (context=context@entry=0x7f77c02ee180) at gmain.c:3288
No locals.
#33 0x00007f77b9a6e688 in g_main_context_iterate (context=0x7f77c02ee180, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3359
        max_priority = 2147483647
        timeout = 3609
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = <optimized out>
        fds = 0x7f77c1c44300
#34 0x00007f77b9a6eae2 in g_main_loop_run (loop=0x7f77c1afaba0) at gmain.c:3553
        __PRETTY_FUNCTION__ = "g_main_loop_run"
#35 0x00007f77be159358 in app_run (full_prog_name=<optimized out>, filenames=<optimized out>, alternate_system_gimprc=0x0, 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=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) at app.c:256
        update_status_func = <optimized out>
        gimp = 0x7f77c0354000 [Gimp]
        config = 0x7f77c036e290 [GimpRc]
        loop = 0x7f77c1afaba0
        swap_is_ok = 1
#36 0x00007f77be158e26 in main (argc=1, argv=0x7fff61e2eb78) at main.c:440
        context = 0x7f77c0268230
        error = 0x0
        abort_message = <optimized out>
        basename = <optimized out>
        i = <optimized out>
(gdb)

Comment 2 Nils Philippsen 2013-02-05 12:28:47 UTC
Hmm, the gimp_fonts_reset() function seems to be broken, FcConfigSetCurrent(NULL) isn't defined to work, or do what the comment describes:

--- 8< --- gimp_fonts_reset() ---
[...]
  /* We clear the default config here, so any subsequent fontconfig use will
   * reinit the library with defaults. (Maybe we should call FcFini here too?)
   */
  FcConfigSetCurrent (NULL);
[...]
--- >8 ---

... then ...

--- 8< --- q(FcConfig *config) ---
[...]
    FcConfig *cfg;

retry:
    cfg = fc_atomic_ptr_get (&_fcConfig);

    if (config == cfg)
    return FcTrue;

    if (!config->fonts[FcSetSystem])
--- >8 ---

Comment 3 Nils Philippsen 2013-02-05 12:34:49 UTC
Tom, are you aware of anything that is "non-custom" on your system related to fonts? I'm just curious why you seem to be the only one running into this issue.

Comment 4 Tom London 2013-02-05 14:28:16 UTC
Created attachment 693395 [details]
Output of "rpm -qa

I have not intentionally customized my system: I typically run Koji/Rawhide, and have a "continuously updated Rawhide", but mostly stock, system.

The only "non custom" aspects that I can think of are the packages I sometimes have to remove in order to unblock Rawhide dependency borkages. Although I keep track of these, and try to reinstall when the dependencies are fixed, I may have missed a few over the years....

I believe the only "locally modified/built" package I have installed is Audacity: locally built to get support for mp3 files.

I attach a sorted list of the output of "rpm -qa \*onts\*" in case there is something obvious....

Comment 5 Nils Philippsen 2013-02-05 15:24:11 UTC
I could reproduce the crash on Rawhide now, apparently gimp builds from Fedora up to version 18 didn't crash when dereferencing the NULL pointer in FcConfigSetCurrent(). I guess some change in the toolchain (we went from gcc 4.7 to 4.8 for Rawhide) caused this piece of code to be optimized differently and actually trip over the NULL pointer.

Anyway, I've committed a fix upstream and will build/push an update once I've had a chance to test it locally.

Comment 6 Nils Philippsen 2013-02-05 16:58:14 UTC
I've found the culprit now -- with previous versions of fontconfig the line in question is this one:

[...]
    if (!config->fonts)
[...]

As "fonts" is an array, this doesn't really dereference, but resolve to "if (!(config + <offset of fonts member>))" which is nonsensical, but doesn't crash if NULL is passed.

Comment 7 Tom London 2013-02-06 04:25:22 UTC
Great!

Thanks for hunting this out.... Strange piece of code.

I'll watch for the update and test when it arrives in koji.

Comment 8 Fedora Update System 2013-02-06 11:18:11 UTC
gimp-2.8.4-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/gimp-2.8.4-1.fc17

Comment 9 Fedora Update System 2013-02-06 11:18:29 UTC
gimp-2.8.4-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/gimp-2.8.4-1.fc18

Comment 10 Tom London 2013-02-06 14:28:48 UTC
Updated to gimp-2.8.4-1.fc19.x86_64.

No longer crashes on exit for me.

Thanks!

Comment 11 Fedora Update System 2013-02-08 01:58:46 UTC
Package gimp-2.8.4-1.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing gimp-2.8.4-1.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-2000/gimp-2.8.4-1.fc17
then log in and leave karma (feedback).

Comment 12 Fedora Update System 2013-02-18 06:51:28 UTC
gimp-2.8.4-1.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2013-02-21 05:36:35 UTC
gimp-2.8.4-1.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.