[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #60987] rotating generated image with mouse ca
From: |
Chris Gorman |
Subject: |
[Octave-bug-tracker] [bug #60987] rotating generated image with mouse causes segfault |
Date: |
Wed, 28 Jul 2021 19:20:02 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0 |
URL:
<https://savannah.gnu.org/bugs/?60987>
Summary: rotating generated image with mouse causes segfault
Project: GNU Octave
Submitted by: chrisgorman
Submitted on: Wed 28 Jul 2021 11:20:00 PM UTC
Category: Plotting with OpenGL
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Segfault, Bus Error, etc.
Status: None
Assigned to: None
Originator Name: Chris Gorman
Originator Email:
Open/Closed: Open
Release: 6.3.0
Discussion Lock: Any
Operating System: GNU/Linux
_______________________________________________________
Details:
I can get octave to segfault with mouse rotations of the generated figure. My
first example is to use camlight on a generated image.
octave:1> a=eye(3);
octave:2> mesh(a)
octave:3> camlight
Now rotate the generated image with my mouse and segfault. When examined by
gdb the core yields.
Core was generated by
`/usr/lib/octave/6.3.0/exec/x86_64-pc-linux-gnu/octave-gui'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f3bba9345e3 in LLVMBuildBitCast () from /usr/lib/libLLVM-12.so
[Current thread is 1 (Thread 0x7f3be6b20a00 (LWP 626897))]
(gdb) bt
#0 0x00007f3bba9345e3 in LLVMBuildBitCast () from /usr/lib/libLLVM-12.so
#1 0x00007f3bd4cd9620 in ?? () from /usr/lib/dri/r600_dri.so
#2 0x00007f3bd5682b9b in ?? () from /usr/lib/dri/r600_dri.so
#3 0x00007f3bd4caf869 in ?? () from /usr/lib/dri/r600_dri.so
#4 0x00007f3bd4c4e300 in ?? () from /usr/lib/dri/r600_dri.so
#5 0x00007f3bd4c5f265 in ?? () from /usr/lib/dri/r600_dri.so
#6 0x00007f3bd4bfc5e2 in ?? () from /usr/lib/dri/r600_dri.so
#7 0x00007f3bd5689042 in ?? () from /usr/lib/dri/r600_dri.so
#8 0x00007f3bd4c02265 in ?? () from /usr/lib/dri/r600_dri.so
#9 0x00007f3bd4c0a869 in ?? () from /usr/lib/dri/r600_dri.so
#10 0x00007f3bd47d54a3 in ?? () from /usr/lib/dri/r600_dri.so
#11 0x00007f3bd486ebd3 in ?? () from /usr/lib/dri/r600_dri.so
#12 0x00007f3bd486cde3 in ?? () from /usr/lib/dri/r600_dri.so
#13 0x00007f3bd498bf7c in ?? () from /usr/lib/dri/r600_dri.so
#14 0x00007f3bd498c2dd in ?? () from /usr/lib/dri/r600_dri.so
#15 0x00007f3bd4a381f7 in ?? () from /usr/lib/dri/r600_dri.so
#16 0x00007f3bef9177b0 in
octave::opengl_renderer::draw_surface(surface::properties const&) () from
/usr/lib/octave/6.3.0/liboctinterp.so.9
#17 0x00007f3bef905753 in octave::opengl_renderer::draw(graphics_object
const&, bool) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#18 0x00007f3bf01d4dba in octave::opengl_selector::draw(graphics_object
const&, bool) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#19 0x00007f3bef91ec50 in
octave::opengl_renderer::draw_axes_children(axes::prop--Type <RET> for more, q
to quit, c to continue without paging--
erties const&) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#20 0x00007f3bef91f7e5 in octave::opengl_renderer::draw_axes(axes::properties
const&) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#21 0x00007f3bef905753 in octave::opengl_renderer::draw(graphics_object
const&, bool) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#22 0x00007f3bf01d4dba in octave::opengl_selector::draw(graphics_object
const&, bool) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#23 0x00007f3bf01d5029 in octave::opengl_selector::select(graphics_object
const&, int, int, int) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#24 0x00007f3bf019b2c1 in QtHandles::GLCanvas::selectFromAxes(graphics_object
const&, QPoint const&) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#25 0x00007f3bf018a342 in QtHandles::Canvas::select_object(graphics_object,
QMouseEvent*, graphics_object&, graphics_object&, bool,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >) () from
/usr/lib/octave/6.3.0/liboctgui.so.6
#26 0x00007f3bf018afa5 in
QtHandles::Canvas::canvasMousePressEvent(QMouseEvent*) () from
/usr/lib/octave/6.3.0/liboctgui.so.6
#27 0x00007f3beccd80be in QWidget::event(QEvent*) ()
from /usr/lib/libQt5Widgets.so.5
#28 0x00007f3becc94d62 in QApplicationPrivate::notify_helper(QObject*,
QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#29 0x00007f3becc9cac9 in QApplication::notify(QObject*, QEvent*) ()
--Type <RET> for more, q to quit, c to continue without paging--
from /usr/lib/libQt5Widgets.so.5
#30 0x00007f3bf023d388 in octave::octave_qapplication::notify(QObject*,
QEvent*) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#31 0x00007f3bec1c03aa in QCoreApplication::notifyInternal2(QObject*,
QEvent*)
() from /usr/lib/libQt5Core.so.5
#32 0x00007f3becc9b57b in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool)
()
from /usr/lib/libQt5Widgets.so.5
#33 0x00007f3beccf1a84 in ?? () from /usr/lib/libQt5Widgets.so.5
#34 0x00007f3beccf4db5 in ?? () from /usr/lib/libQt5Widgets.so.5
#35 0x00007f3becc94d62 in QApplicationPrivate::notify_helper(QObject*,
QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#36 0x00007f3bf023d388 in octave::octave_qapplication::notify(QObject*,
QEvent*) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#37 0x00007f3bec1c03aa in QCoreApplication::notifyInternal2(QObject*,
QEvent*)
() from /usr/lib/libQt5Core.so.5
#38 0x00007f3bec599210 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() from /usr/lib/libQt5Gui.so.5
#39 0x00007f3bec56e7e5 in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/libQt5Gui.so.5
#40 0x00007f3be620afac in ?? () from /usr/lib/libQt5XcbQpa.so.5
#41 0x00007f3be931110c in g_main_context_dispatch ()
from /usr/lib/libglib-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--
#42 0x00007f3be9364b99 in ?? () from /usr/lib/libglib-2.0.so.0
#43 0x00007f3be930e871 in g_main_context_iteration ()
from /usr/lib/libglib-2.0.so.0
#44 0x00007f3bec218fd6 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQt5Core.so.5
#45 0x00007f3bec1bed1c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQt5Core.so.5
#46 0x00007f3bec1c7284 in QCoreApplication::exec() ()
from /usr/lib/libQt5Core.so.5
#47 0x00007f3bf0247f67 in octave::qt_application::execute() ()
from /usr/lib/octave/6.3.0/liboctgui.so.6
#48 0x000055bce3f9f22f in ?? ()
#49 0x00007f3bed90fb25 in __libc_start_main () from /usr/lib/libc.so.6
#50 0x000055bce3f9f50e in ?? ()
Another example of a piece of code that generates a segfault is running the
demo for isosurface.
octave:1> demo isosurface
isosurface example 1:
clf;
[x,y,z] = meshgrid (-2:0.5:2, -2:0.5:2, -2:0.5:2);
v = x.^2 + y.^2 + z.^2;
isosurface (x, y, z, v, 1);
axis equal;
title ("isosurface() of a sphere");
At this point attempt to rotate the generated image with the mouse and get a
segfault. Similar to the first. Backtrace from gdb follows.
Core was generated by
`/usr/lib/octave/6.3.0/exec/x86_64-pc-linux-gnu/octave-gui'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f7e7a9345e3 in LLVMBuildBitCast () from /usr/lib/libLLVM-12.so
[Current thread is 1 (Thread 0x7f7ea560da00 (LWP 627528))]
(gdb) bt
#0 0x00007f7e7a9345e3 in LLVMBuildBitCast () from /usr/lib/libLLVM-12.so
#1 0x00007f7e86cdd620 in ?? () from /usr/lib/dri/r600_dri.so
#2 0x00007f7e87686b9b in ?? () from /usr/lib/dri/r600_dri.so
#3 0x00007f7e86cb3869 in ?? () from /usr/lib/dri/r600_dri.so
#4 0x00007f7e86c52300 in ?? () from /usr/lib/dri/r600_dri.so
#5 0x00007f7e86c63265 in ?? () from /usr/lib/dri/r600_dri.so
#6 0x00007f7e86c005e2 in ?? () from /usr/lib/dri/r600_dri.so
#7 0x00007f7e8768d042 in ?? () from /usr/lib/dri/r600_dri.so
#8 0x00007f7e86c06265 in ?? () from /usr/lib/dri/r600_dri.so
#9 0x00007f7e86c0e869 in ?? () from /usr/lib/dri/r600_dri.so
#10 0x00007f7e867d94a3 in ?? () from /usr/lib/dri/r600_dri.so
#11 0x00007f7e86872bd3 in ?? () from /usr/lib/dri/r600_dri.so
#12 0x00007f7e86870de3 in ?? () from /usr/lib/dri/r600_dri.so
#13 0x00007f7e8698ff7c in ?? () from /usr/lib/dri/r600_dri.so
#14 0x00007f7e869902dd in ?? () from /usr/lib/dri/r600_dri.so
#15 0x00007f7e86a3ba26 in ?? () from /usr/lib/dri/r600_dri.so
#16 0x00007f7eae3edb6e in octave::opengl_renderer::set_polygon_offset(bool,
float) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#17 0x00007f7ea9a6fe6b in gluTessEndPolygon () from /usr/lib/libGLU.so.1
#18 0x00007f7eae40865c in
octave::opengl_renderer::draw_patch(patch::properties const&) () from
/usr/lib/octave/6.3.0/liboctinterp.so.9
#19 0x00007f7eae3f2753 in octave::opengl_renderer::draw(graphics_object
const&, bool) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
--Type <RET> for more, q to quit, c to continue without paging--
#20 0x00007f7eaecc1dba in octave::opengl_selector::draw(graphics_object
const&, bool) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#21 0x00007f7eae40bc50 in
octave::opengl_renderer::draw_axes_children(axes::properties const&) () from
/usr/lib/octave/6.3.0/liboctinterp.so.9
#22 0x00007f7eae40c7e5 in octave::opengl_renderer::draw_axes(axes::properties
const&) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#23 0x00007f7eae3f2753 in octave::opengl_renderer::draw(graphics_object
const&, bool) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#24 0x00007f7eaecc1dba in octave::opengl_selector::draw(graphics_object
const&, bool) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#25 0x00007f7eaecc2029 in octave::opengl_selector::select(graphics_object
const&, int, int, int) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#26 0x00007f7eaec882c1 in QtHandles::GLCanvas::selectFromAxes(graphics_object
const&, QPoint const&) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#27 0x00007f7eaec77342 in QtHandles::Canvas::select_object(graphics_object,
QMouseEvent*, graphics_object&, graphics_object&, bool,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >) () from
/usr/lib/octave/6.3.0/liboctgui.so.6
#28 0x00007f7eaec77fa5 in
QtHandles::Canvas::canvasMousePressEvent(QMouseEvent*) () from
/usr/lib/octave/6.3.0/liboctgui.so.6
#29 0x00007f7eab7c50be in QWidget::event(QEvent*) ()
from /usr/lib/libQt5Widgets.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#30 0x00007f7eab781d62 in QApplicationPrivate::notify_helper(QObject*,
QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#31 0x00007f7eab789ac9 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/libQt5Widgets.so.5
#32 0x00007f7eaed2a388 in octave::octave_qapplication::notify(QObject*,
QEvent*) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#33 0x00007f7eaacad3aa in QCoreApplication::notifyInternal2(QObject*,
QEvent*)
() from /usr/lib/libQt5Core.so.5
#34 0x00007f7eab78857b in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool)
()
from /usr/lib/libQt5Widgets.so.5
#35 0x00007f7eab7dea84 in ?? () from /usr/lib/libQt5Widgets.so.5
#36 0x00007f7eab7e1db5 in ?? () from /usr/lib/libQt5Widgets.so.5
#37 0x00007f7eab781d62 in QApplicationPrivate::notify_helper(QObject*,
QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#38 0x00007f7eaed2a388 in octave::octave_qapplication::notify(QObject*,
QEvent*) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#39 0x00007f7eaacad3aa in QCoreApplication::notifyInternal2(QObject*,
QEvent*)
() from /usr/lib/libQt5Core.so.5
#40 0x00007f7eab086210 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() from /usr/lib/libQt5Gui.so.5
#41 0x00007f7eab05b7e5 in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/libQt5Gui.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#42 0x00007f7ea4cf7fac in ?? () from /usr/lib/libQt5XcbQpa.so.5
#43 0x00007f7ea7dfe10c in g_main_context_dispatch ()
from /usr/lib/libglib-2.0.so.0
#44 0x00007f7ea7e51b99 in ?? () from /usr/lib/libglib-2.0.so.0
#45 0x00007f7ea7dfb871 in g_main_context_iteration ()
from /usr/lib/libglib-2.0.so.0
#46 0x00007f7eaad05fd6 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQt5Core.so.5
#47 0x00007f7eaacabd1c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQt5Core.so.5
#48 0x00007f7eaacb4284 in QCoreApplication::exec() ()
from /usr/lib/libQt5Core.so.5
#49 0x00007f7eaed34f67 in octave::qt_application::execute() ()
from /usr/lib/octave/6.3.0/liboctgui.so.6
#50 0x000056161192022f in ?? ()
#51 0x00007f7eac3fcb25 in __libc_start_main () from /usr/lib/libc.so.6
#52 0x000056161192050e in ?? ()
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?60987>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #60987] rotating generated image with mouse causes segfault,
Chris Gorman <=
- [Octave-bug-tracker] [bug #60987] rotating generated image with mouse causes segfault, anonymous, 2021/07/28
- [Octave-bug-tracker] [bug #60987] rotating generated image with mouse causes segfault, Markus Mützel, 2021/07/29
- [Octave-bug-tracker] [bug #60987] rotating generated image with mouse causes segfault, Chris Gorman, 2021/07/29
- [Octave-bug-tracker] [bug #60987] rotating generated image with mouse causes segfault, Dmitri A. Sergatskov, 2021/07/29
- [Octave-bug-tracker] [bug #60987] rotating generated image with mouse causes segfault, Chris Gorman, 2021/07/29
- [Octave-bug-tracker] [bug #60987] rotating generated image with mouse causes segfault, Chris Gorman, 2021/07/29
- [Octave-bug-tracker] [bug #60987] rotating generated image with mouse causes segfault, Markus Mützel, 2021/07/29