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 625139 - evolution 2.28.4 segfaults in eti_row_height_real
evolution 2.28.4 segfaults in eti_row_height_real
Status: RESOLVED INCOMPLETE
Product: evolution
Classification: Applications
Component: Do Not Use
2.28.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
evolution[etable]
Depends on:
Blocks:
 
 
Reported: 2010-07-23 17:02 UTC by Thomas
Modified: 2013-09-13 12:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Probably not a fix, but it prevented the crashes (903 bytes, text/plain)
2010-07-23 17:05 UTC, Thomas
  Details
Another check for null-ness (752 bytes, text/plain)
2010-07-24 21:51 UTC, Thomas
  Details
add another check (1.11 KB, text/plain)
2010-07-24 21:53 UTC, Thomas
  Details
Another little change (1.25 KB, patch)
2010-08-05 00:39 UTC, Thomas
none Details | Review
add another check (1.71 KB, patch)
2010-08-05 00:53 UTC, Thomas
none Details | Review
next try (2.02 KB, patch)
2010-08-06 05:16 UTC, Thomas
none Details | Review
more segfaulting (2.83 KB, text/plain)
2010-08-06 05:25 UTC, Thomas
  Details

Description Thomas 2010-07-23 17:02:06 UTC
Never had this one. I only remember having upgraded a few packages on my
ubuntu karmic box with the regular, periodic update.
This happened when I started evolution.

Here is the stack trace:

======================================================================
(gdb) p col
$1 = 2
(gdb) p row
$2 = 7
(gdb) p eti->cell_views
$3 = (ECellView **) 0x0
(gdb) p cols
$4 = 6
(gdb) p eti->cell_views
$5 = (ECellView **) 0x0
(gdb) p cols
$6 = 6
(gdb) p col
$7 = 2
(gdb) p eti
$8 = (ETableItem *) 0x839d940
(gdb) up
  • #1 eti_row_height
    at ../../../../evolution/widgets/table/e-table-item.c line 709
  • #0 eti_row_height_real
    at ../../../../evolution/widgets/table/e-table-item.c line 622
  • #0 eti_row_height_real
    at ../../../../evolution/widgets/table/e-table-item.c line 622
  • #1 eti_row_height
    at ../../../../evolution/widgets/table/e-table-item.c line 709
  • #2 eti_get_height
    at ../../../../evolution/widgets/table/e-table-item.c line 774
  • #3 eti_reflow
    at ../../../../evolution/widgets/table/e-table-item.c line 451
  • #4 e_canvas_item_invoke_reflow
    at ../../../../evolution/widgets/misc/e-canvas.c line 715
  • #5 e_canvas_item_invoke_reflow
    at ../../../../evolution/widgets/misc/e-canvas.c line 705
  • #6 e_canvas_item_invoke_reflow
    at ../../../../evolution/widgets/misc/e-canvas.c line 705
  • #7 e_canvas_item_invoke_reflow
    at ../../../../evolution/widgets/misc/e-canvas.c line 705
  • #8 e_canvas_item_invoke_reflow
    at ../../../../evolution/widgets/misc/e-canvas.c line 705
  • #9 do_reflow
    at ../../../../evolution/widgets/misc/e-canvas.c line 726
  • #10 idle_handler
    at ../../../../evolution/widgets/misc/e-canvas.c line 738
  • #11 g_idle_dispatch
    at /home/tom/src/glib2.0-2.22.3/glib/gmain.c line 4065
  • #12 g_main_dispatch
    at /home/tom/src/glib2.0-2.22.3/glib/gmain.c line 1960
  • #13 IA__g_main_context_dispatch
    at /home/tom/src/glib2.0-2.22.3/glib/gmain.c line 2513
  • #14 g_main_context_iterate
    at /home/tom/src/glib2.0-2.22.3/glib/gmain.c line 2591
  • #15 IA__g_main_loop_run
    at /home/tom/src/glib2.0-2.22.3/glib/gmain.c line 2799
  • #16 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #17 main
    at ../../../evolution/shell/main.c line 732

======================================================================
Comment 1 Thomas 2010-07-23 17:05:48 UTC
Created attachment 166462 [details]
Probably not a fix, but it prevented the crashes

Just checking a few variables before accessing them.
Comment 2 Thomas 2010-07-23 17:14:13 UTC
Just checked the git logs, and this code is also in master!
Comment 3 Akhil Laddha 2010-07-24 03:21:37 UTC
Do you have accessibility enabled ?
Comment 4 Thomas 2010-07-24 03:46:43 UTC
(In reply to comment #3)
> Do you have accessibility enabled ?

in System->Preferences for mouse & Keyboard, it says no.
The gnome configuration for key /desktop/gnome/interface/accessibility
is not enabled.
Comment 5 Thomas 2010-07-24 21:51:44 UTC
Created attachment 166502 [details]
Another check for null-ness
Comment 6 Thomas 2010-07-24 21:53:56 UTC
Created attachment 166503 [details]
add another check

Sorry, got the wrong file!!
Comment 7 Thomas 2010-08-05 00:39:41 UTC
Created attachment 167154 [details] [review]
Another little change

Had the crash again. Maybe some optimization issue?
Comment 8 Thomas 2010-08-05 00:53:04 UTC
Created attachment 167155 [details] [review]
add another check
Comment 9 Thomas 2010-08-06 05:16:38 UTC
Created attachment 167230 [details] [review]
next try

gdb tells after the segfault that eti->cell_views is NULL in eti_row_height_real,
so g_return_val_if_fail (cols == 0 || eti->cell_views, 0); should return,
but it doesn't. Same in eti_row_height with eti->height_cache.
Comment 10 Thomas 2010-08-06 05:25:47 UTC
Created attachment 167231 [details]
more segfaulting
Comment 11 Akhil Laddha 2011-04-07 06:24:36 UTC
Can you please check again whether this issue still happens in Evolution 2.32.2 or 3.0 and update this report by adding a comment and changing the "Version"
field? Thanks a lot.
Comment 12 Akhil Laddha 2011-05-20 11:49:31 UTC
Please feel free to reopen the bug if the problem still occurs with a newer
version of Evolution 3.0.1 or later, thanks.