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 680190 - GLib-CRITICAL **: g_timer_elapsed: assertion `timer != NULL' failed
GLib-CRITICAL **: g_timer_elapsed: assertion `timer != NULL' failed
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: General
git master
Other Linux
: Normal normal
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2012-07-18 17:43 UTC by Andreas J. Guelzow
Modified: 2012-07-26 12:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Andreas J. Guelzow 2012-07-18 17:43:27 UTC
new gnumeric
insert->object->FromFile
select a .gnumeric file

In the console we are now seeing 4 instances of: 

 (gnumeric:30023): GLib-CRITICAL **: g_timer_elapsed: assertion `timer != NULL' failed

The cursor is now a cross hair. Dragging seems to insert a small rectangular object. What are we expecting to happen?)
Comment 1 Andreas J. Guelzow 2012-07-18 17:45:44 UTC
Selecting the small object with ctrl-tab and then double clicking it creates more of those criticals and also:

** (gnumeric:30023): CRITICAL **: wbcg_focus_cur_scg: assertion `scg != NULL' failed

** (gnumeric:30023): CRITICAL **: wbcg_update_menu_feedback: assertion `IS_SHEET (sheet)' failed

These could have to do with the incomplete gnumeric workbook window that tries to open.
Comment 2 Jean Bréfort 2012-07-19 06:11:21 UTC
I can reproduce. This does not happen in abiword, btw.
I'll investigate.
Comment 3 Jean Bréfort 2012-07-19 06:44:18 UTC
About the g_timer assertions, seems I need to add a special IOContext.
Comment 4 Jean Bréfort 2012-07-19 12:26:44 UTC
There are actually two bugs here:
- a misuse of command contexts (I'll probably need to change the component API to fix that properly).
- the behavior described in comment #1. I'm sure that this did not occur one year ago, the first critical occurs because gtk_notebook_get_current_page() returns -1.
Comment 5 Jean Bréfort 2012-07-20 13:33:22 UTC
The timer criticals are fixed, as well as the incoplete workbook window issue. The other criticals are still there.
Comment 6 Andreas J. Guelzow 2012-07-20 20:12:16 UTC
Some additional criticals:

new gnumeric
insert an existing .gnumeric file as object
open the properties dialog (which really seems to be the original file)
change the selection on the active sheet inside the properties dialog
choose save in the properties dialog:

many instances of the following criticals are shown:

(gnumeric:26215): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GtkWidget'

(gnumeric:26215): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion `GTK_IS_WIDGET (widget)' failed

(gnumeric:26215): Gtk-CRITICAL **: gtk_container_foreach: assertion `GTK_IS_CONTAINER (container)' failed

Quit gnumeric, discarding all files:

** (gnumeric:26215): CRITICAL **: wbcg_focus_cur_scg: assertion `scg != NULL' failed
and many instances of
(gnumeric:26215): Gtk-CRITICAL **: gtk_container_foreach: assertion `GTK_IS_CONTAINER (container)' failed
are shown and gnumeric fails to quit although all sheets appear to be deleted.

If you select quit again, you get many leaks that show clearly that the formats associated with the content of the objects have not been freed.
Comment 7 Jean Bréfort 2012-07-20 20:18:04 UTC
Yes, I'm seeing exactly that. I'm suspecting things are not unrefed in the right order. The first warning comes when the code tries to change the sensitivity of an already destroyed widget.
Comment 8 Jean Bréfort 2012-07-21 16:26:06 UTC
I now only get one critical on exit. Also clicking the close box in the title bar seems to have no effect.

** (gnumeric:16154): CRITICAL **: wbcg_focus_cur_scg: assertion `scg != NULL' failed
Comment 9 Jean Bréfort 2012-07-26 12:51:39 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.