octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #57234] 'dbquit' in graphics system callback f


From: John W. Eaton
Subject: [Octave-bug-tracker] [bug #57234] 'dbquit' in graphics system callback function can cause segfault
Date: Fri, 13 Dec 2019 11:54:01 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

Follow-up Comment #14, bug #57234 (project octave):

Pantxo, your patch from comment #13 is a change in the right direction but
there is a simpler way.  In the catch block for the execution_exception, you
can just write


catch (octave::execution_exception& e)
  {
    m_interpreter.handle_exception (e);
  }


There is a lot more going on in this bug.  The reason we see the error


 terminate called after throwing an instance of
'octave::quit_debug_exception'


is that in the debugger::repl function the quitting_debugger function throws
that exception outside of any try/catch block that can catch it.  Fixing that
by moving the quitting_debugger call inside the try/catch block that
immediately follows the call leads to an infinite loop because the execution
state remains unchanged.  Fixing that mostly works but leads to a strange
error  message about "dbquit may only be used when debugging" when the user
presses ENTER.  That's happening because we are making recursive calls to
readline without saving and restoring readline's internal state.

I'm working on fixes for all these issues but it may take a little time.  With
some luck, maybe I won't break anything else!


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?57234>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]