Opened 8 years ago

Last modified 8 years ago

#50585 assigned defect

Gnumeric will crash when selecting Matrix graphic

Reported by: m.rick@… Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: gnumeric

Description (last modified by ryandesign (Ryan Carsten Schmidt))

When selecting a Matrix graphic with type XY, Gnumeric will crash with a " Segmentation fault: 11 error ".

When selecting a Matrix graphic with type XYZ, Gnumeric will display a " go_data_get_value: assertion 'GO_IS_DATA (data)' failed " error.

It's not an often used graphic anyway, but it's one of the Gnumeric specific features.

Mac-mini-de-Aymeric:~ aymeric$ /opt/local/bin/gnumeric

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

** (/opt/local/bin/gnumeric:19359): CRITICAL **: go_data_get_value: assertion 'GO_IS_DATA (data)' failed

Attachments (2)

Capture d’écran 2016-02-10 à 01.23.18.png (34.1 KB) - added by m.rick@… 8 years ago.
Graphics window
Capture d’écran 2016-02-13 à 12.53.02.png (138.0 KB) - added by m.rick@… 8 years ago.

Download all attachments as: .zip

Change History (8)

Changed 8 years ago by m.rick@…

Graphics window

comment:1 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: devans@… removed
Description: modified (diff)
Owner: changed from macports-tickets@… to devans@…

comment:2 Changed 8 years ago by dbevans (David B. Evans)

Status: newassigned
Version: 2.3.4

comment:3 Changed 8 years ago by dbevans (David B. Evans)

Issue confirmed as stated. Will try to determine if this is a MacPorts issue or one to be reported upstream. Thanks your effort in testing and for your report.

comment:4 in reply to:  3 Changed 8 years ago by m.rick@…

Replying to devans@…:

Issue confirmed as stated. Will try to determine if this is a MacPorts issue or one to be reported upstream. Thanks your effort in testing and for your report.

You are welcome. Gnumeric is a very good piece of software. I tried in Linux Xubuntu 15.04 as well and I couldn't reproduce it.

comment:5 Changed 8 years ago by dbevans (David B. Evans)

The Matrix plots (and others, too, I think) require you to select an appropriately sized region of cells in the spreadsheet before attempting to insert the chart. At least 2 rows/columns for MatrixXY and 3 for MatrixXYZ. The error described here results from not doing this and causes the crash in MatrixXY plots due to unexpected NULL data while trying to construct the data matrix for the sample plot view. MatrixXYZ doesn't actually crash due to an earlier fix committed to goffice here and released with goffice 0.10.24.

Relevant code (in goffice) is gog_xyz_matrix_plot_build_matrix() in plugins/plot_surface/gog-xyz-surface.c which handles both cases.

This is fairly low level code and it would be better if there were a check for this condition at the gnumeric GUI level with a corresponding error dialog reminding the user to select his data region properly before trying to insert the chart.

Last edited 8 years ago by dbevans (David B. Evans) (previous) (diff)

Changed 8 years ago by m.rick@…

comment:6 Changed 8 years ago by m.rick@…

Yes this crash shouldn't happen.

Here is a screen shot of a Matrix graphic. I selected datas and no crash for the 2 first types, and no crash for the last one (XY), it drawn perfectly the graph. https://trac.macports.org/attachment/ticket/50585/Capture%20d’écran%202016-02-13%20à%2012.53.02.png

Note: See TracTickets for help on using tickets.