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

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

[Octave-bug-tracker] [bug #56878] Gui segfaults on close, after calling


From: Mike Miller
Subject: [Octave-bug-tracker] [bug #56878] Gui segfaults on close, after calling classdef constructor from static method
Date: Tue, 10 Sep 2019 13:00:13 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36

Update of bug #56878 (project octave):

                  Status:                    None => Fixed                  
             Open/Closed:                    Open => Closed                 

    _______________________________________________________

Follow-up Comment #1:

Confirmed in Octave 5, but this seems to have been fixed on the development
branch that will become Octave 6, there is no segfault.

For reference, the stack trace at the time of the segfault in Octave 5.1.0
looks like


#0  0x00007fa3e42448d0 in  ()
#1  0x00007fa43a9a4bb7 in
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()
(this=0x7fa3e401b6a0) at /usr/include/c++/8/bits/shared_ptr_base.h:148
#2  0x00007fa43a9a4bb7 in
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()
(this=0x7fa3e401b6a0) at /usr/include/c++/8/bits/shared_ptr_base.h:148
#3  0x00007fa43a11d666 in
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count()
(this=<optimized out>, __in_chrg=<optimized out>) at
/usr/include/c++/8/bits/shared_ptr_base.h:1167
#4  0x00007fa43a11d666 in std::__shared_ptr<octave::symbol_scope_rep,
(__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (this=<optimized out>,
__in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
#5  0x00007fa43a11d666 in
std::shared_ptr<octave::symbol_scope_rep>::~shared_ptr() (this=<optimized
out>, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr.h:103
#6  0x00007fa43a11d666 in octave::symbol_scope::~symbol_scope()
(this=<optimized out>, __in_chrg=<optimized out>) at
../libinterp/corefcn/symscope.h:637
#7  0x00007fa43a11d666 in octave::call_stack::stack_frame::~stack_frame()
(this=<optimized out>, __in_chrg=<optimized out>) at
../libinterp/corefcn/call-stack.h:52
#8  0x00007fa43a11d666 in
__gnu_cxx::new_allocator<octave::call_stack::stack_frame>::destroy<octave::call_stack::stack_frame>(octave::call_stack::stack_frame*)
(this=<optimized out>, __p=<optimized out>)
    at /usr/include/c++/8/ext/new_allocator.h:140
#9  0x00007fa43a11d666 in
std::allocator_traits<std::allocator<octave::call_stack::stack_frame>
>::destroy<octave::call_stack::stack_frame>(std::allocator<octave::call_stack::stack_frame>&,
octave::call_stack::stack_frame*)
    (__a=..., __p=<optimized out>) at
/usr/include/c++/8/bits/alloc_traits.h:487
#10 0x00007fa43a11d666 in std::deque<octave::call_stack::stack_frame,
std::allocator<octave::call_stack::stack_frame> >::_M_pop_back_aux()
(this=<optimized out>) at /usr/include/c++/8/bits/deque.tcc:553
#11 0x00007fa43a11d666 in std::deque<octave::call_stack::stack_frame,
std::allocator<octave::call_stack::stack_frame> >::pop_back() (this=<optimized
out>) at /usr/include/c++/8/bits/stl_deque.h:1622
#12 0x00007fa43a11d666 in octave::call_stack::pop() (this=0x7fa3e4002770) at
../libinterp/corefcn/call-stack.cc:692
#13 0x00007fa439ee827a in octave::unwind_protect::run_first()
(this=0x7ffdb1cc5b60) at ../liboctave/util/unwind-prot.h:67
#14 0x00007fa439ee827a in octave::action_container::run(unsigned long) (num=1,
this=0x7ffdb1cc5b60) at ../liboctave/util/action-container.h:200
#15 0x00007fa439ee827a in octave::action_container::run()
(this=0x7ffdb1cc5b60) at ../liboctave/util/action-container.h:203
#16 0x00007fa439ee827a in octave::unwind_protect::~unwind_protect()
(this=0x7ffdb1cc5b60, __in_chrg=<optimized out>) at
../liboctave/util/unwind-prot.h:56
#17 0x00007fa439ee827a in octave_builtin::call(octave::tree_evaluator&, int,
octave_value_list const&) (this=<optimized out>, tw=..., nargout=0, args=...)
at ../libinterp/octave-value/ov-builtin.cc:52
#18 0x00007fa43a05a9c7 in octave::feval(octave_function*, octave_value_list
const&, int) (fcn=0x7fa3e423a870, args=..., nargout=0) at
/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy:5216
#19 0x00007fa43a05ae2b in octave::feval(octave_value&, octave_value_list
const&, int) (val=..., args=..., nargout=nargout@entry=0) at
/home/jwe/src/octave-stable/libinterp/parse-tree/oct-parse.yy:5227
#20 0x00007fa439f0bc88 in cdef_method::cdef_method_rep::execute(cdef_object
const&, octave_value_list const&, int, bool, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)
    (this=0x7fa3e423a9a0, obj=..., args=..., nargout=0,
do_check_access=<optimized out>, who="destructor") at
../libinterp/octave-value/ov-classdef.cc:3199
#21 0x00007fa439f0beb4 in cdef_method::execute(cdef_object const&,
octave_value_list const&, int, bool, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)
    (who="destructor", do_check_access=true, nargout=0, args=..., obj=...,
this=0x7ffdb1cc5f70) at ../libinterp/octave-value/ov-classdef.h:321
#22 0x00007fa439f0beb4 in
cdef_class::cdef_class_rep::delete_object(cdef_object const&)
(this=0x7fa3e4827110, obj=...) at
../libinterp/octave-value/ov-classdef.cc:2375
#23 0x00007fa439f0c425 in cdef_class::delete_object(cdef_object const&)
(obj=..., this=0x7ffdb1cc60c0) at ../libinterp/octave-value/ov-classdef.h:321
#24 0x00007fa439f0c425 in cdef_object_rep::release(cdef_object const&)
(this=0x7fa3e45b7f10, obj=...) at
../libinterp/octave-value/ov-classdef.cc:1295
#25 0x00007fa439f2c02e in cdef_object::~cdef_object() (this=0x7fa3e480b480,
__in_chrg=<optimized out>) at ../libinterp/octave-value/ov-classdef.h:219
#26 0x00007fa439f2c02e in octave_classdef::~octave_classdef()
(this=0x7fa3e480b470, __in_chrg=<optimized out>) at
../libinterp/octave-value/ov-classdef.h:1486
#27 0x00007fa439f2c02e in octave_classdef::~octave_classdef()
(this=0x7fa3e480b470, __in_chrg=<optimized out>) at
../libinterp/octave-value/ov-classdef.h:1486
#28 0x00007fa43a9ca9dc in octave::symbol_info::~symbol_info()
(this=0x55929d47dca0, __in_chrg=<optimized out>) at
../libinterp/corefcn/syminfo.h:50
#29 0x00007fa43a9ca9dc in
__gnu_cxx::new_allocator<std::_List_node<octave::symbol_info>
>::destroy<octave::symbol_info>(octave::symbol_info*) (this=0x55929d644400,
__p=0x55929d47dca0) at /usr/include/c++/8/ext/new_allocator.h:140
#30 0x00007fa43a9ca9dc in
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*)
    (__a=..., __p=0x55929d47dca0) at
/usr/include/c++/8/bits/alloc_traits.h:487
#31 0x00007fa43a9ca9dc in std::__cxx11::_List_base<octave::symbol_info,
std::allocator<octave::symbol_info> >::_M_clear()
(this=this@entry=0x55929d644400) at /usr/include/c++/8/bits/list.tcc:77
#32 0x00007fa43a9c91e8 in std::__cxx11::_List_base<octave::symbol_info,
std::allocator<octave::symbol_info> >::~_List_base() (this=0x55929d644400,
__in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_list.h:835
#33 0x00007fa43a9c91e8 in std::__cxx11::list<octave::symbol_info,
std::allocator<octave::symbol_info> >::~list() (this=0x55929d644400,
__in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_list.h:835
#34 0x00007fa43a9c91e8 in octave::base_list<octave::symbol_info>::~base_list()
(this=0x55929d6443f8, __in_chrg=<optimized out>) at
../liboctave/util/base-list.h:99
#35 0x00007fa43a9c91e8 in octave::symbol_info_list::~symbol_info_list()
(this=0x55929d6443f8, __in_chrg=<optimized out>) at
../libinterp/corefcn/syminfo.h:99
#36 0x00007fa43a9c91e8 in octave::workspace_model::~workspace_model()
(this=0x55929d6443e0, __in_chrg=<optimized out>) at
../libgui/src/workspace-model.h:52
#37 0x00007fa43a9c91e8 in octave::workspace_model::~workspace_model()
(this=0x55929d6443e0, __in_chrg=<optimized out>) at
../libgui/src/workspace-model.h:52
#38 0x00007fa43a9c91e8 in octave::main_window::~main_window()
(this=0x55929d59d140, __in_chrg=<optimized out>) at
../libgui/src/main-window.cc:297
#39 0x00007fa43a9c9509 in octave::main_window::~main_window()
(this=0x55929d59d140, __in_chrg=<optimized out>) at
../libgui/src/main-window.cc:280
#40 0x00007fa43a9bf6b6 in octave::octave_qt_app::~octave_qt_app()
(this=0x7ffdb1cc6220, __in_chrg=<optimized out>) at
../libgui/src/main-window.cc:2900
#41 0x00007fa43a9d6e76 in octave::gui_application::execute()
(this=this@entry=0x7ffdb1cc6340) at ../libgui/src/octave-gui.cc:64
#42 0x000055929c7453ac in main(int, char**) (argc=3, argv=0x7ffdb1cc6678) at
../src/main-gui.cc:103




    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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