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

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

[Octave-bug-tracker] [bug #60420] Interpreter hangs on exit after cset 2


From: Dmitri A. Sergatskov
Subject: [Octave-bug-tracker] [bug #60420] Interpreter hangs on exit after cset 29542
Date: Tue, 20 Apr 2021 01:05:27 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

Follow-up Comment #11, bug #60420 (project octave):

OK, I think now I got it right. I attached gdb to hanged process
after exit:


(gdb) thread apply all bt

Thread 9 (Thread 0x7f96c22c9700 (LWP 308915)):
#0  0x00007f9831aae5cc in sigtimedwait () at /lib64/libc.so.6
#1  0x00007f9831e4b6ac in sigwait () at /lib64/libpthread.so.0
#2  0x00007f983f6fb2bf in sigwait () at /lib64/libtsan.so.0
#3  0x00007f983b797382 in signal_watcher (arg=0x7f983e79e27c
<octave::generic_sig_handler(int)>) at
../liboctave/wrappers/signal-wrappers.c:697
#4  0x00007f983f6e568e in __tsan_thread_start_func () at /lib64/libtsan.so.0
#5  0x00007f9831e4114a in start_thread () at /lib64/libpthread.so.0
#6  0x00007f9831b72f23 in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f96c300d700 (LWP 308914)):
#0  0x00007f9831b67ca1 in poll () at /lib64/libc.so.6
#1  0x00007f983f7098c1 in poll () at /lib64/libtsan.so.0
#2  0x00007f982db5c9b6 in g_main_context_iterate.isra () at
/lib64/libglib-2.0.so.0
#3  0x00007f982db5cae0 in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#4  0x00007f983bf8518b in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib64/libQt5Core.so.5
#5  0x00007f983bf3118b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib64/libQt5Core.so.5
#6  0x00007f983bd8fd42 in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f983bd91076 in QThreadPrivate::start(void*) () at
/lib64/libQt5Core.so.5
#8  0x00007f983f6e568e in __tsan_thread_start_func () at /lib64/libtsan.so.0
#9  0x00007f9831e4114a in start_thread () at /lib64/libpthread.so.0
#10 0x00007f9831b72f23 in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f96c6806700 (LWP 308912)):
#0  0x00007f9831b67ca1 in poll () at /lib64/libc.so.6
#1  0x00007f983f7098c1 in poll () at /lib64/libtsan.so.0
#2  0x00007f982db5c9b6 in g_main_context_iterate.isra () at
/lib64/libglib-2.0.so.0
#3  0x00007f982db5cae0 in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#4  0x00007f983bf8518b in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib64/libQt5Core.so.5
#5  0x00007f983bf3118b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib64/libQt5Core.so.5
#6  0x00007f983bd8fd42 in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f982087cee9 in QDBusConnectionManager::run() () at
/lib64/libQt5DBus.so.5
#8  0x00007f983bd91076 in QThreadPrivate::start(void*) () at
/lib64/libQt5Core.so.5
#9  0x00007f983f6e568e in __tsan_thread_start_func () at /lib64/libtsan.so.0
#10 0x00007f9831e4114a in start_thread () at /lib64/libpthread.so.0
#11 0x00007f9831b72f23 in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f96c9aff700 (LWP 308911)):
#0  0x00007f9831b67ca1 in poll () at /lib64/libc.so.6
#1  0x00007f983f7098c1 in poll () at /lib64/libtsan.so.0
#2  0x00007f982db5c9b6 in g_main_context_iterate.isra () at
/lib64/libglib-2.0.so.0
#3  0x00007f982db5cd72 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#4  0x00007f970ca9255a in gdbus_shared_thread_func () at
/lib64/libgio-2.0.so.0
#5  0x00007f982db84d4a in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6  0x00007f983f6e568e in __tsan_thread_start_func () at /lib64/libtsan.so.0
#7  0x00007f9831e4114a in start_thread () at /lib64/libpthread.so.0
#8  0x00007f9831b72f23 in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f96ca9b9700 (LWP 308910)):
--Type <RET> for more, q to quit, c to continue without paging--c
#0  0x00007f9831b67ca1 in poll () at /lib64/libc.so.6
#1  0x00007f983f7098c1 in poll () at /lib64/libtsan.so.0
#2  0x00007f982db5c9b6 in g_main_context_iterate.isra () at
/lib64/libglib-2.0.so.0
#3  0x00007f982db5cae0 in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#4  0x00007f982db5cb31 in glib_worker_main () at /lib64/libglib-2.0.so.0
#5  0x00007f982db84d4a in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6  0x00007f983f6e568e in __tsan_thread_start_func () at /lib64/libtsan.so.0
#7  0x00007f9831e4114a in start_thread () at /lib64/libpthread.so.0
#8  0x00007f9831b72f23 in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f97099f7700 (LWP 308909)):
#0  0x00007f9831b67ca1 in poll () at /lib64/libc.so.6
#1  0x00007f983f7098c1 in poll () at /lib64/libtsan.so.0
#2  0x00007f982db5c9b6 in g_main_context_iterate.isra () at
/lib64/libglib-2.0.so.0
#3  0x00007f982db5cae0 in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#4  0x00007f9709e5be6d in dconf_gdbus_worker_thread () at
/usr/lib64/gio/modules/libdconfsettings.so
#5  0x00007f982db84d4a in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6  0x00007f983f6e568e in __tsan_thread_start_func () at /lib64/libtsan.so.0
#7  0x00007f9831e4114a in start_thread () at /lib64/libpthread.so.0
#8  0x00007f9831b72f23 in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f970f991700 (LWP 308908)):
#0  0x00007f9831b67ca1 in poll () at /lib64/libc.so.6
#1  0x00007f983f7098c1 in poll () at /lib64/libtsan.so.0
#2  0x00007f982bee66cf in _xcb_conn_wait () at /lib64/libxcb.so.1
#3  0x00007f982bee834a in xcb_wait_for_event () at /lib64/libxcb.so.1
#4  0x00007f9711e373d8 in QXcbEventQueue::run() () at
/lib64/libQt5XcbQpa.so.5
#5  0x00007f983bd91076 in QThreadPrivate::start(void*) () at
/lib64/libQt5Core.so.5
#6  0x00007f983f6e568e in __tsan_thread_start_func () at /lib64/libtsan.so.0
#7  0x00007f9831e4114a in start_thread () at /lib64/libpthread.so.0
#8  0x00007f9831b72f23 in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f98206ff700 (LWP 308907)):
#0  0x00007f9831b3efc8 in nanosleep () at /lib64/libc.so.6
#1  0x00007f9831b6ad88 in usleep () at /lib64/libc.so.6
#2  0x00007f983f709f02 in usleep () at /lib64/libtsan.so.0
#3  0x00007f983f733410 in __tsan::BackgroundThread(void*) () at
/lib64/libtsan.so.0
#4  0x00007f9831e4114a in start_thread () at /lib64/libpthread.so.0
#5  0x00007f9831b72f23 in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f9821abf800 (LWP 308777)):
#0  0x00007f9831b6d78d in syscall () at /lib64/libc.so.6
#1  0x00007f983bd91325 in QBasicMutex::lockInternal() () at
/lib64/libQt5Core.so.5
#2  0x00007f983f070dba in QMutexLocker::QMutexLocker(QBasicMutex*)
(this=0x7fffd1000408, m=0x7b280001ef88) at
/usr/include/qt5/QtCore/qmutex.h:206
#3  0x00007f983f1cf0a5 in
octave::qt_interpreter_events::confirm_shutdown_octave() (this=0x7b280001ef00)
at ../libgui/src/qt-interpreter-events.cc:630
#4  0x00007f983f1d7a27 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (octave::qt_interpreter_events::*)()>::call(void
(octave::qt_interpreter_events::*)(), octave::qt_interpreter_events*, void**)
(f=(void (octave::qt_interpreter_events::*)(octave::qt_interpreter_events *
const)) 0x7f983f1cf070
<octave::qt_interpreter_events::confirm_shutdown_octave()>, o=0x7b280001ef00,
arg=0x7fffd10005c0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#5  0x00007f983f1d7285 in QtPrivate::FunctionPointer<void
(octave::qt_interpreter_events::*)()>::call<QtPrivate::List<>, void>(void
(octave::qt_interpreter_events::*)(), octave::qt_interpreter_events*, void**)
(f=(void (octave::qt_interpreter_events::*)(octave::qt_interpreter_events *
const)) 0x7f983f1cf070
<octave::qt_interpreter_events::confirm_shutdown_octave()>, o=0x7b280001ef00,
arg=0x7fffd10005c0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#6  0x00007f983f1d6366 in QtPrivate::QSlotObject<void
(octave::qt_interpreter_events::*)(), QtPrivate::List<>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1,
this_=0x7b0800044060, r=0x7b280001ef00, a=0x7fffd10005c0, ret=0x0) at
/usr/include/qt5/QtCore/qobjectdefs_impl.h:414
#7  0x00007f983bf5b69b in QMetaObject::activate(QObject*, int, int, void**) ()
at /lib64/libQt5Core.so.5
#8  0x00007f983f2bcd7a in
octave::qt_interpreter_events::confirm_shutdown_signal() (this=0x7b280001ef00)
at libgui/src/moc-qt-interpreter-events.cc:792
#9  0x00007f983f1ccce9 in octave::qt_interpreter_events::confirm_shutdown()
(this=0x7b280001ef00) at ../libgui/src/qt-interpreter-events.cc:284
#10 0x00007f983e5ea4c5 in octave::event_manager::confirm_shutdown()
(this=0x7b88000043b0) at ../libinterp/corefcn/event-manager.h:467
#11 0x00007f983e5e8421 in octave::interpreter::quit(int, bool, bool)
(this=0x7b8800003000, exit_status=0, force=false, confirm=true) at
../libinterp/corefcn/interpreter.cc:2026
#12 0x00007f983e5dcc7f in Fquit(octave::interpreter&, octave_value_list
const&, int) (interp=..., args=...) at
../libinterp/corefcn/interpreter.cc:232
#13 0x00007f983dedd374 in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) (this=0x7b440008dcc0, tw=..., nargout=0,
args=...) at ../libinterp/octave-value/ov-builtin.cc:65
#14 0x00007f983df5bf30 in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) (this=0x7b440008dcc0, tw=..., nargout=0, args=...)
at ../libinterp/octave-value/ov-fcn.cc:57
#15 0x00007f983e1a0895 in
octave::tree_identifier::evaluate_n(octave::tree_evaluator&, int)
(this=0x7b0c00077c10, tw=..., nargout=0) at
../libinterp/parse-tree/pt-id.cc:130
#16 0x00007f983e1a11f2 in
octave::tree_identifier::evaluate(octave::tree_evaluator&, int)
(this=0x7b0c00077c10, tw=..., nargout=0) at
../libinterp/parse-tree/pt-id.h:98
#17 0x00007f983e173fdb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
(this=0x7b8800003dd8, stmt=...) at ../libinterp/parse-tree/pt-eval.cc:3629
#18 0x00007f983e1b6830 in octave::tree_statement::accept(octave::tree_walker&)
(this=0x7b0c000901b0, tw=...) at ../libinterp/parse-tree/pt-stmt.h:124
#19 0x00007f983e17453e in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
(this=0x7b8800003dd8, lst=...) at ../libinterp/parse-tree/pt-eval.cc:3714
#20 0x00007f983de71284 in
octave::tree_statement_list::accept(octave::tree_walker&)
(this=0x7b0c00072e40, tw=...) at ../libinterp/parse-tree/pt-stmt.h:201
#21 0x00007f983e167d56 in
octave::tree_evaluator::eval(std::shared_ptr<octave::tree_statement_list>&,
bool) (this=0x7b8800003dd8,
stmt_list=std::shared_ptr<octave::tree_statement_list> (use count 2, weak
count 0) = {...}, interactive=true) at ../libinterp/parse-tree/pt-eval.cc:882
#22 0x00007f983e1671e4 in octave::tree_evaluator::repl() (this=0x7b8800003dd8)
at ../libinterp/parse-tree/pt-eval.cc:709
#23 0x00007f983e5e5aa3 in octave::interpreter::main_loop()
(this=0x7b8800003000) at ../libinterp/corefcn/interpreter.cc:1385
#24 0x00007f983e5e014a in octave::interpreter::execute() (this=0x7b8800003000)
at ../libinterp/corefcn/interpreter.cc:979
#25 0x00007f983f11854b in octave::interpreter_qobject::execute()
(this=0x7b0800044100) at ../libgui/src/interpreter-qobject.cc:91
#26 0x00007f983f1cac41 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (octave::interpreter_qobject::*)()>::call(void
(octave::interpreter_qobject::*)(), octave::interpreter_qobject*, void**)
(f=(void (octave::interpreter_qobject::*)(octave::interpreter_qobject *
const)) 0x7f983f1181dc <octave::interpreter_qobject::execute()>,
o=0x7b0800044100, arg=0x7fffd10014a0) at
/usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#27 0x00007f983f1cab93 in QtPrivate::FunctionPointer<void
(octave::interpreter_qobject::*)()>::call<QtPrivate::List<>, void>(void
(octave::interpreter_qobject::*)(), octave::interpreter_qobject*, void**)
(f=(void (octave::interpreter_qobject::*)(octave::interpreter_qobject *
const)) 0x7f983f1181dc <octave::interpreter_qobject::execute()>,
o=0x7b0800044100, arg=0x7fffd10014a0) at
/usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#28 0x00007f983f1ca586 in QtPrivate::QSlotObject<void
(octave::interpreter_qobject::*)(), QtPrivate::List<>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1,
this_=0x7b08000a38c0, r=0x7b0800044100, a=0x7fffd10014a0, ret=0x0) at
/usr/include/qt5/QtCore/qobjectdefs_impl.h:414
#29 0x00007f983bf672da in QSingleShotTimer::timerEvent(QTimerEvent*) () at
/lib64/libQt5Core.so.5
#30 0x00007f983bf5c22b in QObject::event(QEvent*) () at
/lib64/libQt5Core.so.5
#31 0x00007f983c87c5f5 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () at /lib64/libQt5Widgets.so.5
#32 0x00007f983c883b10 in QApplication::notify(QObject*, QEvent*) () at
/lib64/libQt5Widgets.so.5
#33 0x00007f983f1c4edf in octave::octave_qapplication::notify(QObject*,
QEvent*) (this=0x7b0400002850, receiver=0x7b0c0005ddb0, ev=0x7fffd1001890) at
../libgui/src/octave-qobject.cc:133
#34 0x00007f983bf32326 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /lib64/libQt5Core.so.5
#35 0x00007f983bf84444 in QTimerInfoList::activateTimers() () at
/lib64/libQt5Core.so.5
#36 0x00007f983bf84cec in timerSourceDispatch(_GSource*, int (*)(void*),
void*) () at /lib64/libQt5Core.so.5
#37 0x00007f982db5c67d in g_main_context_dispatch () at
/lib64/libglib-2.0.so.0
#38 0x00007f982db5ca48 in g_main_context_iterate.isra () at
/lib64/libglib-2.0.so.0
#39 0x00007f982db5cae0 in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#40 0x00007f983bf8518b in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib64/libQt5Core.so.5
#41 0x00007f983bf3118b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib64/libQt5Core.so.5
#42 0x00007f983bf391a6 in QCoreApplication::exec() () at
/lib64/libQt5Core.so.5
#43 0x00007f983f1c66f9 in octave::base_qobject::exec() (this=0x7fffd1001ba0)
at ../libgui/src/octave-qobject.cc:343
#44 0x00007f983f1d9223 in octave::qt_application::execute()
(this=0x7fffd1001d20) at ../libgui/src/qt-application.cc:73
#45 0x0000000000401b93 in main(int, char**) (argc=8, argv=0x7fffd1002058) at
../src/main-gui.cc:131
(gdb) 




    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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