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

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

[Octave-bug-tracker] [bug #61994] Crash on GUI exiting with octave_base_


From: John W. Eaton
Subject: [Octave-bug-tracker] [bug #61994] Crash on GUI exiting with octave_base_value objects still open.
Date: Sat, 12 Feb 2022 12:28:01 -0500 (EST)

Follow-up Comment #7, bug #61994 (project octave):

It looks like the workspace model used by the workspace viewer is being
deleted after the interpreter has already executed its shutdown procedure. 
Since the workspace model is holding references to octave_value objects, that
can cause trouble.  I pushed the following changeset so that the GUI does not
attempt to shut down the interpreter.  This change appears to avoid the
problem and works for me with both the current and experimental terminal
widgets.

http://hg.savannah.gnu.org/hgweb/octave/rev/fb0d6b1e0b64

There may still be some issues with some unusual shutdown sequences.  For
example, what happens if a classdef destructor or a graphics "closerequestfcn"
tries to create some additional graphics objects as Octave is trying to exit? 
Or attempts to restart the GUI (possible with desktop function when using the
experimental terminal widget)?  I don't know that we have solutions for those
problems yet.

I made the change that caused Octave to call interpreter::shutdown from
interpreter_qobject::execute whether using the current or experimental
terminal widget in this changeset: 
http://hg.savannah.gnu.org/hgweb/octave/rev/f6ad83cbe3c4  Whatever my thoughts
were then, I now think that was a mistake as it seems best for the GUI to be
closed and then for the Octave interpreter to exit and not have the GUI try to
shut down the interpreter.

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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