dmesg output: [ 9938.242444] xarchiver[14898]: segfault at 0 ip 00007fc57d212c8a sp 00007ffde5e15838 error 4 in libc-2.19.so[7fc57d191000+19f000]
gdb xarchiver
Program received signal SIGSEGV, Segmentation fault.
strlen () at ../sysdeps/x86_64/strlen.S:106
106 ../sysdeps/x86_64/strlen.S: No such file or directory.
(gdb) bt full
#0 strlen () at ../sysdeps/x86_64/strlen.S:106
No locals.
#1 0x000055555556430e in xa_remove_level_from_path (path=0x0) at string_utils.c:151
local_path = <optimized out="">
_local_path = <optimized out="">
#2 0x00005555555727f4 in drag_data_get (widget=<optimized out="">, dc=<optimized out="">, selection_data=0x7fffffffd1b0, info=<optimized out="">, t=11019238, archive=0x555555b05580) at window.c:1718
selection = 0x555555ae3e40
row_list = 0x555555a62440
names = 0x0
_destination = 0x555555b37e50 "0u\264UUU"
destination = 0x0
to_send = <optimized out="">
#3 0x00007ffff6e26245 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#4 0x00007ffff6e37f6c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#5 0x00007ffff6e40778 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#6 0x00007ffff6e40f2a in g_signal_emit_by_name () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#7 0x00007ffff79f5c2e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#8 0x00007ffff6e26245 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#9 0x00007ffff6e37f6c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#10 0x00007ffff6e40778 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#11 0x00007ffff6e40f2a in g_signal_emit_by_name () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#12 0x00007ffff79230db in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#13 0x00007ffff7924cce in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#14 0x00007ffff78c0a3f in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#15 0x00007ffff6e26245 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#16 0x00007ffff6e37e62 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#17 0x00007ffff6e40285 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#18 0x00007ffff6e409df in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#19 0x00007ffff79d7d6c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#20 0x00007ffff78bf77b in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#21 0x00007ffff7532b5c in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
No symbol table info available.
#22 0x00007ffff6b50c5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#23 0x00007ffff6b50f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#24 0x00007ffff6b51272 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#25 0x00007ffff78be597 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#26 0x0000555555560b02 in ?? ()
No symbol table info available.
#27 0x00007ffff677fb45 in __libc_start_main (main=0x5555555606f0, argc=1, argv=0x7fffffffd9f8, init=<optimized out="">, fini=<optimized out="">, rtld_fini=<optimized out="">, stack_end=0x7fffffffd9e8) at libc-start.c:287
result = <optimized out="">
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 2611333869783713903, 93824992285049, 140737488345584, 0, 0, -2611333871082960785, -2611315109466896273}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7fffffffda08,
0x7ffff7ffe1a8}, data = {prev = 0x0, cleanup = 0x0, canceltype = -9720}}}
not_first_call = <optimized out="">
#28 0x00005555555611a2 in ?? ()
No symbol table info available.
</optimized></optimized></optimized></optimized></optimized></optimized></optimized></optimized></optimized></optimized></optimized>
Installing xarchiver-dbg only changed the first 2 backtraces. I could try to install other debug infos, if this helps.
Last edit: b2f9h203 2015-08-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have the same problem. I digged a little into source code and here is what I've found.
When user drag&drops a file onto XFCE desktop, the following steps happen:
1) window.c: a call to the gdk_property_get (line 1697) writes "xds.txt" to _destination variable. When I drop a file onto a "normal" directory in Thunar or similar file manager, this variable contains a "normal" file URI like "file:///home/user/pictures/xds.txt".
2) window.c: a call to g_filename_from_uri (line 1715) returns NULL, which is assigned to the desination (w/o underscore at the beginning of the name) variable. According to glib manuals, NULL result indicates error; indeed, when I modified the code to display the error text, g_filename_from_uri returned this message:
The URI 'xds.txt' is not an absolute URI using the "file" scheme
3) this variable is then passed as an argument to the function xa_remove_level_from_path from string_utils.c. Inside this function at line 151 there is a call to the strlen function with path argument equal to NULL, which leads to segmentation fault.
I would love to fix this myself, but have zero experience working with glib and gtk.
Last edit: shinonome 2015-08-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hey guys, the project is not forsaken and I'm still alive. Would you please collect all the latest patches (not the jumbo one) so I can apply one after one and release a fixed version?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Here is all I have found for version 0.5.4. I tried to apply all patches and got two problems:
1) no-xfce.patch fails to apply.
2) xarchiver-gtk3-port.patch breaks the build.
Without them the program builds and runs fine.
Because there is still no update, I took the time to install the patches.
Firstly: they work :) thank you
Secondly: Sadly it doesn't work perfect. I can't extract multiple files per drag&drop, only single files.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Also when drag over chrome window
I have the same problem with xarchiver
xarchiver --version
xarchiver 0.5.4
dmesg output:
[ 9938.242444] xarchiver[14898]: segfault at 0 ip 00007fc57d212c8a sp 00007ffde5e15838 error 4 in libc-2.19.so[7fc57d191000+19f000]
gdb xarchiver
Program received signal SIGSEGV, Segmentation fault.
strlen () at ../sysdeps/x86_64/strlen.S:106
106 ../sysdeps/x86_64/strlen.S: No such file or directory.
(gdb) bt full #0 strlen () at ../sysdeps/x86_64/strlen.S:106 No locals. #1 0x000055555556430e in xa_remove_level_from_path (path=0x0) at string_utils.c:151 local_path = <optimized out=""> _local_path = <optimized out=""> #2 0x00005555555727f4 in drag_data_get (widget=<optimized out="">, dc=<optimized out="">, selection_data=0x7fffffffd1b0, info=<optimized out="">, t=11019238, archive=0x555555b05580) at window.c:1718 selection = 0x555555ae3e40 row_list = 0x555555a62440 names = 0x0 _destination = 0x555555b37e50 "0u\264UUU" destination = 0x0 to_send = <optimized out=""> #3 0x00007ffff6e26245 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #4 0x00007ffff6e37f6c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #5 0x00007ffff6e40778 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #6 0x00007ffff6e40f2a in g_signal_emit_by_name () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #7 0x00007ffff79f5c2e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 No symbol table info available. #8 0x00007ffff6e26245 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #9 0x00007ffff6e37f6c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #10 0x00007ffff6e40778 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #11 0x00007ffff6e40f2a in g_signal_emit_by_name () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #12 0x00007ffff79230db in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 No symbol table info available. #13 0x00007ffff7924cce in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 No symbol table info available. #14 0x00007ffff78c0a3f in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 No symbol table info available. #15 0x00007ffff6e26245 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #16 0x00007ffff6e37e62 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #17 0x00007ffff6e40285 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #18 0x00007ffff6e409df in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 No symbol table info available. #19 0x00007ffff79d7d6c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 No symbol table info available. #20 0x00007ffff78bf77b in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 No symbol table info available. #21 0x00007ffff7532b5c in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 No symbol table info available. #22 0x00007ffff6b50c5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #23 0x00007ffff6b50f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #24 0x00007ffff6b51272 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 No symbol table info available. #25 0x00007ffff78be597 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 No symbol table info available. #26 0x0000555555560b02 in ?? () No symbol table info available. #27 0x00007ffff677fb45 in __libc_start_main (main=0x5555555606f0, argc=1, argv=0x7fffffffd9f8, init=<optimized out="">, fini=<optimized out="">, rtld_fini=<optimized out="">, stack_end=0x7fffffffd9e8) at libc-start.c:287 result = <optimized out=""> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 2611333869783713903, 93824992285049, 140737488345584, 0, 0, -2611333871082960785, -2611315109466896273}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7fffffffda08, 0x7ffff7ffe1a8}, data = {prev = 0x0, cleanup = 0x0, canceltype = -9720}}} not_first_call = <optimized out=""> #28 0x00005555555611a2 in ?? () No symbol table info available. </optimized></optimized></optimized></optimized></optimized></optimized></optimized></optimized></optimized></optimized></optimized>Installing xarchiver-dbg only changed the first 2 backtraces. I could try to install other debug infos, if this helps.
Last edit: b2f9h203 2015-08-12
I have the same problem. I digged a little into source code and here is what I've found.
When user drag&drops a file onto XFCE desktop, the following steps happen:
1) window.c: a call to the gdk_property_get (line 1697) writes "xds.txt" to _destination variable. When I drop a file onto a "normal" directory in Thunar or similar file manager, this variable contains a "normal" file URI like "file:///home/user/pictures/xds.txt".
2) window.c: a call to g_filename_from_uri (line 1715) returns NULL, which is assigned to the desination (w/o underscore at the beginning of the name) variable. According to glib manuals, NULL result indicates error; indeed, when I modified the code to display the error text, g_filename_from_uri returned this message:
3) this variable is then passed as an argument to the function xa_remove_level_from_path from string_utils.c. Inside this function at line 151 there is a call to the strlen function with path argument equal to NULL, which leads to segmentation fault.
I would love to fix this myself, but have zero experience working with glib and gtk.
Last edit: shinonome 2015-08-14
I think this should fix it. The patch is for the latest version (0.5.4).
The existance of patch is cool, but will it be applied to project? Isn't the xarchiever forsaken?
Hey guys, the project is not forsaken and I'm still alive. Would you please collect all the latest patches (not the jumbo one) so I can apply one after one and release a fixed version?
Here is all I have found for version 0.5.4. I tried to apply all patches and got two problems:
1) no-xfce.patch fails to apply.
2) xarchiver-gtk3-port.patch breaks the build.
Without them the program builds and runs fine.
Last edit: shinonome 2015-08-14
Because there is still no update, I took the time to install the patches.
Firstly: they work :) thank you
Secondly: Sadly it doesn't work perfect. I can't extract multiple files per drag&drop, only single files.
I knew I shouldn't have applid the patch... ;) by the way, the effort is highly appreciated :)