[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #54187] fail to close a busy figure and crash
From: |
anonymous |
Subject: |
[Octave-bug-tracker] [bug #54187] fail to close a busy figure and crash octave |
Date: |
Mon, 25 Jun 2018 23:19:45 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 |
URL:
<http://savannah.gnu.org/bugs/?54187>
Summary: fail to close a busy figure and crash octave
Project: GNU Octave
Submitted by: None
Submitted on: Tue 26 Jun 2018 03:19:43 AM UTC
Category: Plotting
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Segfault, Bus Error, etc.
Status: None
Assigned to: None
Originator Name:
Originator Email: address@hidden
Open/Closed: Open
Discussion Lock: Any
Release: 4.4.0
Operating System: GNU/Linux
_______________________________________________________
Details:
When a figure is busy, closing it (e.g. click the "X" button, press Alt+F4, or
Ctrl+W, etc.) does not work.
What's more, in this case, if some code tries to close it, then octave would
crash with segfault.
This happens in octave 4.4.0; octave 4.2.x does not have this problem. Is
this a regression ?
My environment is Debian GNU/Linux with LXDE desktop.
Here is an example how to reproduce this bug:
1) edit a function file tmp.m (see below);
2) start "octave" or "octave --gui";
3) run "tmp" at the octave prompt and we would see an image moving in a
figure;
4) NOW use mouse or shortcut key to close this figure (but this would FAIL);
5) THEN press Ctrl+C at the octave prompt to interrupt "tmp", this would run
the onCleanup code which tries to close the figure (but this would CRASH
octave with segfault)
address@hidden:~$ cat tmp.m
function tmp
a = imread('octave-sombrero.png');
h = imshow(a);
f = gcf();
o = onCleanup(@() isfigure(f) && close(f));
while (isfigure(f))
a = shift(a,1);
set(h,'cdata',a);
drawnow;
pause(0.01);
end
end
address@hidden:~$ octave
GNU Octave, version 4.4.0
Copyright (C) 2018 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. For details, type 'warranty'.
Octave was configured for "x86_64-pc-linux-gnu".
Additional information about Octave is available at https://www.octave.org.
Please contribute if you find this software useful.
For more information, visit https://www.octave.org/get-involved.html
Read https://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type 'news'.
octave:1> tmp
^C
octave:1> fatal: caught signal Segmentation fault -- stopping myself...
Segmentation fault
address@hidden:~$ octave --gui
octave exited with signal 11
address@hidden:~$
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?54187>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #54187] fail to close a busy figure and crash octave,
anonymous <=