i just wanted to extract a zip file when i noticed, that paths are not extracted by default (they should. or better yet, save the users settings ;)) so i hit the stop button and wanted to extract the archive again with the right settings. but after i hit the stop button, the options for adding and extracting files were not enabled again. neither in the menu bar, nor in the menu.
addition: i reloaded the file in the same xarchiver i hit stop to cancel the operation before, and the extract option was enabled again. however, when i clicked "extract", the program crashed, giving me this output: (xarchiver:4826): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJE CT (object)' failed ** Message: Setto extract a 1 *** glibc detected *** xarchiver: free(): invalid next size (fast): 0x082c5308 * ** ======= Backtrace: ========= /lib/libc.so.6[0xb798cab0] /lib/libc.so.6(__libc_free+0x84)[0xb798e0f4] /usr/lib/libglib-2.0.so.0(g_free+0x31)[0xb7a743b1] xarchiver[0x8061284] xarchiver[0x8055213] /usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x4b)[0xb7aed35b] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x13b)[0xb7ae00fb] /usr/lib/libgobject-2.0.so.0[0xb7af0449] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x899)[0xb7af1909] /usr/lib/libgobject-2.0.so.0(g_signal_emit_by_name+0xee)[0xb7af467e] /usr/lib/libgtk-x11-2.0.so.0[0xb7e378d7] /usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x4b)[0xb7aed35b] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x13b)[0xb7ae00fb] /usr/lib/libgobject-2.0.so.0[0xb7af0449] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x899)[0xb7af1909] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x29)[0xb7af1ab9] /usr/lib/libgtk-x11-2.0.so.0(gtk_button_clicked+0x51)[0xb7cc4271] /usr/lib/libgtk-x11-2.0.so.0[0xb7cc5b3c] /usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x4b)[0xb7aed35b] /usr/lib/libgobject-2.0.so.0[0xb7ade6b9] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x13b)[0xb7ae00fb] /usr/lib/libgobject-2.0.so.0[0xb7af08c6] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x899)[0xb7af1909] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x29)[0xb7af1ab9] /usr/lib/libgtk-x11-2.0.so.0(gtk_button_released+0x51)[0xb7cc4301] /usr/lib/libgtk-x11-2.0.so.0[0xb7cc4361] /usr/lib/libgtk-x11-2.0.so.0[0xb7d90e20] /usr/lib/libgobject-2.0.so.0[0xb7ade6b9] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x13b)[0xb7ae00fb] /usr/lib/libgobject-2.0.so.0[0xb7af0a7d] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x678)[0xb7af16e8] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x29)[0xb7af1ab9] /usr/lib/libgtk-x11-2.0.so.0[0xb7e79d94] /usr/lib/libgtk-x11-2.0.so.0(gtk_propagate_event+0x193)[0xb7d8a7a3] /usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x327)[0xb7d8b9d7] /usr/lib/libgdk-x11-2.0.so.0[0xb7c3041a] /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x16c)[0xb7a6cdfc] /usr/lib/libglib-2.0.so.0[0xb7a7012f] /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1b7)[0xb7a704e7] /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xc1)[0xb7d8be51] xarchiver[0x804e805] /lib/libc.so.6(__libc_start_main+0xd8)[0xb793f808] xarchiver(g_value_unset+0x6d)[0x804dce1] ======= Memory map: ======== 08048000-08069000 r-xp 00000000 08:07 357653 /opt/xfce4/bin/xarchiver 08069000-0806a000 rwxp 00021000 08:07 357653 /opt/xfce4/bin/xarchiver 0806a000-082fc000 rwxp 0806a000 00:00 0 [heap] b7200000-b7221000 rwxp b7200000 00:00 0 b7221000-b7300000 ---p b7221000 00:00 0 b73ee000-b73f8000 r-xp 00000000 08:03 4166 /usr/lib/libgcc_s.so.1 b73f8000-b73f9000 rwxp 00009000 08:03 4166 /usr/lib/libgcc_s.so.1 b7408000-b7414000 r-xs 00000000 08:03 21242 /usr/share/mime/mime.cache b7414000-b7420000 r-xs 00000000 08:03 21242 /usr/share/mime/mime.cache b7420000-b742f000 r-xp 00000000 08:03 76361 /usr/share/fonts/TTF/VeraBd.ttf b742f000-b748f000 rwxs 00000000 00:07 74055711 /SYSV00000000 (deleted) b748f000-b7516000 r-xp 00000000 08:03 36046 /usr/share/icons/hicolor/icon-t heme.cache b7516000-b759d000 r-xp 00000000 08:03 36046 /usr/share/icons/hicolor/icon-t heme.cache b759d000-b75ae000 r-xp 00000000 08:03 15528 /usr/share/fonts/TTF/Vera.ttf b75ae000-b75b6000 r-xp 00000000 08:03 2184 /lib/libnss_files-2.4.so b75b6000-b75b8000 rwxp 00007000 08:03 2184 /lib/libnss_files-2.4.so b75b8000-b75c6000 r-xp 00000000 08:03 11493 /usr/lib/gtk-2.0/2.4.0/engines/ librezlooks.so b75c6000-b75c7000 rwxp 0000e000 08:03 11493 /usr/lib/gtk-2.0/2.4.0/engines/ librezlooks.so b75c7000-b76e7000 r-xp 00000000 08:03 39467 /usr/lib/locale/locale-archive b76e7000-b76e9000 rwxp b76e7000 00:00 0 b76e9000-b7707000 r-xp 00000000 08:03 4762 /usr/lib/libexpat.so.0.5.0 b7707000-b7709000 rwxp 0001d000 08:03 4762 /usr/lib/libexpat.so.0.5.0Abort ed and this bt: #0 0xffffe410 in __kernel_vsyscall () #1 0xb79bf5a1 in raise () from /lib/libc.so.6 #2 0xb79c0c09 in abort () from /lib/libc.so.6 #3 0xb79f40cb in __libc_message () from /lib/libc.so.6 #4 0xb79f9ab0 in malloc_printerr () from /lib/libc.so.6 #5 0xb79fb0f4 in free () from /lib/libc.so.6 #6 0xb7ae13b1 in g_free () from /usr/lib/libglib-2.0.so.0 #7 0x08061284 in ?? () #8 0x082deaa0 in ?? () #9 0x082deaa0 in ?? () #10 0x00000045 in ?? () #11 0x00000001 in ?? () #12 0x00000000 in ?? ()
another addition: i get the same crash, when i just open the extract dialog, click cancel and then try to reopen the extract dialog.
hm, it seems as if the last reported behaviour only appears, when i open the zip file with xarchiver from within thunar. when i run it with gdb or just from a terminal, i can reopen the extract dialog without crashes. it still crashes when i cancelled an operation before, though.
hm, it might be related to the content of the archive containing special chars.. i just noticed, that when i open a zip file in a folder that is called glgl#'-_"()~& (i used that for testing), and open the archive in thunar, xarchiver crashes when i only try to open the extract dialog. when i open the archive from a terminal (no matter if i specify the file directly like "xarchiver new.zip" or i open the file from the parent folder like "xarchiver glgl#\'-_\"\(\)~\&/new.zip") it works without a problem.
another one: i just tried opening the extract dialog for some other filetypes too, all containing the exact same file. all files are opened from within thunar. the results: .7zip -> crashes when opening the extract dialog .arj -> crashes when opening the extract dialog .jar -> crashes when opening the extract dialog .tar -> crashes when opening the extract dialog .zip -> crashes when opening the extract dialog .gz -> extract dialog opens, but the entry has a after the filename .tar.gz -> works .tar.bz2 -> works
hm, i always tried with archives that contain a .pdf file. now that i tested with a .txt file (in the same folder) i don't get any crash at all...
Please avoid testing xarchiver from the installed package. This way I don't get the number of line the seg fault occurs. Remember to run xarchiver within gdb from the source directory. The following is a useful backtrace: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1217066784 (LWP 4286)] 0x0805426f in xa_quit_application (menuitem=0x8097d38, user_data=0x0) at callbacks.c:455 455 if ( strcmp (extract_path , "/tmp/") != 0) (gdb) bt #0 0x0805426f in xa_quit_application (menuitem=0x8097d38, user_data=0x0) at callbacks.c:455 #1 0xb7b79fa4 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #2 0xb7b63d2c in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #3 0xb7b789ec in g_signal_has_handler_pending () from /usr/lib/libgobject-2.0.so.0 #4 0xb7b7993d in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #5 0xb7b79bbb in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #6 0xb7eaad0a in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0 #7 0xb7def752 in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0 #8 0xb7def93f in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0 #9 0xb7de6cc9 in gtk_menu_reorder_child () from /usr/lib/libgtk-x11-2.0.so.0 #10 0xb7de20f0 in gtk_marshal_VOID__UINT_STRING () from /usr/lib/libgtk-x11-2.0.so.0 #11 0xb7b64028 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #12 0xb7b63d2c in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #13 0xb7b7851a in g_signal_has_handler_pending () from /usr/lib/libgobject-2.0.so.0 #14 0xb7b79654 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #15 0xb7b79bbb in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #16 0xb7eaae94 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0 #17 0xb7ddfc58 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #18 0xb7de0090 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #19 0xb7ca91b1 in gdk_event_get_graphics_expose () from /usr/lib/libgdk-x11-2.0.so.0 #20 0xb7af44e4 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #21 0xb7af5f16 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0 #22 0xb7af6195 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #23 0xb7de08e3 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #24 0x0804e68e in main (argc=1, argv=0xbfe6b044) at main.c:226 This way I know the faulty code is at line 455 in source file callbacks.c I discovered many weird behaviours thanks to your extensive testing. Thank you by very heart. Giuseppe
Fixed bad behaviour of extract button in svn r22247. I'm currently investigating the crash but I need a valid backtrace please.
Created attachment 642 A RAR archive loaded from Thunar in a directory with special chars
Baze, can you tell me if the problem still occurs with the current revision ? I would like to close this bug, thank you.
Fixed in r22254.