GNOME Bugzilla – Bug 766829
Graph related segfault
Last modified: 2016-06-15 11:56:49 UTC
Hi, when trying to open a gnumeric file I got an error >>gnumeric over2.gnumeric ** (gnumeric:24185): CRITICAL **: gog_axis_get_ticks: assertion 'GOG_IS_AXIS (axis)' failed ** (gnumeric:24185): CRITICAL **: gog_axis_get_atype: assertion 'GOG_IS_AXIS (axis)' failed ** (gnumeric:24185): CRITICAL **: gog_axis_get_color_map: assertion 'GOG_IS_AXIS (axis)' failed ** (gnumeric:24185): CRITICAL **: gog_axis_get_ticks: assertion 'GOG_IS_AXIS (axis)' failed ** (gnumeric:24185): CRITICAL **: gog_axis_get_bounds: assertion 'GOG_IS_AXIS (axis)' failed ** (gnumeric:24185): CRITICAL **: gog_axis_is_inverted: assertion 'GOG_IS_AXIS (axis)' failed ** (gnumeric:24185): CRITICAL **: gog_axis_map_new: assertion 'GOG_IS_AXIS (axis)' failed ** (gnumeric:24185): CRITICAL **: gog_axis_color_map_get_max: assertion 'GOG_IS_AXIS_COLOR_MAP (map)' failed Segmentation fault (core dumped) The file was created by gnumeric, possible before the upgrade to newest version of Kubuntu 16.04, so this might be an compatibility issue between version. Current version of gnumeric is 1.12.28. Any help extremely appreciated, Michal
We're going to need a copy of the file or, at least, a stack trace of where the problem happens. It would be best to attach the file here, but mailing a copy to me will work too if it is confidential. I'll delete after investigating.
Created attachment 328432 [details] Problematic fle The file causing trouble.
Confirmed. Here's the stack trace. (gdb) where
+ Trace 236277
The trace of the first critical is...
+ Trace 236278
This one looks quite serious, and is clearly my bad. I'll fix as soon as possible.
I added a precondition to gog_axis_color_map_to_cairo. That avoids the crash, but obviously doesn't solve the real problem.
It fix the initial crash, but there are still one (on graph edition attempt).
The real issue comes from how the axis is linked to the scale. I used the axis object name, but this is a very bas idea since it is locale dependent. We probably need two properties: the axis type and the axis id. I should find time tomorrow to implement that. Unfortunately it will break existent files with color scales.
Created attachment 328549 [details] [review] Proposed patch In the future, we should merge color and pseudo-3D axes since they are very similar. This should be done without breaking any old file which might be not so easy if one chart has both axis types.
Well, there's a first for everything. I believe this is the first case of a patch introducing Cyrillic, Greek, and Arabic strings. It probably won't make top 10 of our proudest achievements. But please go ahead and commit.
Review of attachment 328549 [details] [review]: Patch commited.
This problem has been fixed in our software repository. The fix will go into the next software release. Once that release is available, you may want to check for a software upgrade provided by your Linux distribution.
Thank you very much, I owe a beer to both of you! (preferably here in Prague:)