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

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

[Octave-bug-tracker] [bug #53644] Possible Octave or Nouveau image plot


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #53644] Possible Octave or Nouveau image plot bug (not sure which) discovered via ASAN
Date: Sat, 14 Apr 2018 02:09:06 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0

Follow-up Comment #3, bug #53644 (project octave):

The data all sort of makes sense to me in terms of the
opengl_renderer::draw_axes_planes() routine.  But something is not quite right
about the initialization of the figure/graphics.  If I call

>> figure; image

immediately after launching octave, I see:


octave:1> image
vw: 0 0 560 420
draw_axes_planes: true 9.0
spo 1
spo 2
spo 3
spo 6
xPlane: 1
yPlane: 1
zPlane: 0
xPlaneN: 0
yPlaneN: 0
zPlaneN: 1
is2d: 1
draw_axes_planes: set_polygon_offset (false);
spo 4
spo 5
spo 6
vw: 0 0 560 420
draw_axes_planes: true 9.0
spo 1
spo 2
spo 3
spo 6
xPlane: 1
yPlane: 1
zPlane: 0
xPlaneN: 0
yPlaneN: 0
zPlaneN: 1
is2d: 1
draw_axes_planes: set_polygon_offset (false);
spo 4
spo 5
spo 6
vw: 0 0 560 420
draw_axes_planes: true 9.0
spo 1
spo 2
spo 3
spo 6
xPlane: 1
yPlane: 1
zPlane: 0
xPlaneN: 0
yPlaneN: 0
zPlaneN: 1
is2d: 1
draw_axes_planes: set_polygon_offset (false);
spo 4
spo 5
spo 6
octave:2> vw: 0 0 560 420
draw_axes_planes: true 9.0
spo 1
spo 2
spo 3
spo 6
xPlane: 64.5
yPlane: 0.5
zPlane: 0
xPlaneN: 0.5
yPlaneN: 64.5
zPlaneN: 1
is2d: 1
draw_axes_planes: set_polygon_offset (false);
spo 4
spo 5
spo 6
gonna draw_image
vw: 0 0 560 420
draw_axes_planes: true 9.0
spo 1
spo 2
spo 3
spo 6
xPlane: 64.5
yPlane: 0.5
zPlane: 0
xPlaneN: 0.5
yPlaneN: 64.5
zPlaneN: 1
is2d: 1
draw_axes_planes: set_polygon_offset (false);
spo 4


ASAN aborts.  And if I use

>> figure
>> image

I see:


vw: 0 0 560 420
draw_axes_planes: true 9.0
spo 1
spo 2
spo 3
spo 6
xPlane: 64.5
yPlane: 0.5
zPlane: 0
xPlaneN: 0.5
yPlaneN: 64.5
zPlaneN: 1
is2d: 1
draw_axes_planes: set_polygon_offset (false);
spo 4
spo 5
spo 6
gonna draw_image


i.e., success.  Notice there isn't that extra rounds of calling this routine
in the latter example.

I think that this is the timing issue bug that is fairly recent

https://savannah.gnu.org/bugs/?53513

Notice how in the failing first case I used "figure; image".  In the
successful latter case I used "figure" followed by "image".  That time it took
me to type "i m a g e <CR>" was easily enough of a delay to do effectively
what Rik's doing with adding a delay.  So, the above is a clue as to what is
happening.  It looks to me that the figure is created, perhaps only partially,
while plotting is allowed to proceed.  Some kind of recursion in the plotting
action is going on until (maybe) some variable being set is stopping the
recursion.

Reiterating, there should only be one call to
opengl_renderer::draw_axes_planes() in drawing this simple image figure, not
five calls to draw_axes_planes().  Notice how the first few passes are using a
box of (0,0) to (1,1) (probably default upon creating the figure) while the
last few have a box more in line with the image data (0.5,0.5) to (64.5,64.5).
 And the number of passes is random when I try this multiple times.

The same type of scenario occurs if I do a data plot like "figure;
plot(1:50)", but that doesn't seem to cause a pointer outside of memory block
so ASAN doesn't abort.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?53644>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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