Skip to content

Thunar crashed on double clicking the address bar to highlight text

Submitted by Hussam Al-Tayeb @hussam

Assigned to Xfce Bug Triage

Link to original bug (#16069)

Description

Thunar crashed on double clicking the address bar to highlight text. I am 90% positively sure that is what I a was doing.

[Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". Core was generated by `Thunar --daemon'. Program terminated with signal SIGSEGV, Segmentation fault.

#0  thunar_file_get_display_name (file=file@entry=0x0) at thunar-file.c:3180
3180	thunar-file.c: No such file or directory.
[Current thread is 1 (Thread 0x7fa78b2ea980 (LWP 1131))]
warning: File "/usr/lib/libstdc++.so.6.0.27-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
	add-auto-load-safe-path /usr/lib/libstdc++.so.6.0.27-gdb.py
line to your configuration file "/home/hussam/.gdbinit".
--Type <RET> for more, q to quit, c to continue without paging--
To completely disable this security protection add
	set auto-load safe-path /
line to your configuration file "/home/hussam/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
	info "(gdb)Auto-loading safe path"
(gdb) set logging on
Copying output to gdb.txt.
(gdb) thread apply all bt full

Thread 5 (Thread 0x7fa77bfff700 (LWP 36514)):
#0  0x00007fa78c4c38cf in poll () at /usr/lib/libc.so.6
#1  0x00007fa778c17c94 in  () at /usr/lib/libpulse.so.0
#2  0x00007fa778c25fa9 in pa_mainloop_poll () at /usr/lib/libpulse.so.0
#3  0x00007fa778c2f341 in pa_mainloop_iterate () at /usr/lib/libpulse.so.0
#4  0x00007fa778c2f3f1 in pa_mainloop_run () at /usr/lib/libpulse.so.0
#5  0x00007fa778c1f65e in  () at /usr/lib/libpulse.so.0
#6  0x00007fa778ba3f6c in  () at /usr/lib/pulseaudio/libpulsecommon-13.0.so
#7  0x00007fa78c0844cf in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007fa78c4cc393 in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7fa778819700 (LWP 1363)):
#0  0x00007fa78c4c38cf in poll () at /usr/lib/libc.so.6
#1  0x00007fa778c17c94 in  () at /usr/lib/libpulse.so.0
#2  0x00007fa778c25fa9 in pa_mainloop_poll () at /usr/lib/libpulse.so.0
#3  0x00007fa778c2f341 in pa_mainloop_iterate () at /usr/lib/libpulse.so.0
#4  0x00007fa778c2f3f1 in pa_mainloop_run () at /usr/lib/libpulse.so.0
#5  0x00007fa778c1f65e in  () at /usr/lib/libpulse.so.0
#6  0x00007fa778ba3f6c in  () at /usr/lib/pulseaudio/libpulsecommon-13.0.so
#7  0x00007fa78c0844cf in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007fa78c4cc393 in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7fa78aae8700 (LWP 1133)):
#0  0x00007fa78c4c38cf in poll () at /usr/lib/libc.so.6
#1  0x00007fa78c5ce170 in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x7fa78401ac70, timeout=<optimized out>, context=0x55960f35ccd0) at ../glib/glib/gmain.c:4216
        ret = <optimized out>
        errsv = <optimized out>
        poll_func = 0x7fa78c5ba670 <g_poll>
        max_priority = 2147483647
        timeout = -1
        some_ready = <optimized out>
        nfds = 3
        allocated_nfds = <optimized out>
        fds = 0x7fa78401ac70
#2  0x00007fa78c5ce170 in g_main_context_iterate (context=0x55960f35ccd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3912
        max_priority = 2147483647
        timeout = -1
        some_ready = <optimized out>
        nfds = 3
        allocated_nfds = <optimized out>
        fds = 0x7fa78401ac70
#3  0x00007fa78c5cf113 in g_main_loop_run (loop=0x55960f35cdc0) at ../glib/glib/gmain.c:4111
        __FUNCTION__ = "g_main_loop_run"
#4  0x00007fa78c73cb98 in gdbus_shared_thread_func (user_data=0x7fa78401ac70) at ../glib/gio/gdbusprivate.c:278
        data = 0x7fa78401ac70
#5  0x00007fa78c5aac11 in g_thread_proxy (data=0x55960f3474a0) at ../glib/glib/gthread.c:805
        thread = 0x55960f3474a0
        __FUNCTION__ = "g_thread_proxy"
#6  0x00007fa78c0844cf in start_thread () at /usr/lib/libpthread.so.0
#7  0x00007fa78c4cc393 in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7fa78b2e9700 (LWP 1132)):
#0  0x00007fa78c4bf30c in read () at /usr/lib/libc.so.6
#1  0x00007fa78c57e9f0 in read (__nbytes=16, __buf=0x7fa78b2e8b50, __fd=<optimized out>, __fd=<optimized out>, __buf=<optimized out>, __nbytes=<optimized out>) at /usr/include/bits/unistd.h:44
        buffer = "\003\000\000\000\000\000\000\000\064\307\\\214\247\177\000"
#2  0x00007fa78c57e9f0 in g_wakeup_acknowledge (wakeup=0x55960f33dda0) at ../glib/glib/gwakeup.c:210
        buffer = "\003\000\000\000\000\000\000\000\064\307\\\214\247\177\000"
#3  0x00007fa78c5cca31 in g_main_context_check (context=context@entry=0x55960f3470f0, max_priority=2147483647, fds=fds@entry=0x55960f3435c0, n_fds=n_fds@entry=2) at ../glib/glib/gmain.c:3695
        source = 0x0
        iter = {context = 0x55960f3470f0, may_modify = 1, current_list = 0x0, source = 0x0}
        pollrec = <optimized out>
        n_ready = 0
--Type <RET> for more, q to quit, c to continue without paging--
        i = <optimized out>
#4  0x00007fa78c5ce118 in g_main_context_iterate (context=context@entry=0x55960f3470f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3914
        max_priority = 2147483647
        timeout = 100
        some_ready = <optimized out>
        nfds = 2
        allocated_nfds = <optimized out>
        fds = 0x55960f3435c0
#5  0x00007fa78c5ce241 in g_main_context_iteration (context=0x55960f3470f0, may_block=may_block@entry=1) at ../glib/glib/gmain.c:3978
        retval = <optimized out>
#6  0x00007fa78c5ce292 in glib_worker_main (data=<optimized out>) at ../glib/glib/gmain.c:5858
#7  0x00007fa78c5aac11 in g_thread_proxy (data=0x55960f347400) at ../glib/glib/gthread.c:805
        thread = 0x55960f347400
        __FUNCTION__ = "g_thread_proxy"
#8  0x00007fa78c0844cf in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007fa78c4cc393 in clone () at /usr/lib/libc.so.6


Thread 1 (Thread 0x7fa78b2ea980 (LWP 1131)):
#0  0x000055960ec1b0f0 in thunar_file_get_display_name (file=file@entry=0x0) at thunar-file.c:3180
#1  0x000055960ec28ef7 in thunar_list_model_get_value (model=0x55960f4a6180, iter=<optimized out>, column=4, value=0x7ffcf2887230) at thunar-list-model.c:808
        group = <optimized out>
        content_type = <optimized out>
        name = <optimized out>
        real_name = <optimized out>
        user = <optimized out>
        file = 0x0
        str = <optimized out>
#2  0x00007fa78ccf1279 in gtk_tree_model_filter_real_modify (self=0x55960fd84b80 [GtkTreeModelFilter], child_model=0x55960f4a6180, iter=0x55960facb540, value=0x7ffcf2887230, column=4) at ../gtk/gtk/gtktreemodelfilter.c:3156
        child_iter = {stamp = 0, user_data = 0x7fa78409d230, user_data2 = 0x0, user_data3 = 0x0}
        __func__ = "gtk_tree_model_filter_real_modify"
#3  0x00007fa78cf04b99 in apply_cell_attributes (renderer=0x55960f438380 [GtkCellRendererText], info=0x55960f803920, data=0x7ffcf28872c0) at ../gtk/gtk/gtkcellarea.c:1249
        attribute = 0x55960f889380
        list = 0x55960f889390 = {0x55960f889380}
        value = {g_type = 0x40, 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}}}
        is_expander = 0
        is_expanded = 0
#4  0x00007fa78c5dbae0 in g_hash_table_foreach (hash_table=0x55960f858240 = {...}, func=0x7fa78cf04ac0 <apply_cell_attributes>, user_data=0x7ffcf28872c0) at ../glib/glib/ghash.c:2056
        node_hash = <optimized out>
        node_key = <optimized out>
        node_value = <optimized out>
        i = 5
        version = 2
        __FUNCTION__ = "g_hash_table_foreach"
#5  0x00007fa78cf04a6c in gtk_cell_area_real_apply_attributes (area=<optimized out>, tree_model=0x55960fd84b80, iter=0x55960facb540, is_expander=<optimized out>, is_expanded=<optimized out>) at ../gtk/gtk/gtkcellarea.c:1286
        priv = 0x55960f742470
        data = {area = 0x55960f7424b0 [GtkCellAreaBox], model = 0x55960fd84b80, iter = 0x55960facb540, is_expander = 0, is_expanded = 0}
        path = <optimized out>
#6  0x00007fa78cefb7bb in gtk_cell_area_box_apply_attributes (area=area@entry=0x55960f7424b0 [GtkCellAreaBox], tree_model=tree_model@entry=0x55960fd84b80, iter=iter@entry=0x55960facb540, is_expander=<optimized out>, is_expanded=<optimized out>) at ../gtk/gtk/gtkcellareabox.c:1310
        box = 0x55960f7424b0 [GtkCellAreaBox]
        priv = 0x55960f742430
        i = <optimized out>
#7  0x00007fa78cf4d262 in _gtk_marshal_VOID__OBJECT_BOXED_BOOLEAN_BOOLEANv (closure=0x55960f842a00, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x55960f842260) at gtk/gtkmarshalers.c:5447
        cc = 0x55960f842a00
        data1 = 0x55960f7424b0
        data2 = <optimized out>
        callback = 0x7fa78cefb7a0 <gtk_cell_area_box_apply_attributes>
        arg0 = 0x55960fd84b80
        arg1 = 0x55960facb540
        arg2 = -1940547072
        arg3 = 255016980
--Type <RET> for more, q to quit, c to continue without paging--
        args_copy = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffcf2887638, reg_save_area = 0x7ffcf2887570}}
#8  0x00007fa78c6aab4a in _g_closure_invoke_va (param_types=0x55960f842260, n_params=<optimized out>, args=0x7ffcf2887550, instance=0x55960f7424b0, return_value=0x0, closure=0x55960f842a00) at ../glib/gobject/gclosure.c:873
        marshal = <optimized out>
        marshal_data = <optimized out>
        in_marshal = 0
        real_closure = 0x55960f8429e0
        return_accu = <optimized out>
        accu = {g_type = 0x0, 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}}}
        accumulator = 0x0
        emission = {next = 0x0, instance = 0x55960f7424b0, ihint = {signal_id = 426, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 0x55960f842880 [GtkCellAreaBox/GtkCellArea/GInitiallyUnowned]}
        signal_id = 426
        instance_type = <optimized out>
        emission_return = {g_type = 0x0, 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}}}
        rtype = 0x4
        static_scope = 0
        fastpath_handler = <optimized out>
        closure = <optimized out>
        run_type = <optimized out>
        hlist = <optimized out>
        l = <optimized out>
        fastpath = 1
        instance_and_params = <optimized out>
        signal_return_type = <optimized out>
        param_values = <optimized out>
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __FUNCTION__ = "g_signal_emit_valist"
#9  0x00007fa78c6aab4a in g_signal_emit_valist (instance=0x55960f7424b0, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffcf2887550) at ../glib/gobject/gsignal.c:3306
        return_accu = <optimized out>
        accu = {g_type = 0x0, 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}}}
        accumulator = 0x0
        emission = {next = 0x0, instance = 0x55960f7424b0, ihint = {signal_id = 426, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 0x55960f842880 [GtkCellAreaBox/GtkCellArea/GInitiallyUnowned]}
        signal_id = 426
        instance_type = <optimized out>
        emission_return = {g_type = 0x0, 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}}}
        rtype = 0x4
        static_scope = 0
        fastpath_handler = <optimized out>
        closure = <optimized out>
        run_type = <optimized out>
        hlist = <optimized out>
        l = <optimized out>
        fastpath = 1
        instance_and_params = <optimized out>
        signal_return_type = <optimized out>
        param_values = <optimized out>
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __FUNCTION__ = "g_signal_emit_valist"
#10 0x00007fa78c6ab7f0 in g_signal_emit (instance=instance@entry=0x55960f7424b0, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3453
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffcf2887630, reg_save_area = 0x7ffcf2887570}}
#11 0x00007fa78cf078d4 in gtk_cell_area_apply_attributes (area=0x55960f7424b0 [GtkCellAreaBox], tree_model=0x55960fd84b80, iter=0x7ffcf28877b0, is_expander=0, is_expanded=0) at ../gtk/gtk/gtkcellarea.c:2373
        __func__ = "gtk_cell_area_apply_attributes"
#12 0x00007fa78ccda628 in validate_row (tree_view=tree_view@entry=0x55960f780400 [GtkTreeView], tree=0x55960fd1df20, node=0x55960fc4e800, iter=iter@entry=0x7ffcf28877b0, path=path@entry=0x55960fd27200) at ../gtk/gtk/gtktreeview.c:6417
        padding = 0
        original_width = 0
        new_width = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        row_height = 21910
        column = 0x55960f89e670 [GtkTreeViewColumn]
        context = 0x55960f631240 [GtkStyleContext]
        list = 0x55960f494b20 = {0x55960f89e670}
        first_column = <optimized out>
        last_column = <optimized out>
        height = 0
        horizontal_separator = 4
        vertical_separator = 2
        depth = 1
        retval = 0
        is_separator = 0
        draw_vgrid_lines = 0
        draw_hgrid_lines = 0
        grid_line_width = 1
        expander_size = 18
#13 0x00007fa78ccdb3f7 in validate_visible_area (tree_view=0x55960f780400 [GtkTreeView]) at ../gtk/gtk/gtktreeview.c:6521
        iter = {stamp = -501003775, user_data = 0x55960fca3e70, user_data2 = 0x55960fd47d00, user_data3 = 0x0}
        need_redraw = 0
        allocation = {x = 0, y = 0, width = 786, height = 357}
        tree = 0x55960fd1df20
        node = 0x55960fc4e800
        total_height = <optimized out>
        path = 0x55960fd27200
        above_path = 0x0
        size_changed = 0
        area_above = 0
        area_below = 0
#14 0x00007fa78ccdb3f7 in do_presize_handler (tree_view=0x55960f780400 [GtkTreeView]) at ../gtk/gtk/gtktreeview.c:7101
#15 0x00007fa78cce03c5 in validate_rows (tree_view=0x55960f780400 [GtkTreeView]) at ../gtk/gtk/gtktreeview.c:7144
#16 0x00007fa78cb213cc in gdk_threads_dispatch (data=0x55960fd43980) at ../gtk/gdk/gdk.c:777
        dispatch = 0x55960fd43980
        ret = 0
#17 0x00007fa78c5cc2bf in g_main_dispatch (context=0x55960f3522d0) at ../glib/glib/gmain.c:3179
        dispatch = 0x7fa78c5c6d80 <g_idle_dispatch>
        prev_source = 0x0
        was_in_call = 0
        user_data = 0x55960fd43980
        callback = 0x7fa78cb213a0 <gdk_threads_dispatch>
        cb_funcs = 0x7fa78c685300 <g_source_callback_funcs>
        cb_data = 0x55960faf5cc0
        need_destroy = <optimized out>
        source = 0x55960fdb0d50
        current = 0x55960f35d380
        i = 0
#18 0x00007fa78c5cc2bf in g_main_context_dispatch (context=context@entry=0x55960f3522d0) at ../glib/glib/gmain.c:3844
#19 0x00007fa78c5ce201 in g_main_context_iterate (context=context@entry=0x55960f3522d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3917
        max_priority = 125
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = <optimized out>
        fds = 0x7fa7840467a0
#20 0x00007fa78c5ce241 in g_main_context_iteration (context=0x55960f3522d0, may_block=1) at ../glib/glib/gmain.c:3978
        retval = <optimized out>
#21 0x00007fa78c77fa2e in g_application_run (application=0x55960f36a0f0 [ThunarApplication], argc=<optimized out>, argv=<optimized out>) at ../glib/gio/gapplication.c:2550
        arguments = 0x55960f36e160
        status = 0
        context = 0x55960f3522d0
        acquired_context = 1
        __FUNCTION__ = "g_application_run"
#22 0x000055960ebfb0da in main (argc=2, argv=0x7ffcf2887af8) at main.c:93
        application = 0x55960f36a0f0 [ThunarApplication]
--Type <RET> for more, q to quit, c to continue without paging--
        error = 0x0
(gdb) quit