octave:3> test_crash_submit ([], [], 1) ================== WARNING: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong thread) (pid=1516476) #0 pthread_mutex_unlock /usr/src/debug/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4338 (libtsan.so.2+0x4864f) #1 octave::pthread_mutex::unlock() ../liboctave/util/oct-mutex.cc:140 (liboctave.so.9+0x53647a4) #2 octave::mutex::unlock() ../liboctave/util/oct-mutex.h:74 (liboctgui.so.8+0xd7edf8) #3 octave::autolock::~autolock() ../liboctave/util/oct-mutex.h:111 (liboctgui.so.8+0xd7f91f) #4 octave::F__go_figure__(octave::interpreter&, octave_value_list const&, int) ../libinterp/corefcn/graphics.cc:13389 (liboctinterp.so.10+0x651c9c2) #5 octave::tree_evaluator::execute_builtin_function(octave_builtin&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3423 (liboctinterp.so.10+0x58761d0) #6 octave_builtin::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49 (liboctinterp.so.10+0x5033abc) #7 octave_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57 (liboctinterp.so.10+0x51fbbcf) #8 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #9 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #10 octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101 (liboctinterp.so.10+0x5803c4c) #11 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #12 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #13 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #14 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #15 octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) ../libinterp/parse-tree/pt-eval.cc:3767 (liboctinterp.so.10+0x587cfe9) #16 octave::tree_if_command_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:119 (liboctinterp.so.10+0x58b1989) #17 octave::tree_evaluator::visit_if_command(octave::tree_if_command&) ../libinterp/parse-tree/pt-eval.cc:3745 (liboctinterp.so.10+0x587bcad) #18 octave::tree_if_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:153 (liboctinterp.so.10+0x5962ab7) #19 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3894 (liboctinterp.so.10+0x587fb61) #20 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #21 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #22 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #23 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #24 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #25 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #26 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #27 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #28 octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101 (liboctinterp.so.10+0x5803c4c) #29 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #30 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #31 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #32 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #33 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #34 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #35 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #36 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #37 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #38 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #39 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #40 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #41 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #42 octave::tree_evaluator::eval(std::shared_ptr&, bool) ../libinterp/parse-tree/pt-eval.cc:985 (liboctinterp.so.10+0x5854dad) #43 octave::tree_evaluator::repl() ../libinterp/parse-tree/pt-eval.cc:804 (liboctinterp.so.10+0x5850e37) #44 octave::interpreter::main_loop() ../libinterp/corefcn/interpreter.cc:1350 (liboctinterp.so.10+0x678cbd7) #45 octave::interpreter::execute() ../libinterp/corefcn/interpreter.cc:916 (liboctinterp.so.10+0x677a371) #46 octave::interpreter_qobject::execute() ../libgui/src/interpreter-qobject.cc:89 (liboctgui.so.8+0x10ca004) #47 octave::interpreter_qobject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) libgui/src/moc-interpreter-qobject.cc:88 (liboctgui.so.8+0x16bc79a) #48 QObject::event(QEvent*) (libQt5Core.so.5+0x2b0bdf) #49 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) Location is heap block of size 48 at 0x7b0c00064230 allocated by thread T3: #0 operator new(unsigned long) /usr/src/debug/gcc/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.2+0x92c0e) #1 init_rep ../liboctave/util/oct-mutex.cc:174 (liboctave.so.9+0x5363eb4) #2 octave::mutex::mutex() ../liboctave/util/oct-mutex.cc:180 (liboctave.so.9+0x5363f52) #3 octave::gh_manager::gh_manager(octave::interpreter&) ../libinterp/corefcn/graphics.cc:11903 (liboctinterp.so.10+0x650c18c) #4 octave::interpreter::interpreter(octave::application*) ../libinterp/corefcn/interpreter.cc:640 (liboctinterp.so.10+0x6776439) #5 octave::application::create_interpreter() ../libinterp/octave.cc:348 (liboctinterp.so.10+0x3f27dbb) #6 octave::interpreter_qobject::execute() ../libgui/src/interpreter-qobject.cc:51 (liboctgui.so.8+0x10c9003) #7 octave::interpreter_qobject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) libgui/src/moc-interpreter-qobject.cc:88 (liboctgui.so.8+0x16bc79a) #8 QObject::event(QEvent*) (libQt5Core.so.5+0x2b0bdf) #9 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) Mutex M1067488403157041720 is already destroyed. Thread T3 'QThread' (tid=1516622, running) created by main thread at: #0 pthread_create /usr/src/debug/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:1001 (libtsan.so.2+0x670c9) #1 QThread::start(QThread::Priority) (libQt5Core.so.5+0xe28d8) #2 octave::base_qobject::base_qobject(octave::qt_application&, bool) ../libgui/src/octave-qobject.cc:327 (liboctgui.so.8+0x1353c2a) #3 octave::qt_application::execute() ../libgui/src/qt-application.cc:71 (liboctgui.so.8+0x13b2916) #4 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) SUMMARY: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong thread) ../liboctave/util/oct-mutex.cc:140 in octave::pthread_mutex::unlock() ================== ================== WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=1516476) Write of size 8 at 0x7f0a06621fd0 by thread T3: #0 Array >::Array(dim_vector const&) ../liboctave/array/Array.h:283 (liboctinterp.so.10+0x4d2dcc3) #1 Array >::resize2(long, long, octave_value const&) (liboctinterp.so.10+0x4d45db3) #2 Array >::resize(dim_vector const&, octave_value const&) (liboctinterp.so.10+0x4d495b9) #3 Array >::resize(dim_vector const&) ../liboctave/array/Array.h:699 (liboctinterp.so.10+0x4d49e98) #4 Cell::Cell(string_vector const&, bool) ../libinterp/corefcn/Cell.cc:48 (liboctinterp.so.10+0x59d5ae8) #5 octave::tree_evaluator::bind_auto_fcn_vars(string_vector const&, Matrix const&, int, int, bool, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:5208 (liboctinterp.so.10+0x58985c5) #6 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3586 (liboctinterp.so.10+0x587881c) #7 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #8 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #9 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #10 octave::tree_multi_assignment::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:201 (liboctinterp.so.10+0x5806cf7) #11 octave::tree_multi_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.h:156 (liboctinterp.so.10+0x580c44d) #12 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #13 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #14 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #15 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #16 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #17 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #18 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #19 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #20 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #21 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #22 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #23 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #24 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #25 octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) ../libinterp/parse-tree/pt-eval.cc:3767 (liboctinterp.so.10+0x587cfe9) #26 octave::tree_if_command_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:119 (liboctinterp.so.10+0x58b1989) #27 octave::tree_evaluator::visit_if_command(octave::tree_if_command&) ../libinterp/parse-tree/pt-eval.cc:3745 (liboctinterp.so.10+0x587bcad) #28 octave::tree_if_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:153 (liboctinterp.so.10+0x5962ab7) #29 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3894 (liboctinterp.so.10+0x587fb61) #30 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #31 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #32 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #33 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #34 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #35 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #36 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #37 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #38 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #39 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #40 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #41 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #42 octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) ../libinterp/parse-tree/pt-eval.cc:3767 (liboctinterp.so.10+0x587cfe9) #43 octave::tree_if_command_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:119 (liboctinterp.so.10+0x58b1989) #44 octave::tree_evaluator::visit_if_command(octave::tree_if_command&) ../libinterp/parse-tree/pt-eval.cc:3745 (liboctinterp.so.10+0x587bcad) #45 octave::tree_if_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:153 (liboctinterp.so.10+0x5962ab7) #46 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3894 (liboctinterp.so.10+0x587fb61) #47 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #48 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #49 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #50 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #51 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #52 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #53 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #54 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #55 octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101 (liboctinterp.so.10+0x5803c4c) #56 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #57 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #58 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #59 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #60 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #61 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #62 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #63 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #64 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #65 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #66 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #67 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #68 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #69 octave::tree_evaluator::eval(std::shared_ptr&, bool) ../libinterp/parse-tree/pt-eval.cc:985 (liboctinterp.so.10+0x5854dad) #70 octave::tree_evaluator::repl() ../libinterp/parse-tree/pt-eval.cc:804 (liboctinterp.so.10+0x5850e37) #71 octave::interpreter::main_loop() ../libinterp/corefcn/interpreter.cc:1350 (liboctinterp.so.10+0x678cbd7) #72 octave::interpreter::execute() ../libinterp/corefcn/interpreter.cc:916 (liboctinterp.so.10+0x677a371) #73 octave::interpreter_qobject::execute() ../libgui/src/interpreter-qobject.cc:89 (liboctgui.so.8+0x10ca004) #74 octave::interpreter_qobject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) libgui/src/moc-interpreter-qobject.cc:88 (liboctgui.so.8+0x16bc79a) #75 QObject::event(QEvent*) (libQt5Core.so.5+0x2b0bdf) #76 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) Previous read of size 8 at 0x7f0a06621fd0 by main thread: #0 QtPrivate::FunctorCall, QtPrivate::List, void, void (octave::qt_graphics_toolkit::*)(double)>::call(void (octave::qt_graphics_toolkit::*)(double), octave::qt_graphics_toolkit*, void**) /usr/include/qt/QtCore/qobjectdefs_impl.h:152 (liboctgui.so.8+0xf896d8) #1 void QtPrivate::FunctionPointer::call, void>(void (octave::qt_graphics_toolkit::*)(double), octave::qt_graphics_toolkit*, void**) /usr/include/qt/QtCore/qobjectdefs_impl.h:185 (liboctgui.so.8+0xf89365) #2 QtPrivate::QSlotObject, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/qt/QtCore/qobjectdefs_impl.h:418 (liboctgui.so.8+0xf89148) #3 QObject::event(QEvent*) (libQt5Core.so.5+0x2b0bdf) #4 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) #5 octave::qt_application::execute() ../libgui/src/qt-application.cc:73 (liboctgui.so.8+0x13b29be) #6 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) Location is stack of thread T3. Thread T3 'QThread' (tid=1516622, running) created by main thread at: #0 pthread_create /usr/src/debug/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:1001 (libtsan.so.2+0x670c9) #1 QThread::start(QThread::Priority) (libQt5Core.so.5+0xe28d8) #2 octave::base_qobject::base_qobject(octave::qt_application&, bool) ../libgui/src/octave-qobject.cc:327 (liboctgui.so.8+0x1353c2a) #3 octave::qt_application::execute() ../libgui/src/qt-application.cc:71 (liboctgui.so.8+0x13b2916) #4 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) ../liboctave/array/Array.h:283 in Array >::Array(dim_vector const&) ================== ================== WARNING: ThreadSanitizer: data race (pid=1516476) Write of size 1 at 0x7f0a06621e00 by thread T3: #0 octave::octave_lvalue::octave_lvalue(octave::symbol_record const&, std::shared_ptr const&) ../libinterp/parse-tree/oct-lvalue.h:45 (liboctinterp.so.10+0x590de04) #1 octave::tree_identifier::lvalue(octave::tree_evaluator&) ../libinterp/parse-tree/pt-id.cc:74 (liboctinterp.so.10+0x590b68e) #2 octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:87 (liboctinterp.so.10+0x58034f1) #3 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #4 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #5 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #6 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #7 octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) ../libinterp/parse-tree/pt-eval.cc:3767 (liboctinterp.so.10+0x587cfe9) #8 octave::tree_if_command_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:119 (liboctinterp.so.10+0x58b1989) #9 octave::tree_evaluator::visit_if_command(octave::tree_if_command&) ../libinterp/parse-tree/pt-eval.cc:3745 (liboctinterp.so.10+0x587bcad) #10 octave::tree_if_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:153 (liboctinterp.so.10+0x5962ab7) #11 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3894 (liboctinterp.so.10+0x587fb61) #12 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #13 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #14 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #15 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #16 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #17 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #18 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #19 octave::tree_multi_assignment::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:201 (liboctinterp.so.10+0x5806cf7) #20 octave::tree_multi_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.h:156 (liboctinterp.so.10+0x580c44d) #21 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #22 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #23 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #24 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #25 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #26 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #27 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #28 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #29 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #30 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #31 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #32 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #33 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #34 octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) ../libinterp/parse-tree/pt-eval.cc:3767 (liboctinterp.so.10+0x587cfe9) #35 octave::tree_if_command_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:119 (liboctinterp.so.10+0x58b1989) #36 octave::tree_evaluator::visit_if_command(octave::tree_if_command&) ../libinterp/parse-tree/pt-eval.cc:3745 (liboctinterp.so.10+0x587bcad) #37 octave::tree_if_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:153 (liboctinterp.so.10+0x5962ab7) #38 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3894 (liboctinterp.so.10+0x587fb61) #39 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #40 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #41 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #42 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #43 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #44 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #45 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #46 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #47 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #48 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #49 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #50 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #51 octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) ../libinterp/parse-tree/pt-eval.cc:3767 (liboctinterp.so.10+0x587cfe9) #52 octave::tree_if_command_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:119 (liboctinterp.so.10+0x58b1989) #53 octave::tree_evaluator::visit_if_command(octave::tree_if_command&) ../libinterp/parse-tree/pt-eval.cc:3745 (liboctinterp.so.10+0x587bcad) #54 octave::tree_if_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:153 (liboctinterp.so.10+0x5962ab7) #55 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3894 (liboctinterp.so.10+0x587fb61) #56 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #57 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #58 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #59 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #60 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #61 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #62 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #63 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #64 octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101 (liboctinterp.so.10+0x5803c4c) #65 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #66 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #67 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #68 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #69 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #70 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #71 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #72 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #73 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #74 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #75 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #76 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #77 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #78 octave::tree_evaluator::eval(std::shared_ptr&, bool) ../libinterp/parse-tree/pt-eval.cc:985 (liboctinterp.so.10+0x5854dad) #79 octave::tree_evaluator::repl() ../libinterp/parse-tree/pt-eval.cc:804 (liboctinterp.so.10+0x5850e37) #80 octave::interpreter::main_loop() ../libinterp/corefcn/interpreter.cc:1350 (liboctinterp.so.10+0x678cbd7) #81 octave::interpreter::execute() ../libinterp/corefcn/interpreter.cc:916 (liboctinterp.so.10+0x677a371) #82 octave::interpreter_qobject::execute() ../libgui/src/interpreter-qobject.cc:89 (liboctgui.so.8+0x10ca004) #83 octave::interpreter_qobject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) libgui/src/moc-interpreter-qobject.cc:88 (liboctgui.so.8+0x16bc79a) #84 QObject::event(QEvent*) (libQt5Core.so.5+0x2b0bdf) #85 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) Previous read of size 8 at 0x7f0a06621e00 by main thread: #0 QtPrivate::FunctorCall, QtPrivate::List, void, void (octave::qt_graphics_toolkit::*)(double)>::call(void (octave::qt_graphics_toolkit::*)(double), octave::qt_graphics_toolkit*, void**) /usr/include/qt/QtCore/qobjectdefs_impl.h:152 (liboctgui.so.8+0xf896d8) #1 void QtPrivate::FunctionPointer::call, void>(void (octave::qt_graphics_toolkit::*)(double), octave::qt_graphics_toolkit*, void**) /usr/include/qt/QtCore/qobjectdefs_impl.h:185 (liboctgui.so.8+0xf89365) #2 QtPrivate::QSlotObject, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/qt/QtCore/qobjectdefs_impl.h:418 (liboctgui.so.8+0xf89148) #3 QObject::event(QEvent*) (libQt5Core.so.5+0x2b0bdf) #4 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) #5 octave::qt_application::execute() ../libgui/src/qt-application.cc:73 (liboctgui.so.8+0x13b29be) #6 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) Location is stack of thread T3. Thread T3 'QThread' (tid=1516622, running) created by main thread at: #0 pthread_create /usr/src/debug/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:1001 (libtsan.so.2+0x670c9) #1 QThread::start(QThread::Priority) (libQt5Core.so.5+0xe28d8) #2 octave::base_qobject::base_qobject(octave::qt_application&, bool) ../libgui/src/octave-qobject.cc:327 (liboctgui.so.8+0x1353c2a) #3 octave::qt_application::execute() ../libgui/src/qt-application.cc:71 (liboctgui.so.8+0x13b2916) #4 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) SUMMARY: ThreadSanitizer: data race ../libinterp/parse-tree/oct-lvalue.h:45 in octave::octave_lvalue::octave_lvalue(octave::symbol_record const&, std::shared_ptr const&) ================== ================== WARNING: ThreadSanitizer: data race (pid=1516476) Write of size 8 at 0x7b6000008de0 by thread T3 (mutexes: write M1067488403157041720): #0 memmove /usr/src/debug/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:810 (libtsan.so.2+0x668c4) #1 (libQt5Core.so.5+0x358d96) #2 octave::ObjectProxy::update(int) ../libgui/graphics/ObjectProxy.cc:91 (liboctgui.so.8+0xe76f35) #3 octave::qt_graphics_toolkit::update(octave::graphics_object const&, int) ../libgui/graphics/qt-graphics-toolkit.cc:193 (liboctgui.so.8+0xf7c497) #4 octave::graphics_toolkit::update(octave::graphics_object const&, int) ../libinterp/corefcn/graphics-toolkit.h:243 (liboctinterp.so.10+0x6535353) #5 octave::base_graphics_object::update(octave::graphics_object const&, int) libinterp/corefcn/graphics.h:2942 (liboctinterp.so.10+0x656623a) #6 octave::graphics_object::update(int) libinterp/corefcn/graphics.h:3165 (liboctinterp.so.10+0x656a84c) #7 octave::base_property::set(octave_value const&, bool, bool) ../libinterp/corefcn/graphics.cc:1267 (liboctinterp.so.10+0x615dafb) #8 octave::figure::properties::set___pan_mode__(octave_value const&) libinterp/corefcn/graphics.h:4367 (liboctinterp.so.10+0x6583711) #9 octave::figure::properties::set(caseless_str const&, octave_value const&) libinterp/corefcn/graphics-props.cc:904 (liboctinterp.so.10+0x61cf4d2) #10 octave::figure::set(caseless_str const&, octave_value const&) libinterp/corefcn/graphics.h:4479 (liboctinterp.so.10+0x6586e05) #11 octave::graphics_object::set_value_or_default(caseless_str const&, octave_value const&) ../libinterp/corefcn/graphics.cc:2799 (liboctinterp.so.10+0x6180c4a) #12 octave::graphics_object::set(octave_value_list const&) ../libinterp/corefcn/graphics.cc:2578 (liboctinterp.so.10+0x617ef3b) #13 octave::Fset(octave::interpreter&, octave_value_list const&, int) ../libinterp/corefcn/graphics.cc:13017 (liboctinterp.so.10+0x6516ba2) #14 octave::tree_evaluator::execute_builtin_function(octave_builtin&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3423 (liboctinterp.so.10+0x58761d0) #15 octave_builtin::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49 (liboctinterp.so.10+0x5033abc) #16 octave_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57 (liboctinterp.so.10+0x51fbbcf) #17 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #18 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #19 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #20 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #21 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #22 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #23 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #24 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #25 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #26 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #27 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #28 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #29 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #30 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #31 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #32 octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) ../libinterp/parse-tree/pt-eval.cc:3767 (liboctinterp.so.10+0x587cfe9) #33 octave::tree_if_command_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:119 (liboctinterp.so.10+0x58b1989) #34 octave::tree_evaluator::visit_if_command(octave::tree_if_command&) ../libinterp/parse-tree/pt-eval.cc:3745 (liboctinterp.so.10+0x587bcad) #35 octave::tree_if_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:153 (liboctinterp.so.10+0x5962ab7) #36 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3894 (liboctinterp.so.10+0x587fb61) #37 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #38 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #39 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #40 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #41 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #42 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #43 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #44 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #45 octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101 (liboctinterp.so.10+0x5803c4c) #46 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #47 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #48 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #49 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #50 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #51 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #52 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #53 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #54 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #55 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #56 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #57 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #58 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #59 octave::tree_evaluator::eval(std::shared_ptr&, bool) ../libinterp/parse-tree/pt-eval.cc:985 (liboctinterp.so.10+0x5854dad) #60 octave::tree_evaluator::repl() ../libinterp/parse-tree/pt-eval.cc:804 (liboctinterp.so.10+0x5850e37) #61 octave::interpreter::main_loop() ../libinterp/corefcn/interpreter.cc:1350 (liboctinterp.so.10+0x678cbd7) #62 octave::interpreter::execute() ../libinterp/corefcn/interpreter.cc:916 (liboctinterp.so.10+0x677a371) #63 octave::interpreter_qobject::execute() ../libgui/src/interpreter-qobject.cc:89 (liboctgui.so.8+0x10ca004) #64 octave::interpreter_qobject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) libgui/src/moc-interpreter-qobject.cc:88 (liboctgui.so.8+0x16bc79a) #65 QObject::event(QEvent*) (libQt5Core.so.5+0x2b0bdf) #66 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) Previous read of size 8 at 0x7b6000008de0 by main thread: #0 memmove /usr/src/debug/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:810 (libtsan.so.2+0x668c4) #1 (libQt5Core.so.5+0x363e77) #2 octave::qt_application::execute() ../libgui/src/qt-application.cc:73 (liboctgui.so.8+0x13b29be) #3 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) Location is heap block of size 1008 at 0x7b6000008c00 allocated by main thread: #0 malloc /usr/src/debug/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:647 (libtsan.so.2+0x41eaa) #1 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags) (libQt5Core.so.5+0xea3c3) #2 void QtPrivate::FunctionPointer::call, void>(void (QWidget::*)(), QWidget*, void**) /usr/include/qt/QtCore/qobjectdefs_impl.h:185 (liboctgui.so.8+0xdb1bcf) #3 QtPrivate::QSlotObject, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/qt/QtCore/qobjectdefs_impl.h:418 (liboctgui.so.8+0xdb165a) #4 QObject::event(QEvent*) (libQt5Core.so.5+0x2b0bdf) #5 QApplicationPrivate::notify_helper(QObject*, QEvent*) (libQt5Widgets.so.5+0x178b1b) #6 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) #7 octave::qt_application::execute() ../libgui/src/qt-application.cc:73 (liboctgui.so.8+0x13b29be) #8 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) Mutex M1067488403157041720 is already destroyed. Thread T3 'QThread' (tid=1516622, running) created by main thread at: #0 pthread_create /usr/src/debug/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:1001 (libtsan.so.2+0x670c9) #1 QThread::start(QThread::Priority) (libQt5Core.so.5+0xe28d8) #2 octave::base_qobject::base_qobject(octave::qt_application&, bool) ../libgui/src/octave-qobject.cc:327 (liboctgui.so.8+0x1353c2a) #3 octave::qt_application::execute() ../libgui/src/qt-application.cc:71 (liboctgui.so.8+0x13b2916) #4 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) SUMMARY: ThreadSanitizer: data race (/usr/lib/libQt5Core.so.5+0x358d96) ================== warning: set: allowing unit to match uitable property units warning: called from uitable at line 224 column 8 test_crash_submit at line 7 column 8 ================== WARNING: ThreadSanitizer: data race (pid=1516476) Write of size 8 at 0x7f0a066234b0 by thread T3: #0 octave::idx_vector::idx_scalar_rep::idx_scalar_rep(double) ../liboctave/array/idx-vector.cc:247 (liboctave.so.9+0x426312f) #1 octave::idx_vector::idx_vector(double) ../liboctave/array/idx-vector.h:494 (liboctinterp.so.10+0x535780e) #2 octave_scalar::index_vector(bool) const ../libinterp/octave-value/ov-scalar.h:82 (liboctinterp.so.10+0x5358056) #3 octave_value::index_vector(bool) const ../libinterp/octave-value/ov.h:543 (liboctinterp.so.10+0x47e656d) #4 Cell::assign(octave_value_list const&, Cell const&, octave_value const&) ../libinterp/corefcn/Cell.cc:254 (liboctinterp.so.10+0x59dabcf) #5 octave_map::assign(octave_value_list const&, std::__cxx11::basic_string, std::allocator > const&, Cell const&) ../libinterp/corefcn/oct-map.cc:1200 (liboctinterp.so.10+0x6a64288) #6 octave_struct::subsasgn(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, octave_value const&) ../libinterp/octave-value/ov-struct.cc:478 (liboctinterp.so.10+0x5381544) #7 octave_base_value::undef_subsasgn(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, octave_value const&) ../libinterp/octave-value/ov-base.cc:312 (liboctinterp.so.10+0x4fbec9f) #8 octave_value::undef_subsasgn(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, octave_value const&) ../libinterp/octave-value/ov.cc:1619 (liboctinterp.so.10+0x53f0c41) #9 octave_base_value::subsasgn(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, octave_value const&) ../libinterp/octave-value/ov-base.cc:298 (liboctinterp.so.10+0x4fbea60) #10 octave_value::subsasgn(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, octave_value const&) ../libinterp/octave-value/ov.cc:1611 (liboctinterp.so.10+0x53f0a4b) #11 octave_value::assign(octave_value::assign_op, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, octave_value const&) ../libinterp/octave-value/ov.cc:1643 (liboctinterp.so.10+0x53f0e2e) #12 octave::stack_frame::assign(octave_value::assign_op, octave::symbol_record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, octave_value const&) (liboctinterp.so.10+0x56dfd92) #13 octave::octave_lvalue::assign(octave_value::assign_op, octave_value const&) ../libinterp/parse-tree/oct-lvalue.cc:59 (liboctinterp.so.10+0x56dc398) #14 octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:116 (liboctinterp.so.10+0x5803e3b) #15 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #16 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #17 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #18 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #19 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #20 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #21 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #22 octave::tree_identifier::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-id.cc:130 (liboctinterp.so.10+0x590c99d) #23 octave::tree_identifier::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-id.h:98 (liboctinterp.so.10+0x590e52f) #24 octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101 (liboctinterp.so.10+0x5803c4c) #25 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #26 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #27 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #28 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #29 octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) ../libinterp/parse-tree/pt-eval.cc:3767 (liboctinterp.so.10+0x587cfe9) #30 octave::tree_if_command_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:119 (liboctinterp.so.10+0x58b1989) #31 octave::tree_evaluator::visit_if_command(octave::tree_if_command&) ../libinterp/parse-tree/pt-eval.cc:3745 (liboctinterp.so.10+0x587bcad) #32 octave::tree_if_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:153 (liboctinterp.so.10+0x5962ab7) #33 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3894 (liboctinterp.so.10+0x587fb61) #34 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #35 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #36 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #37 octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3643 (liboctinterp.so.10+0x5879f69) #38 octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494 (liboctinterp.so.10+0x53cb82c) #39 octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487 (liboctinterp.so.10+0x53cb71f) #40 octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427 (liboctinterp.so.10+0x5919ffa) #41 octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:108 (liboctinterp.so.10+0x5924439) #42 octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3919 (liboctinterp.so.10+0x588056a) #43 octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:124 (liboctinterp.so.10+0x596e04d) #44 octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4004 (liboctinterp.so.10+0x5881f13) #45 octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:201 (liboctinterp.so.10+0x4ee381b) #46 octave::tree_evaluator::eval(std::shared_ptr&, bool) ../libinterp/parse-tree/pt-eval.cc:985 (liboctinterp.so.10+0x5854dad) #47 octave::tree_evaluator::repl() ../libinterp/parse-tree/pt-eval.cc:804 (liboctinterp.so.10+0x5850e37) #48 octave::interpreter::main_loop() ../libinterp/corefcn/interpreter.cc:1350 (liboctinterp.so.10+0x678cbd7) #49 octave::interpreter::execute() ../libinterp/corefcn/interpreter.cc:916 (liboctinterp.so.10+0x677a371) #50 octave::interpreter_qobject::execute() ../libgui/src/interpreter-qobject.cc:89 (liboctgui.so.8+0x10ca004) #51 octave::interpreter_qobject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) libgui/src/moc-interpreter-qobject.cc:88 (liboctgui.so.8+0x16bc79a) #52 QObject::event(QEvent*) (libQt5Core.so.5+0x2b0bdf) #53 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) Previous read of size 8 at 0x7f0a066234b0 by main thread: #0 QtPrivate::FunctorCall, QtPrivate::List, void, void (octave::qt_graphics_toolkit::*)(double)>::call(void (octave::qt_graphics_toolkit::*)(double), octave::qt_graphics_toolkit*, void**) /usr/include/qt/QtCore/qobjectdefs_impl.h:152 (liboctgui.so.8+0xf896d8) #1 void QtPrivate::FunctionPointer::call, void>(void (octave::qt_graphics_toolkit::*)(double), octave::qt_graphics_toolkit*, void**) /usr/include/qt/QtCore/qobjectdefs_impl.h:185 (liboctgui.so.8+0xf89365) #2 QtPrivate::QSlotObject, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/qt/QtCore/qobjectdefs_impl.h:418 (liboctgui.so.8+0xf89148) #3 QObject::event(QEvent*) (libQt5Core.so.5+0x2b0bdf) #4 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) #5 octave::qt_application::execute() ../libgui/src/qt-application.cc:73 (liboctgui.so.8+0x13b29be) #6 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) Location is stack of thread T3. Thread T3 'QThread' (tid=1516622, running) created by main thread at: #0 pthread_create /usr/src/debug/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:1001 (libtsan.so.2+0x670c9) #1 QThread::start(QThread::Priority) (libQt5Core.so.5+0xe28d8) #2 octave::base_qobject::base_qobject(octave::qt_application&, bool) ../libgui/src/octave-qobject.cc:327 (liboctgui.so.8+0x1353c2a) #3 octave::qt_application::execute() ../libgui/src/qt-application.cc:71 (liboctgui.so.8+0x13b2916) #4 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) SUMMARY: ThreadSanitizer: data race ../liboctave/array/idx-vector.cc:247 in octave::idx_vector::idx_scalar_rep::idx_scalar_rep(double) ================== ans = { [1,1] = method [2,1] = MaxFunEvals [3,1] = obj_fcn_form [1,2] = global_opt [2,2] = 500 [3,2] = classical } ans = { [1,1] = method [2,1] = guessWeight [3,1] = flagVectorize [4,1] = plotFun [1,2] = global_opt [2,2] = 0.5000 [3,2] = 0 [4,2] = } ans = { [1,1] = method [2,1] = GGAP [3,1] = SEL_F [1,2] = global_opt [2,2] = 0.8000 [3,2] = sus } fatal: caught signal ================== WARNING: ThreadSanitizer: signal-unsafe call inside of a signal (pid=1516476) #0 malloc /usr/src/debug/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:647 (libtsan.so.2+0x41eaa) #1 (libc.so.6+0x35591) #2 deadly_sig_handler ../libinterp/corefcn/sighandlers.cc:309 (liboctinterp.so.10+0x6d7a54e) #3 CallUserSignalHandler /usr/src/debug/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:2005 (libtsan.so.2+0x3f206) #4 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) #5 octave::qt_application::execute() ../libgui/src/qt-application.cc:73 (liboctgui.so.8+0x13b29be) #6 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) SUMMARY: ThreadSanitizer: signal-unsafe call inside of a signal (/usr/lib/libc.so.6+0x35591) ================== ================== WARNING: ThreadSanitizer: signal-unsafe call inside of a signal (pid=1516476) #0 free /usr/src/debug/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:706 (libtsan.so.2+0x4e64f) #1 (libc.so.6+0x358d8) #2 deadly_sig_handler ../libinterp/corefcn/sighandlers.cc:309 (liboctinterp.so.10+0x6d7a54e) #3 CallUserSignalHandler /usr/src/debug/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:2005 (libtsan.so.2+0x3f206) #4 QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5+0x28cf97) #5 octave::qt_application::execute() ../libgui/src/qt-application.cc:73 (liboctgui.so.8+0x13b29be) #6 main ../src/main-gui.cc:132 (lt-octave-gui+0x4b96) SUMMARY: ThreadSanitizer: signal-unsafe call inside of a signal (/usr/lib/libc.so.6+0x358d8) ================== Segmentation fault -- stopping myself... Segmentation fault (core dumped)