GNOME Bugzilla – Bug 710576
Invalid read in pref_click_policy_changed
Last modified: 2020-11-11 19:12:11 UTC
Using 3.10.1: * run "file-roller --notify --default-dir=file:///tmp/bug.zip --add bug.c" * validate the compression * click on the open button in the dialog displayed -> segfault "==7761== Invalid read of size 4 ==7761== at 0x8084713: pref_click_policy_changed (fr-window.c:5141) ==7761== by 0x4972140: g_cclosure_marshal_VOID__STRINGv (gmarshal.c:1004) ==7761== by 0x496FAED: _g_closure_invoke_va (gclosure.c:840) ==7761== by 0x4988E6F: g_signal_emit_valist (gsignal.c:3238) ==7761== by 0x49899E2: g_signal_emit (gsignal.c:3386) ==7761== by 0x48A08EF: g_settings_real_change_event (gsettings.c:288) ==7761== by 0x52183C5: ffi_call_SYSV (sysv.S:65) ==7761== by 0x521814A: ffi_call (ffi.c:411) ==7761== by 0x4970490: g_cclosure_marshal_generic_va (gclosure.c:1550) ==7761== by 0x496E286: g_type_class_meta_marshalv (gclosure.c:997) ==7761== by 0x496FAED: _g_closure_invoke_va (gclosure.c:840) ==7761== by 0x4988E6F: g_signal_emit_valist (gsignal.c:3238) ==7761== by 0x49899E2: g_signal_emit (gsignal.c:3386) ==7761== by 0x48A119F: settings_backend_path_changed (gsettings.c:363) ==7761== by 0x489C717: g_settings_backend_invoke_closure (gsettingsbackend.c:271) ==7761== by 0x49F758F: g_idle_dispatch (gmain.c:5250) ==7761== by 0x49FA82D: g_main_context_dispatch (gmain.c:3065) ==7761== by 0x49FABD7: g_main_context_iterate.isra.22 (gmain.c:3712) ==7761== by 0x49FAC97: g_main_context_iteration (gmain.c:3773) ==7761== by 0x488C243: g_application_run (gapplication.c:1635) ==7761== by 0x8058FAC: main (main.c:38) ==7761== Address 0x733fed0 is 312 bytes inside a block of size 324 free'd ==7761== at 0x402AC38: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==7761== by 0x4A005BF: g_free (gmem.c:197) ==7761== by 0x4A170BA: g_slice_free1 (gslice.c:1124) ==7761== by 0x4991B50: g_type_free_instance (gtype.c:1932) ==7761== by 0x497408F: g_object_unref (gobject.c:3210) ==7761== by 0x497607E: g_object_run_dispose (gobject.c:1069) ==7761== by 0x4336C90: gtk_widget_destroy (gtkwidget.c:4101) ==7761== by 0x8090EFE: fr_window_exec_batch_action.isra.47 (fr-window.c:9491) ==7761== by 0x809167E: real_close_progress_dialog (fr-window.c:2107) ==7761== by 0x80916F9: close_progress_dialog (fr-window.c:2133) ==7761== by 0x8092966: progress_dialog_response (fr-window.c:2239) ==7761== by 0x49718CD: g_cclosure_marshal_VOID(intXX_t) (gmarshal.c:372) ==7761== by 0x496F8AD: g_closure_invoke (gclosure.c:777) ==7761== by 0x4981DF8: signal_emit_unlocked_R (gsignal.c:3586) ==7761== by 0x4989752: g_signal_emit_valist (gsignal.c:3330) ==7761== by 0x49899E2: g_signal_emit (gsignal.c:3386) ==7761== by 0x4179AB1: gtk_dialog_response (gtkdialog.c:948) ==7761== by 0x4179E8F: action_widget_activated (gtkdialog.c:701) ==7761== by 0x4971548: g_cclosure_marshal_VOID__VOIDv (gmarshal.c:115) ==7761== by 0x496FAED: _g_closure_invoke_va (gclosure.c:840) ==7761== by 0x4988E6F: g_signal_emit_valist (gsignal.c:3238) ==7761== by 0x49899E2: g_signal_emit (gsignal.c:3386) ==7761== by 0x4114729: gtk_button_clicked (gtkbutton.c:1308) ==7761== by 0x4115457: gtk_real_button_released (gtkbutton.c:1973) ==7761== by 0x49714D2: g_cclosure_marshal_VOID__VOID (gmarshal.c:85) ==7761== by 0x496E3D3: g_type_class_meta_marshal (gclosure.c:970) ==7761== by 0x496F8AD: g_closure_invoke (gclosure.c:777) ==7761== by 0x498149B: signal_emit_unlocked_R (gsignal.c:3516) ==7761== by 0x4989752: g_signal_emit_valist (gsignal.c:3330) ==7761== by 0x49899E2: g_signal_emit (gsignal.c:3386)"
This should be fixed with commit d5a34c6. I'm not sure because I can reproduce the crash but my backtrace is different from the backtrace posted here, so please test current master and see if it is fixed for you as well.
The same valgrind errors are still happening in git trunk
I think I misunderstood the bug description, I thought it was a crash backtrace instead of a valgrind report.
The invalid read can lead to segfaults but that's not happening every time
there are some ubuntu report of segfault looking like that issue (with the current stable) https://errors.ubuntu.com/problem/cb715f9855bfb9d241574cfb2889a61814a4f608 "#0 0x000000000043b8e3 in pref_click_policy_changed (settings=<optimized out>, key=<optimized out>, user_data=0x21c8430) at fr-window.c:5136 window = 0x21c8430 win = <optimized out> display = <optimized out>
+ Trace 234896
bugzilla.gnome.org is being replaced by gitlab.gnome.org. We are closing all old bug reports and feature requests in GNOME Bugzilla which have not seen updates for a long time. If you still use file-roller and if you still see this bug / want this feature in a currently supported version of GNOME (currently that would be 3.38), then please feel free to report it at https://gitlab.gnome.org/GNOME/file-roller/-/issues/ Thank you for creating this report and we are sorry it could not be implemented (volunteer workforce and time is limited).