! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
extract option is not reenabled after stopping an extraction
Status:
RESOLVED: FIXED
Product:
Xarchiver
Component:
general

Comments

Description Bj 2006-07-02 11:09:01 CEST
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.
Comment 1 Bj 2006-07-02 11:15:51 CEST
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 ?? ()
Comment 2 Bj 2006-07-02 11:18:21 CEST
another addition:
i get the same crash, when i just open the extract dialog, click cancel and then try to reopen the extract dialog.
Comment 3 Bj 2006-07-02 11:21:01 CEST
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.
Comment 4 Bj 2006-07-02 11:43:37 CEST
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.
Comment 5 Bj 2006-07-02 11:53:35 CEST
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
Comment 6 Bj 2006-07-02 12:30:28 CEST
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...
Comment 7 Giuseppe Torelli 2006-07-03 09:39:53 CEST
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
Comment 8 Giuseppe Torelli 2006-07-03 13:46:13 CEST
Fixed bad behaviour of extract button in svn r22247.
I'm currently investigating the crash but I need a valid backtrace please.
Comment 9 Giuseppe Torelli 2006-07-04 05:54:51 CEST
Created attachment 642 
A RAR archive loaded from Thunar in a directory with special chars
Comment 10 Giuseppe Torelli 2006-07-04 06:01:49 CEST
Baze, can you tell me if the problem still occurs with the current revision ? I would like to close this bug, thank you.
Comment 11 Giuseppe Torelli 2006-07-04 08:31:01 CEST
Fixed in r22254.

Bug #1978

Reported by:
Bj
Reported on: 2006-07-02
Last modified on: 2006-07-04

People

Assignee:
Giuseppe Torelli
CC List:
0 users

Version

Version:
0.3.9svn

Attachments

Additional information