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 533507 - sumproduct issues
sumproduct issues
Status: RESOLVED OBSOLETE
Product: Gnumeric
Classification: Applications
Component: Analytics
git master
Other All
: Normal normal
: ---
Assigned To: Morten Welinder
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2008-05-17 03:08 UTC by sum1
Modified: 2018-05-22 13:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (471 bytes, patch)
2008-05-17 17:01 UTC, Jean Bréfort
none Details | Review

Description sum1 2008-05-17 03:08:21 UTC
Version: r16573 + Attachment 110945 [details] (from Bug 533247)
OS: Ubuntu Hardy

Steps to reproduce:
- Enter '=sumproduct(Q1:P141,D119,1)' (no quotes) into A1


Console output:

** (gnumeric:28222): CRITICAL **: value_area_get_width: assertion `v' failed

** (gnumeric:28222): CRITICAL **: value_area_get_height: assertion `v' failed

** (gnumeric:28222): CRITICAL **: value_release: assertion `value != NULL' failed

Backtrace:
Breakpoint 1, 0xb72aae66 in g_log () from /usr/lib/libglib-2.0.so.0
(gdb) bt
  • #0 g_log
    from /usr/lib/libglib-2.0.so.0
  • #1 g_return_if_fail_warning
    from /usr/lib/libglib-2.0.so.0
  • #2 value_area_get_width
    at value-sheet.c line 92
  • #3 gnumeric_sumproduct
    at functions.c line 3221
  • #4 function_call_with_exprs
    at func.c line 1044
  • #5 gnm_expr_eval
    at expr.c line 1319
  • #6 gnm_expr_top_eval
    at expr.c line 2837
  • #7 gnm_cell_eval_content
    at dependent.c line 1450
  • #8 gnm_rendered_value_new
    at rendered-value.c line 210
  • #9 gnm_cell_render_value
    at cell.c line 469
  • #10 row_calc_spans
    at cellspan.c line 411
  • #11 sheet_range_bounding_box
    at sheet.c line 2250
  • #12 scg_redraw_range
    at sheet-control-gui.c line 147
  • #13 sc_redraw_range
    at sheet-control.c line 89
  • #14 sheet_redraw_partial_row
    at sheet.c line 1010
  • #15 sheet_cell_calc_span
    at sheet.c line 1102
  • #16 sheet_cell_set_text
  • #17 cmd_set_text_redo
    at commands.c line 851
  • #18 command_push_undo
    at commands.c line 742
  • #19 cmd_set_text
  • #20 wbcg_edit_finish
    at wbc-gtk-edit.c line 222
  • #21 cb_gee_key_press_event
    at gnumeric-expr-entry.c line 507

Comment 1 Jean Bréfort 2008-05-17 17:01:51 UTC
Created attachment 111058 [details] [review]
proposed patch

The criticals happen because cell D119 was probably empty.
Comment 2 Morten Welinder 2008-05-17 22:26:07 UTC
Hmm...

What is sumproduct of two empty cells supposed to be?  I can see either 0
or an error as reasonable results.
Comment 3 Morten Welinder 2008-05-19 13:34:16 UTC
sumproduct(empty,empty) --> #VALUE

The general case with an empty argument appears to be that it is of a higher
priority that errors in the data set.  Hence it is not a size_error.

If e1=empty and f1=1/0, then

sumproduct(f1:f2,e1)=#VALUE
sumproduct(f1:f1,e1)=#DIV/0
sumproduct(f1:f2,e1:e2)=#DIV/0
sumproduct(f1:f1,e1:e2)=#DIV/0

I'm sure there is some interaction with implicit iteration going on.
Comment 4 Morten Welinder 2008-05-20 00:42:18 UTC
Patch committed.  We now get #DIV/0 in all four cases above.  That's better
than criticals, I guess.

Leaving open to fix error handling issues.
Comment 5 Andreas J. Guelzow 2010-07-29 00:25:28 UTC
Morten, specifically which error handling issues do you see?
Comment 6 Morten Welinder 2010-07-29 16:44:08 UTC
Excel: sumproduct(f1:f2,e1)=#VALUE
Gnumeric: sumproduct(f1:f2,e1)=#DIV/0
Comment 7 GNOME Infrastructure Team 2018-05-22 13:27:22 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnumeric/issues/100.