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

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

[Octave-bug-tracker] [bug #58814] Abort, core dump on exiting from graph


From: Rik
Subject: [Octave-bug-tracker] [bug #58814] Abort, core dump on exiting from graphics code
Date: Thu, 23 Jul 2020 20:33:20 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

Follow-up Comment #2, bug #58814 (project octave):

Was finally able to get a backtrace.  See below


#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007fd35daee8b1 in __GI_abort () at abort.c:79
#2  0x00007fd35e143957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007fd35e149ae6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007fd35e149b21 in std::terminate() () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007fd35e149d54 in __cxa_throw () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007fd35e148a82 in __cxa_bad_cast () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007fd360585331 in patch::properties::get_do_lighting
(this=0x7fd32a507e30)
    at libinterp/corefcn/graphics.cc:9624
#8  0x00007fd360426521 in octave::opengl_renderer::draw_patch
(this=0x56013ae2c9a0, props=...)
    at libinterp/corefcn/gl-render.cc:3204
#9  0x00007fd3604121cf in octave::opengl_renderer::draw (this=0x56013ae2c9a0,
go=..., 
    toplevel=true) at libinterp/corefcn/gl-render.cc:736
#10 0x00007fd36041da60 in octave::opengl_renderer::draw_axes_children
(this=0x56013ae2c9a0, 
    props=...) at libinterp/corefcn/gl-render.cc:2256
#11 0x00007fd36041e2b2 in octave::opengl_renderer::draw_axes
(this=0x56013ae2c9a0, props=...)
    at libinterp/corefcn/gl-render.cc:2344
#12 0x00007fd360411fbc in octave::opengl_renderer::draw (this=0x56013ae2c9a0,
go=..., 
    toplevel=false) at libinterp/corefcn/gl-render.cc:730
#13 0x00007fd36042dc0f in octave::opengl_renderer::draw (this=0x56013ae2c9a0,
hlist=..., 
    toplevel=false) at libinterp/corefcn/gl-render.cc:4080
#14 0x00007fd3604131da in octave::opengl_renderer::draw_figure
(this=0x56013ae2c9a0, props=...)
    at libinterp/corefcn/gl-render.cc:797
#15 0x00007fd360411f0b in octave::opengl_renderer::draw (this=0x56013ae2c9a0,
go=..., 
    toplevel=true) at libinterp/corefcn/gl-render.cc:728
#16 0x00007fd360fee780 in QtHandles::GLCanvas::draw (this=0x56013ae2c910,
gh=...)
    at libgui/graphics/GLCanvas.cc:87
#17 0x00007fd360fd66f4 in QtHandles::Canvas::canvasPaintEvent
(this=0x56013ae2c940)
    at libgui/graphics/Canvas.cc:284
#18 0x00007fd360fefbdc in QtHandles::GLCanvas::paintGL (this=0x56013ae2c910)
    at libgui/graphics/GLCanvas.cc:241
#19 0x00007fd35c4f987d in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007fd35c4d9048 in QWidget::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007fd35c49a83c in QApplicationPrivate::notify_helper(QObject*,
QEvent*) ()
#22 0x00007fd35c4a2104 in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007fd3610d4788 in octave::octave_qapplication::notify
(this=0x5601392e30c0, receiver=0x56013ae2c910, ev=0x7ffd4b17c8e0)
    at libgui/src/octave-qobject.cc:132                                       
                     
#24 0x00007fd35b71c8d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007fd35c4d219a in QWidgetPrivate::sendPaintEvent(QRegion const&) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007fd35c4d275a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion
const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                          
                        
#27 0x00007fd35c4d33c0 in
QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&,
int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                         
#28 0x00007fd35c4d2366 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion
const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                          
                           
#29 0x00007fd35c4d33c0 in
QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&,
int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                            

#30 0x00007fd35c4d3549 in
QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&,
int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                             
    
#31 0x00007fd35c4d3549 in
QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&,
int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                             
    
#32 0x00007fd35c4d3549 in
QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&,
int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                             
       
#33 0x00007fd35c4d2366 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion
const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                          
                                      
#34 0x00007fd35c4a9dfe in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                                  
      
#35 0x00007fd35c4aa0a5 in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                                  
      
#36 0x00007fd35c4c167f in QWidgetPrivate::syncBackingStore() () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5         
#37 0x00007fd35c4d91b8 in QWidget::event(QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                      
#38 0x00007fd35c5ecc6b in QMainWindow::event(QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5                      
#39 0x00007fd360fee0b3 in QtHandles::FigureWindowBase::event
(this=0x56013b7a9100, evt=0x56013c0bdcc0) at
libgui/graphics/FigureWindow.h:36
#40 0x00007fd35c49a83c in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#41 0x00007fd35c4a2104 in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5             
#42 0x00007fd3610d4788 in octave::octave_qapplication::notify
(this=0x5601392e30c0, receiver=0x56013b7a9100, ev=0x56013c0bdcc0)      
    at libgui/src/octave-qobject.cc:132                                       
                                                        
#43 0x00007fd35b71c8d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5        
#44 0x00007fd35b71f04d in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#45 0x00007fd35b776263 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
                                                                       
#46 0x00007fd353f6a417 in g_main_context_dispatch () from
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007fd353f6a650 in ?? () from
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007fd353f6a6dc in g_main_context_iteration () from
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007fd35b77588f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#50 0x00007fd35b71a90a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#51 0x00007fd35b7239b4 in QCoreApplication::exec() () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52 0x00007fd3610d526d in octave::base_qobject::exec (this=0x7ffd4b17ddf0) at
libgui/src/octave-qobject.cc:271
#53 0x00007fd3610e2fc6 in octave::qt_application::execute
(this=0x7ffd4b17df70) at libgui/src/qt-application.cc:73
#54 0x0000560137b178a1 in main (argc=3, argv=0x7ffd4b17e278) at
src/main-gui.cc:106



The trouble seems to be the dynamic cast in this code


bool
patch::properties::get_do_lighting (void) const
{
  gh_manager& gh_mgr
    = octave::__get_gh_manager__ ("patch::properties::get_do_lighting");

  graphics_object go = gh_mgr.get_object (get___myhandle__ ());

  axes::properties& ax_props = dynamic_cast<axes::properties&>
    (go.get_ancestor ("axes").get_properties ());

  return (ax_props.get_num_lights () > 0);
}




    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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