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 697790 - crash when closing log files in rapid succession
crash when closing log files in rapid succession
Status: RESOLVED FIXED
Product: gnome-system-log
Classification: Core
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: gnome-system-log-maint
gnome-system-log-maint
Depends on:
Blocks:
 
 
Reported: 2013-04-11 12:55 UTC by Adam Dingle
Modified: 2013-04-11 21:39 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Adam Dingle 2013-04-11 12:55:32 UTC
To see the problem:

1. Open enough log files that at least 10 of them are listed in the left-hand column.  (One easy way to get there is to close all log files, then restart gnome-system-log; it will then display all files in /var/log there.)

2. Select the first log file.

3. Press Ctrl+W repeatedly to close log files in rapid succession.

gnome-system-log will crash with a slew of error messages beginning with this:

(gnome-system-log:17351): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

This doesn't happen when you close log files slowly, so presumably there's a race condition in there somewhere.
Comment 1 Fabio Durán Verdugo 2013-04-11 15:31:40 UTC
Yes

Here the BT

gnome-system-log:ERROR:logview-log.c:854:logview_log_get_timestamp: assertion failed: (LOGVIEW_IS_LOG (log))

Program received signal SIGABRT, Aborted.
0xb7735424 in ?? ()
(gdb) bt full
  • #0 ??
  • #1 g_malloc
    at gmem.c line 154
  • #2 g_strconcat
    at gstrfuncs.c line 597
  • #3 g_assertion_message_expr
  • #4 logview_log_get_timestamp
    at logview-log.c line 854
  • #5 logview_update_toolbar
    at logview-window.c line 197
  • #6 action_search_change_state
    at logview-window.c line 1113
  • #7 g_cclosure_marshal_VOID__VARIANT
    at gmarshal.c line 1350
  • #8 g_closure_invoke
    at gclosure.c line 777
  • #9 signal_emit_unlocked_R
    at gsignal.c line 3584
  • #10 g_signal_emit_valist
    at gsignal.c line 3328
  • #11 g_signal_emit
    at gsignal.c line 3384
  • #12 g_simple_action_change_state
    at gsimpleaction.c line 126
  • #13 g_action_change_state
    at gaction.c line 200
  • #14 g_simple_action_group_change_state
    at gsimpleactiongroup.c line 122
  • #15 g_action_group_change_action_state
    at gactiongroup.c line 563
  • #16 gtk_application_window_change_action_state
    at gtkapplicationwindow.c line 552
  • #17 g_action_group_change_action_state
    at gactiongroup.c line 563
  • #18 findbar_close_cb
    at logview-window.c line 264
  • #19 action_close
    at logview-window.c line 1029
  • #20 g_cclosure_marshal_VOID__VARIANT
  • #21 g_closure_invoke
    at gclosure.c line 777
  • #22 signal_emit_unlocked_R
    at gsignal.c line 3584
  • #23 g_signal_emit_valist
    at gsignal.c line 3328
  • #24 g_signal_emit
    at gsignal.c line 3384
  • #25 g_simple_action_activate
    at gsimpleaction.c line 204
  • #26 g_action_activate
    at gaction.c line 387
  • #27 g_simple_action_group_activate
    at gsimpleactiongroup.c line 138
  • #28 g_action_group_activate_action
    at gactiongroup.c line 590
  • #29 g_action_muxer_activate_action
    at gactionmuxer.c line 375
  • #30 g_action_group_activate_action
    at gactiongroup.c line 590
  • #31 accel_activate
    at gtkapplicationwindow.c line 392
  • #32 g_closure_invoke
    at gclosure.c line 777
  • #33 signal_emit_unlocked_R
    at gsignal.c line 3584
  • #34 g_signal_emit_valist
    at gsignal.c line 3338
  • #35 g_signal_emit
    at gsignal.c line 3384
  • #36 gtk_accel_group_activate
    at gtkaccelgroup.c line 914
  • #37 gtk_accel_groups_activate
    at gtkaccelgroup.c line 952
  • #38 gtk_window_activate_key
    at gtkwindow.c line 9400
  • #39 gtk_window_key_press_event
    at gtkwindow.c line 6035
  • #40 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #41 g_type_class_meta_marshalv
    at gclosure.c line 997
  • #42 _g_closure_invoke_va
    at gclosure.c line 840
  • #43 g_signal_emit_valist
    at gsignal.c line 3234
  • #44 g_signal_emit
    at gsignal.c line 3384
  • #45 gtk_widget_event_internal
    at gtkwidget.c line 6714
  • #46 propagate_event
    at gtkmain.c line 2490
  • #47 gtk_main_do_event
    at gtkmain.c line 1716
  • #48 _gdk_event_emit
    at gdkevents.c line 69
  • #49 gdk_event_source_dispatch
    at gdkeventsource.c line 364
  • #50 g_main_dispatch
    at gmain.c line 3054
  • #51 g_main_context_dispatch
    at gmain.c line 3630
  • #52 g_main_context_iterate
    at gmain.c line 3701
  • #53 g_main_context_iteration
    at gmain.c line 3762
  • #54 g_application_run
    at gapplication.c line 1623
  • #55 main
    at logview-main.c line 46

Comment 2 Cosimo Cecchi 2013-04-11 21:39:44 UTC
Indeed; there were a number of bugs contributing to this crash. I pushed a series of fixes to git master now, thanks for the report.