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

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

[Octave-bug-tracker] [bug #61994] Crash on GUI exiting with octave_base_


From: Markus Mützel
Subject: [Octave-bug-tracker] [bug #61994] Crash on GUI exiting with octave_base_value objects still open.
Date: Sun, 13 Feb 2022 05:15:50 -0500 (EST)

Follow-up Comment #13, bug #61994 (project octave):

With hg id e022eab3ea1b, Octave closes without issues with a figure still open
when clicking the "x" in the upper right edge of the main window.
However, when I run the GUI, execute the command from comment #0 and close the
GUI with that "x", Octave exits with:

$ ./run-octave --gui
octave exited with signal 11


The gdb backtrace is:

(gdb) bt
#0  0x00007f3286484f62 in octave_value::~octave_value()
    (this=0x7f31dc722e00, __in_chrg=<optimized out>)
    at ../libinterp/octave-value/ov.h:387
#1  octave_value::~octave_value() (
    this=0x7f31dc722e00, __in_chrg=<optimized out>)
    at ../libinterp/octave-value/ov.h:380
#2 
__gnu_cxx::new_allocator<octave_value>::destroy<octave_value>(octave_value*)
(__p=0x7f31dc722e00, this=<optimized out>)
    at /usr/include/c++/11/ext/new_allocator.h:168
#3  std::allocator_traits<std::allocator<octave_value>
>::destroy<octave_value>(std::allocator<octave_value>&, octave_value*)
    (__p=0x7f31dc722e00, __a=<optimized out>)
    at /usr/include/c++/11/bits/alloc_traits.h:531
#4  Array<octave_value, std::allocator<octave_value>
>::ArrayRep::deallocate(octave_value*, unsigned long) (this=0x7f31dc6bbb60,
len=1, data=0x7f31dc722e00)
    at ../liboctave/array/Array.h:206
#5  Array<octave_value, std::allocator<octave_value> >::ArrayRep::~ArrayRep()
    (this=0x7f31dc6bbb60, __in_chrg=<optimized out>)
    at ../liboctave/array/Array.h:187
#6  Array<octave_value, std::allocator<octave_value> >::~Array()
    (this=0x7f32040057b0, __in_chrg=<optimized out>)
    at ../liboctave/array/Array.h:356
#7  Cell::~Cell() (this=0x7f32040057b0, __in_chrg=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--c
   rp/corefcn/Cell.h:52
#8  std::_Destroy<Cell>(Cell*) (__pointer=0x7f32040057b0) at
/usr/include/c++/11/bits/stl_construct.h:140
#9  std::_Destroy_aux<false>::__destroy<Cell*>(Cell*, Cell*)
(__last=<optimized out>, __first=0x7f32040057b0) at
/usr/include/c++/11/bits/stl_construct.h:152
#10 std::_Destroy<Cell*>(Cell*, Cell*) (__last=<optimized out>,
__first=<optimized out>) at /usr/include/c++/11/bits/stl_construct.h:185
#11 std::_Destroy<Cell*, Cell>(Cell*, Cell*, std::allocator<Cell>&)
(__last=0x7f32040057e0, __first=<optimized out>) at
/usr/include/c++/11/bits/alloc_traits.h:746
#12 std::vector<Cell, std::allocator<Cell> >::~vector() (this=0x7f3204006f18,
__in_chrg=<optimized out>) at /usr/include/c++/11/bits/stl_vector.h:680
#13 octave_map::~octave_map() (this=0x7f3204006f10, __in_chrg=<optimized out>)
at ../libinterp/corefcn/oct-map.h:276
#14 0x00007f32868f8f1f in octave_class::~octave_class() (this=0x7f3204006f00,
__in_chrg=<optimized out>) at /usr/include/c++/11/ext/new_allocator.h:89
#15 octave_class::~octave_class() (this=0x7f3204006f00, __in_chrg=<optimized
out>) at ../libinterp/octave-value/ov-class.h:80
#16 0x00007f3287745929 in octave_value::~octave_value() (this=0x5615328e2c60,
__in_chrg=<optimized out>) at ../libinterp/octave-value/ov.h:387
#17 octave_value::~octave_value() (this=0x5615328e2c60, __in_chrg=<optimized
out>) at ../libinterp/octave-value/ov.h:380
#18 octave::symbol_info::~symbol_info() (this=0x5615328e2c40,
__in_chrg=<optimized out>) at ../libinterp/corefcn/syminfo.h:55
#19 __gnu_cxx::new_allocator<std::_List_node<octave::symbol_info>
>::destroy<octave::symbol_info>(octave::symbol_info*) (__p=0x5615328e2c40,
this=0x56152f69a750) at /usr/include/c++/11/ext/new_allocator.h:168
#20 std::allocator_traits<std::allocator<std::_List_node<octave::symbol_info>
>
>::destroy<octave::symbol_info>(std::allocator<std::_List_node<octave::symbol_info>
>&, octave::symbol_info*) (__p=0x5615328e2c40, __a=...) at
/usr/include/c++/11/bits/alloc_traits.h:531
#21 std::__cxx11::list<octave::symbol_info,
std::allocator<octave::symbol_info>
>::_M_erase(std::_List_iterator<octave::symbol_info>) (__position={m_name =
"a", m_value = {m_rep = 0x7f3204006f00}, m_is_complex = false, m_is_sparse =
false, m_is_formal = false, m_is_global = false, m_is_persistent = false},
this=0x56152f69a750) at /usr/include/c++/11/bits/stl_list.h:1925
#22 std::__cxx11::list<octave::symbol_info,
std::allocator<octave::symbol_info>
>::erase(std::_List_const_iterator<octave::symbol_info>) (__position=Python
Exception <class 'gdb.error'>: value has been optimized out
, this=0x56152f69a750) at /usr/include/c++/11/bits/list.tcc:158
#23 std::__cxx11::list<octave::symbol_info,
std::allocator<octave::symbol_info>
>::erase(std::_List_const_iterator<octave::symbol_info>,
std::_List_const_iterator<octave::symbol_info>) (__last=Python Exception
<class 'gdb.error'>: value has been optimized out
, __first={m_name = "a", m_value = {m_rep = 0x7f3204006f00}, m_is_complex =
false, m_is_sparse = false, m_is_formal = false, m_is_global = false,
m_is_persistent = false}, this=<optimized out>) at
/usr/include/c++/11/bits/stl_list.h:1462
#24 std::__cxx11::list<octave::symbol_info,
std::allocator<octave::symbol_info>
>::_M_assign_dispatch<std::_List_const_iterator<octave::symbol_info>
>(std::_List_const_iterator<octave::symbol_info>,
std::_List_const_iterator<octave::symbol_info>, std::__false_type)
(this=this@entry=0x56152f69a750, __first2=Python Exception <class
'gdb.error'>: value has been optimized out
, __first2@entry={m_name = <error reading variable: Cannot create a lazy
string with address 0x0, and a non-zero length.>, m_value = {m_rep =
0x7f31dc7ac5a0}, m_is_complex = 48, m_is_sparse = 167, m_is_formal = 105,
m_is_global = 47, m_is_persistent = 21}, __last2=Python Exception <class
'gdb.error'>: value has been optimized out
, __last2@entry={m_name = <error reading variable: Cannot create a lazy string
with address 0x0, and a non-zero length.>, m_value = {m_rep = 0x7f31dc7ac5a0},
m_is_complex = 48, m_is_sparse = 167, m_is_formal = 105, m_is_global = 47,
m_is_persistent = 21}) at /usr/include/c++/11/bits/list.tcc:318
#25 0x00007f3287745988 in std::__cxx11::list<octave::symbol_info,
std::allocator<octave::symbol_info>
>::operator=(std::__cxx11::list<octave::symbol_info,
std::allocator<octave::symbol_info> > const&) (__x=empty std::__cxx11::list,
this=<optimized out>) at /usr/include/c++/11/bits/stl_list.h:282
#26 std::__cxx11::list<octave::symbol_info,
std::allocator<octave::symbol_info>
>::operator=(std::__cxx11::list<octave::symbol_info,
std::allocator<octave::symbol_info> > const&) (__x=empty std::__cxx11::list,
this=<optimized out>) at /usr/include/c++/11/bits/list.tcc:267
#27
octave::base_list<octave::symbol_info>::operator=(octave::base_list<octave::symbol_info>
const&) (bl=..., this=<optimized out>) at ../liboctave/util/base-list.h:100
#28 octave::symbol_info_list::operator=(octave::symbol_info_list const&)
(this=<optimized out>) at ../libinterp/corefcn/syminfo.h:103
#29 octave::workspace_model::clear_data() (this=0x56152f69a730) at
../libgui/src/workspace-model.cc:222
#30 0x00007f3287745b26 in octave::workspace_model::set_workspace(bool, bool,
octave::symbol_info_list const&) (this=0x56152f69a730, top_level=<optimized
out>, syminfo=...) at ../libgui/src/workspace-model.cc:183
#31 0x00007f328364f73e in QObject::event(QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007f32841106b3 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007f32876f352b in octave::octave_qapplication::notify(QObject*,
QEvent*) (this=0x56152f4705a0, receiver=<optimized out>, ev=<optimized out>)
at ../libgui/src/octave-qobject.cc:146
#34 0x00007f328362216a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007f3283625257 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007f328367bef7 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007f3280d4c8bb in g_main_context_dispatch () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f3280d9ff08 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007f3280d4a003 in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007f328367b548 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x00007f3283620a9b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#42 0x00007f3283629024 in QCoreApplication::exec() () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007f32876f0343 in octave::base_qobject::exec()
(this=this@entry=0x7fffc5581950) at ../libgui/src/octave-qobject.cc:424
#44 0x00007f3287703791 in octave::qt_application::execute()
(this=this@entry=0x7fffc5581be0) at ../libgui/src/qt-application.cc:73
#45 0x000056152e0ab536 in main(int, char**) (argc=9, argv=0x7fffc5581f58) at
../src/main-gui.cc:132


    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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