bugGNU Octave - Bugs: bug #44656, Error following an error in a...


bug #44656: Error following an error in a callback of a uimenu

Submitter:  Guillaume <gyom>
Submitted:  Sat 28 Mar 2015 08:41:56 PM UTC
Category:  Plotting with OpenGL Severity:  3 - Normal
Priority:  5 - Normal Item Group:  None
Status:  Fixed Assigned to:  None
Originator Name:  Guillaume Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup

Tue 24 Nov 2015 11:38:47 AM UTC, comment #5: 

Thanks Rik, I cannot reproduce the error any more either so I think you can close this report.

Guillaume <gyom>
Mon 23 Nov 2015 11:53:38 PM UTC, comment #4: 

I think this may have been fixed by the move to exceptions in the core.  If I try the problematic code from Guillaume in the original report it doesn't report the error about matrix_value() when the window is moved.  I will close this report in a week unless some can still reproduce the error.

Rik <rik5>
Group administrator
Mon 30 Mar 2015 11:25:47 AM UTC, comment #3: 

Thanks for looking into this.

I observe the same thing that after the initial error message is reported, there is no return to prompt, but that if you just press enter to do so, the second error message will not appear when moving the figure later on.

Guillaume <gyom>
Sun 29 Mar 2015 01:36:10 PM UTC, comment #2: 

The callback execution is done in gh_manager::do_execute_callback (graphics.cc). It is enclosed in a pair of macros (BEGIN/END_INTERRUPT_WITH_EXCEPTIONS) that should take care of exceptions and return to prompt.

The macros in turn are defined in /liboctave/cruft/misc/quit.h, but I am not competent in that part of the code. Don't know how to force the return to prompt (except explicitly adding a command_editor::interrupt when in error_state).

Pantxo Diribarne <pantxo>
Group Member
Sun 29 Mar 2015 12:25:12 PM UTC, comment #1: 


Thanks for your report. I can confirm the issue, on qt toolkit only. For me, after clicking the faulty menu the first error message is printed but the terminal doesn't return to prompt. Then:

  • it I try to move the figure I get the same second error message as reported.
  • in the terminal, if I press the return key or ctrl+C, I get the usual prompt ">>" and I can then move the figure without any error message

With fltk, Octave doesn't return to prompt neither but subsequent figure manipulations don't trigger the error message.

Pantxo Diribarne <pantxo>
Group Member
Sat 28 Mar 2015 08:41:56 PM UTC, original submission:  

If a callback in a uimenu crashes, there is another error that will be displayed as soon as the figure is moved:

>> F=figure;
>> uimenu(F,'Label','Click Here','Callback','crash');
>> % Click on 'Click Here'
>> error: 'crash' undefined near line 1 column 1
>> % move the figure
error: octave_base_value::matrix_value(): wrong type argument '<unknown type>'
error: A(I,J): row index out of bounds; value 1 out of bound 0
error: unhandled execution exception -- trying to return to prompt

Guillaume <gyom>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by pantxo (Posted a comment)
  • -email is unavailable- added by gyom (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.


    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-11-24 rik5 StatusWorks For Me Fixed
        Open/ClosedOpen Closed
    2015-11-23 rik5 StatusNone Works For Me
    2015-03-29 pantxo CategoryPlotting Plotting with OpenGL

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code