After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 710576 - Invalid read in pref_click_policy_changed
Invalid read in pref_click_policy_changed
Status: RESOLVED OBSOLETE
Product: file-roller
Classification: Applications
Component: general
3.10.x
Other Linux
: Normal normal
: ---
Assigned To: file-roller-maint
file-roller-maint
Depends on:
Blocks:
 
 
Reported: 2013-10-21 19:37 UTC by Sebastien Bacher
Modified: 2020-11-11 19:12 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastien Bacher 2013-10-21 19:37:08 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)"
Comment 1 Paolo Bacchilega 2013-10-27 09:00:52 UTC
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.
Comment 2 Sebastien Bacher 2013-10-27 17:10:37 UTC
The same valgrind errors are still happening in git trunk
Comment 3 Paolo Bacchilega 2013-10-27 18:00:53 UTC
I think I misunderstood the bug description, I thought it was a crash backtrace instead of a valgrind report.
Comment 4 Sebastien Bacher 2013-10-27 18:16:06 UTC
The invalid read can lead to segfaults but that's not happening every time
Comment 5 Sebastien Bacher 2015-03-26 16:28:04 UTC
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>
  • #1 g_cclosure_marshal_VOID__STRINGv
    at /build/buildd/glib2.0-2.43.91/./gobject/gmarshal.c line 1794
  • #2 _g_closure_invoke_va
    at /build/buildd/glib2.0-2.43.91/./gobject/gclosure.c line 831
  • #3 g_signal_emit_valist
    at /build/buildd/glib2.0-2.43.91/./gobject/gsignal.c line 3214
  • #4 g_signal_emit
    at /build/buildd/glib2.0-2.43.91/./gobject/gsignal.c line 3361
  • #5 g_settings_real_change_event
    at /build/buildd/glib2.0-2.43.91/./gio/gsettings.c line 296
  • #6 ffi_call_unix64
    at ../src/x86/unix64.S line 76
  • #7 ffi_call
    at ../src/x86/ffi64.c line 525
  • #8 g_cclosure_marshal_generic_va
    at /build/buildd/glib2.0-2.43.91/./gobject/gclosure.c line 1561
  • #9 _g_closure_invoke_va
    at /build/buildd/glib2.0-2.43.91/./gobject/gclosure.c line 831
  • #10 g_signal_emit_valist
    at /build/buildd/glib2.0-2.43.91/./gobject/gsignal.c line 3214
  • #11 g_signal_emit
    at /build/buildd/glib2.0-2.43.91/./gobject/gsignal.c line 3361
  • #12 settings_backend_path_changed
    at /build/buildd/glib2.0-2.43.91/./gio/gsettings.c line 397
  • #13 g_settings_backend_invoke_closure
    at /build/buildd/glib2.0-2.43.91/./gio/gsettingsbackend.c line 267
  • #14 g_main_dispatch
    at /build/buildd/glib2.0-2.43.91/./glib/gmain.c line 3122
  • #15 g_main_context_dispatch
    at /build/buildd/glib2.0-2.43.91/./glib/gmain.c line 3737
  • #16 g_main_context_iterate
    at /build/buildd/glib2.0-2.43.91/./glib/gmain.c line 3808
  • #17 g_main_context_iteration
    at /build/buildd/glib2.0-2.43.91/./glib/gmain.c line 3869
  • #18 g_application_run
    at /build/buildd/glib2.0-2.43.91/./gio/gapplication.c line 2328
  • #19 main
    at main.c line 38

Comment 6 André Klapper 2020-11-11 19:12:11 UTC
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).