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

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

[Octave-bug-tracker] [bug #54920] sigabrt (signal-6) crash with AutoScal


From: Lynn quam
Subject: [Octave-bug-tracker] [bug #54920] sigabrt (signal-6) crash with AutoScale in xscale = log mode
Date: Tue, 30 Oct 2018 13:02:47 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0

URL:
  <https://savannah.gnu.org/bugs/?54920>

                 Summary: sigabrt (signal-6) crash with AutoScale in xscale =
log mode
                 Project: GNU Octave
            Submitted by: lhquam
            Submitted on: Tue 30 Oct 2018 05:02:45 PM UTC
                Category: Plotting
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Segfault, Bus Error, etc.
                  Status: None
             Assigned to: None
         Originator Name: LH Quam
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 4.4.1
        Operating System: GNU/Linux

    _______________________________________________________

Details:

The following code demonstrates a bug that crashes Octave 4.4.1 on Fedora-27
X86-64.
graphics_toolkit is qt.

The following steps consistently crashes Octave with signal-6:
1. Run crash_bug ().
2. Select a rectangular window in plot using mouse, OR "Pan" the plot.
3. Click on 'logx' toggle button to switch to 'xscale' = 'log' mode.
4. AutoScale the plot by clicking middle-mouse button or double-click. 

It appears that any mouse actions that change the plot-to-window transform
while 'xscale' = 'linear' will cause problems when the axes are switches to
'xscale' = 'log' mode, and then autoscale_axes is called.  

The following sequence DOES NOT cause Octave to crash:

1. Run crash_bug ().
2. Click on 'logx' toggle button to switch to 'xscale' = 'log' mode.
3. Zoom, Pan, or Autoscale the plot.
4. Click on 'logx' toggle button to switch to 'xscale' = 'linear' mode.
5. Autoscale the plot
6. Click on 'logx' toggle button to switch to 'xscale' = 'log' mode.
7. Zoom, Pan, or Autoscale the plot.
8. ...

If Zoom or Pan are not invoked while 'xscale' = 'linear', everything works
fine
switching between 'log' and 'linear' modes and doing Zoom, Pan, or Autoscale
in 'log' mode.


function crash_bug ()
  xdata = (0:10);
  figure('toolbar','figure');
  uicontrol('style', 'togglebutton', 'string', "logx",...
            'units','normalized', 'position', [.01,.9,.1,.05],...
            'callback', @logx_callback);
  axes('units', 'normalized', 'position', [.1,.1,.8,.7]);
  line(xdata, xdata);
  zoom('on');
endfunction

function logx_callback (h)
  if get(h,'value')
    set(gca(), 'xscale', 'log');
  else
    set(gca(), 'xscale', 'linear');
  endif
endfunction





    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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