bugGNU Octave - Bugs: bug #60987, rotating generated image with...

 
 

bug #60987: rotating generated image with mouse causes segfault

Submitter:  Chris Gorman <chrisgorman>
Submitted:  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:  Invalid / Not an Octave Bug Assigned to:  None
Originator Name:  Chris Gorman Open/Closed:  * Closed
Release:  * 6.3.0 Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 29 Jul 2021 04:11:59 PM UTC, comment #7: 

I'm tentatively closing this report as an upstream issue.
If they should determine that the bug is actually with Octave, we can re-open this report.

Markus Mützel <mmuetzel>
Group administrator
Thu 29 Jul 2021 03:33:07 PM UTC, comment #6: 

Ok, I posted a bug report for this with freedesktop.

https://gitlab.freedesktop.org/mesa/mesa/-/issues/5144

Chris

Chris Gorman <chrisgorman>
Thu 29 Jul 2021 02:29:16 PM UTC, comment #5: 

Ok. Dimitri's solution fixes the bugs.  Should this be closed and opened as a bug in the graphics driver? 

Chris

Chris Gorman <chrisgorman>
Thu 29 Jul 2021 02:18:33 PM UTC, comment #4: 

No. Undo that.
Just start octave as
 


LIBGL_ALWAYS_SOFTWARE=1 octave


See https://docs.mesa3d.org/envvars.html for details.

Dmitri.
--


Dmitri A. Sergatskov <dasergatskov>
Thu 29 Jul 2021 02:13:44 PM UTC, comment #3: 

I disabled hardware accelerated graphics via creating a file /etc/X11/xorg.conf.d/disable-gpu.conf with the contents...


Section "Extensions"
    Option "GLX" "Disable"
EndSection


Now I get the following from glxinfo.  (Whereas I got info from it before making disable-gpu.conf.)


[chris@descartes ~]$ glxinfo
name of display: :0
Error: couldn't find RGB GLX visual or fbconfig


I still get the same errors.  I'm putting the gdb backtrace inside a verbatim as it looks horible currently.  This is from demo isosurface.


(gdb) bt
#0  0x00007f655e9345e3 in LLVMBuildBitCast () from /usr/lib/libLLVM-12.so
#1  0x00007f6579cdb620 in ?? () from /usr/lib/dri/r600_dri.so
#2  0x00007f657a684b9b in ?? () from /usr/lib/dri/r600_dri.so
#3  0x00007f6579cb1869 in ?? () from /usr/lib/dri/r600_dri.so
#4  0x00007f6579c50300 in ?? () from /usr/lib/dri/r600_dri.so
#5  0x00007f6579c61265 in ?? () from /usr/lib/dri/r600_dri.so
#6  0x00007f6579bfe5e2 in ?? () from /usr/lib/dri/r600_dri.so
#7  0x00007f657a68b042 in ?? () from /usr/lib/dri/r600_dri.so
#8  0x00007f6579c04265 in ?? () from /usr/lib/dri/r600_dri.so
#9  0x00007f6579c0c869 in ?? () from /usr/lib/dri/r600_dri.so
#10 0x00007f65797d74a3 in ?? () from /usr/lib/dri/r600_dri.so
#11 0x00007f6579870bd3 in ?? () from /usr/lib/dri/r600_dri.so
#12 0x00007f657986ede3 in ?? () from /usr/lib/dri/r600_dri.so
#13 0x00007f657998df7c in ?? () from /usr/lib/dri/r600_dri.so
#14 0x00007f657998e2dd in ?? () from /usr/lib/dri/r600_dri.so
#15 0x00007f6579a39a26 in ?? () from /usr/lib/dri/r600_dri.so
#16 0x00007f659538ab6e in octave::opengl_renderer::set_polygon_offset(bool, float) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#17 0x00007f6590a0ce6b in gluTessEndPolygon () from /usr/lib/libGLU.so.1
#18 0x00007f65953a565c in octave::opengl_renderer::draw_patch(patch::properties const&) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#19 0x00007f659538f753 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 0x00007f6595c5edba in octave::opengl_selector::draw(graphics_object const&, bool) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#21 0x00007f65953a8c50 in octave::opengl_renderer::draw_axes_children(axes::properties const&) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#22 0x00007f65953a97e5 in octave::opengl_renderer::draw_axes(axes::properties c
nst&) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#23 0x00007f659538f753 in octave::opengl_renderer::draw(graphics_object const&, bool) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#24 0x00007f6595c5edba in octave::opengl_selector::draw(graphics_object const&, bool) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#25 0x00007f6595c5f029 in octave::opengl_selector::select(graphics_object const&, int, int, int) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#26 0x00007f6595c252c1 in QtHandles::GLCanvas::selectFromAxes(graphics_object const&, QPoint const&) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#27 0x00007f6595c14342 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 0x00007f6595c14fa5 in QtHandles::Canvas::canvasMousePressEvent(QMouseEvent*) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#29 0x00007f65927620be in QWidget::event(QEvent*) ()
   from /usr/lib/libQt5Widgets.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#30 0x00007f659271ed62 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/libQt5Widgets.so.5
#31 0x00007f6592726ac9 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libQt5Widgets.so.5
#32 0x00007f6595cc7388 in octave::octave_qapplication::notify(QObject*, QEvent*) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#33 0x00007f6591c4a3aa in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () from /usr/lib/libQt5Core.so.5
#34 0x00007f659272557b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
   from /usr/lib/libQt5Widgets.so.5
#35 0x00007f659277ba84 in ?? () from /usr/lib/libQt5Widgets.so.5
#36 0x00007f659277edb5 in ?? () from /usr/lib/libQt5Widgets.so.5
#37 0x00007f659271ed62 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/libQt5Widgets.so.5
#38 0x00007f6595cc7388 in octave::octave_qapplication::notify(QObject*, QEvent*) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#39 0x00007f6591c4a3aa in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () from /usr/lib/libQt5Core.so.5
#40 0x00007f6592023210 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#41 0x00007f6591ff87e5 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 0x00007f658bc96fac in ?? () from /usr/lib/libQt5XcbQpa.so.5
#43 0x00007f658ed9b10c in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
#44 0x00007f658edeeb99 in ?? () from /usr/lib/libglib-2.0.so.0
#45 0x00007f658ed98871 in g_main_context_iteration ()
   from /usr/lib/libglib-2.0.so.0
#46 0x00007f6591ca2fd6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#47 0x00007f6591c48d1c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#48 0x00007f6591c51284 in QCoreApplication::exec() ()
   from /usr/lib/libQt5Core.so.5
#49 0x00007f6595cd1f67 in octave::qt_application::execute() ()
   from /usr/lib/octave/6.3.0/liboctgui.so.6
#50 0x000055e4ac8d922f in ?? ()
#51 0x00007f6593399b25 in __libc_start_main () from /usr/lib/libc.so.6
#52 0x000055e4ac8d950e in ?? ()


This is from the camlight example.


(gdb) bt
#0  0x00007f010e9345e3 in LLVMBuildBitCast () from /usr/lib/libLLVM-12.so
#1  0x00007f0128bea620 in ?? () from /usr/lib/dri/r600_dri.so
#2  0x00007f0129593b9b in ?? () from /usr/lib/dri/r600_dri.so
#3  0x00007f0128bc0869 in ?? () from /usr/lib/dri/r600_dri.so
#4  0x00007f0128b5f300 in ?? () from /usr/lib/dri/r600_dri.so
#5  0x00007f0128b70265 in ?? () from /usr/lib/dri/r600_dri.so
#6  0x00007f0128b0d5e2 in ?? () from /usr/lib/dri/r600_dri.so
#7  0x00007f012959a042 in ?? () from /usr/lib/dri/r600_dri.so
#8  0x00007f0128b13265 in ?? () from /usr/lib/dri/r600_dri.so
#9  0x00007f0128b1b869 in ?? () from /usr/lib/dri/r600_dri.so
#10 0x00007f01286e64a3 in ?? () from /usr/lib/dri/r600_dri.so
#11 0x00007f012877fbd3 in ?? () from /usr/lib/dri/r600_dri.so
#12 0x00007f012877dde3 in ?? () from /usr/lib/dri/r600_dri.so
#13 0x00007f012889cf7c in ?? () from /usr/lib/dri/r600_dri.so
#14 0x00007f012889d2dd in ?? () from /usr/lib/dri/r600_dri.so
#15 0x00007f01289491f7 in ?? () from /usr/lib/dri/r600_dri.so
#16 0x00007f0143ee37b0 in octave::opengl_renderer::draw_surface(surface::properties const&) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#17 0x00007f0143ed1753 in octave::opengl_renderer::draw(graphics_object const&, bool) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#18 0x00007f01447a0dba in octave::opengl_selector::draw(graphics_object const&, bool) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#19 0x00007f0143eeac50 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 0x00007f0143eeb7e5 in octave::opengl_renderer::draw_axes(axes::properties const&) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#21 0x00007f0143ed1753 in octave::opengl_renderer::draw(graphics_object const&, bool) () from /usr/lib/octave/6.3.0/liboctinterp.so.9
#22 0x00007f01447a0dba in octave::opengl_selector::draw(graphics_object const&, bool) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#23 0x00007f01447a1029 in octave::opengl_selector::select(graphics_object const&, int, int, int) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#24 0x00007f01447672c1 in QtHandles::GLCanvas::selectFromAxes(graphics_object const&, QPoint const&) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#25 0x00007f0144756342 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 0x00007f0144756fa5 in QtHandles::Canvas::canvasMousePressEvent(QMouseEvent*) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#27 0x00007f01412a40be in QWidget::event(QEvent*) ()
   from /usr/lib/libQt5Widgets.so.5
#28 0x00007f0141260d62 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/libQt5Widgets.so.5
#29 0x00007f0141268ac9 in QApplication::notify(QObject*, QEvent*) ()
--Type <RET> for more, q to quit, c to continue without paging--
   from /usr/lib/libQt5Widgets.so.5
#30 0x00007f0144809388 in octave::octave_qapplication::notify(QObject*, QEvent*) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#31 0x00007f014078c3aa in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () from /usr/lib/libQt5Core.so.5
#32 0x00007f014126757b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
   from /usr/lib/libQt5Widgets.so.5
#33 0x00007f01412bda84 in ?? () from /usr/lib/libQt5Widgets.so.5
#34 0x00007f01412c0db5 in ?? () from /usr/lib/libQt5Widgets.so.5
#35 0x00007f0141260d62 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/libQt5Widgets.so.5
#36 0x00007f0144809388 in octave::octave_qapplication::notify(QObject*, QEvent*) () from /usr/lib/octave/6.3.0/liboctgui.so.6
#37 0x00007f014078c3aa in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () from /usr/lib/libQt5Core.so.5
#38 0x00007f0140b65210 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#39 0x00007f0140b3a7e5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#40 0x00007f013a7d8fac in ?? () from /usr/lib/libQt5XcbQpa.so.5
#41 0x00007f013d8dd10c 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 0x00007f013d930b99 in ?? () from /usr/lib/libglib-2.0.so.0
#43 0x00007f013d8da871 in g_main_context_iteration ()
   from /usr/lib/libglib-2.0.so.0
#44 0x00007f01407e4fd6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#45 0x00007f014078ad1c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#46 0x00007f0140793284 in QCoreApplication::exec() ()
   from /usr/lib/libQt5Core.so.5
#47 0x00007f0144813f67 in octave::qt_application::execute() ()
   from /usr/lib/octave/6.3.0/liboctgui.so.6
#48 0x000055598724322f in ?? ()
#49 0x00007f0141edbb25 in __libc_start_main () from /usr/lib/libc.so.6
#50 0x000055598724350e in ?? ()


My system is arch linux using mesa 21.1.5-1, llvm-libs 12.0.1-2.  Did I properly disable hardware acceleration?  This is my first attempt at it.  Do I need to rebuild octave to test this properly?

Chris Gorman <chrisgorman>
Thu 29 Jul 2021 07:44:14 AM UTC, comment #2: 

I can't reproduce on Windows 10 with Octave 6.3.0. That is using mesa 20.1.10's llvmpipe with LLVM 7.1.0.

It also works correctly for me with Octave 7 that is using mesa 21.0.3's llvmpipe with LLVM 12.0.1 on the same platform.

Maybe a bug in the graphics drivers?
Does it work if you switch to software accelerated graphics?

Markus Mützel <mmuetzel>
Group administrator
Wed 28 Jul 2021 11:35:42 PM UTC, comment #1: 

Yes, can reproduce even with Octave 7 (hg id 53de043ea532).


octave:1> graphics_toolkit
ans = qt
octave:2> a = eye(3); mesh(a); camlight;

## Here I clicked on the figure itself. Variations: tried to drag it, clicked on the Rotate button first, all the same. One click and it crashes.

octave:3> fatal: caught signal Segmentation fault -- stopping myself...
Segmentation fault (core dumped)


The same thing happens with the "demo isosurface" test as well. One click and it crashes, whether or not in rotate mode.

Calling the first test without camlight does not cause a crash.

Anonymous
Wed 28 Jul 2021 11:20:00 PM UTC, original submission:  

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 ?? ()

Chris Gorman <chrisgorman>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by dasergatskov (Posted a comment)
  • -email is unavailable- added by mmuetzel (Posted a comment)
  • -email is unavailable- added by chrisgorman (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-07-29 mmuetzel StatusNone Invalid / Not an Octave Bug
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.14-f13d.
    Corresponding source code