GNOME Bugzilla – Bug 323522
e-table-CRITICAL when switching component in Evolution
Last modified: 2013-09-13 12:24:40 UTC
e-table-CRITICAL **: eti_unfreeze: assertion `eti->frozen_count > 0' failed aborting... Program received signal SIGTRAP, Trace/breakpoint trap. IA__g_logv (log_domain=Variable "log_domain" is not available. ) at gmessages.c:503 503 g_private_set (g_log_depth, GUINT_TO_POINTER (depth)); (gdb) bt
+ Trace 64481
Does this happen always ? R u doing any specific operation before switching components in evolution. This is not reproducible on suse 10.0 evolution 2.5.2.
It happened when switching back to the mail component after going between calendar/addressbook etc. I used ctrl+f<123> to switch between them
Reopening this since the last comment.
*sigh* This most likely is not even a crasher on SuSE 10, Evo 2.5.2. Please not this is a "critical warning" bug, which is a crasher since 01/01/2006 in CVS. Adjusting Priority.
I just found a way to reproduce this myself. * Enabling a remote Task List (checking the checkbox next to its name in the tree) reproducibly crashes Evo for me. Stacktrace looks identical (top-most 40-50 lines at least, didn't check further). The task list seems to be completely displayed before the crash. (Could this be a red herring, err, a cached version from 2.4?) * When starting Evo with that remote Task List still enabled it crashes again. It does not crash, if I quickly uncheck it. During my early reproduction testing I got 2 stacktraces with interesting NULL pointers in different locations. etss and param_values, IIRC, somewhere hidden in the stacktrace within the first 40 lines. Can't reproduce them, though. Evolution 2.5.91+, GNOME 2.13.91+
Reassigning some important 2.5.x bugs to Varadhan.
This is still biting me here. static void eti_unfreeze (ETableItem *eti) { g_return_if_fail (eti->frozen_count > 0); Can we change this to a test/return statement, or should the callers make sure that this never happens? eti->frozen_count --; d(g_print ("%s: %d\n", __FUNCTION__, eti->frozen_count)); if (eti->frozen_count == 0 && eti->queue_show_cursor) { eti_show_cursor (eti, 0); eti_check_cursor_bounds (eti); eti->queue_show_cursor = FALSE; } }
Has anyone looked at this since last time?
obviously not. code in /widgets/table/e-table-item.c hasn't changed. retargetting.
I put this in one of my cleanup patches that went to evolution-patches@gnome.org today.
I think it is fine to replace with if/return. Committed to head.