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

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

[Octave-bug-tracker] [bug #53774] instrument-control creates massive num


From: anonymous
Subject: [Octave-bug-tracker] [bug #53774] instrument-control creates massive numbers of threads when reading
Date: Fri, 27 Apr 2018 22:41:41 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.18 Safari/537.36

URL:
  <http://savannah.gnu.org/bugs/?53774>

                 Summary: instrument-control creates massive numbers of
threads when reading
                 Project: GNU Octave
            Submitted by: None
            Submitted on: Sat 28 Apr 2018 02:41:40 AM UTC
                Category: Libraries
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Segfault, Bus Error, etc.
                  Status: None
             Assigned to: None
         Originator Name: Witold Baryluk
        Originator Email: address@hidden
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 4.3.91
        Operating System: GNU/Linux

    _______________________________________________________

Details:

It creates ~15000 threads then crashed after reaching some limit:


in gdb:

[New Thread 0x7fef698ce700 (LWP 18383)]
[New Thread 0x7fef690cd700 (LWP 18384)]
[New Thread 0x7fef688cc700 (LWP 18385)]
[New Thread 0x7fef680cb700 (LWP 18386)]
[New Thread 0x7fef678ca700 (LWP 18387)]
[New Thread 0x7fef670c9700 (LWP 18388)]
[New Thread 0x7fef668c8700 (LWP 18389)]
[New Thread 0x7fef660c7700 (LWP 18390)]
[New Thread 0x7fef658c6700 (LWP 18391)]
[New Thread 0x7fef650c5700 (LWP 18392)]
[New Thread 0x7fef648c4700 (LWP 18393)]
[New Thread 0x7fef640c3700 (LWP 18394)]
[New Thread 0x7fef638c2700 (LWP 18395)]
[New Thread 0x7fef630c1700 (LWP 18396)]
[New Thread 0x7fef628c0700 (LWP 18397)]
[New Thread 0x7fef620bf700 (LWP 18398)]
[New Thread 0x7fef618be700 (LWP 18399)]
[New Thread 0x7fef610bd700 (LWP 18400)]
[New Thread 0x7fef608bc700 (LWP 18401)]
[New Thread 0x7fef600bb700 (LWP 18402)]
[New Thread 0x7fef5f8ba700 (LWP 18403)]
[New Thread 0x7fef5f0b9700 (LWP 18404)]
[New Thread 0x7fef5e8b8700 (LWP 18405)]
[New Thread 0x7fef5e0b7700 (LWP 18406)]
[New Thread 0x7fef5d8b6700 (LWP 18407)]
[New Thread 0x7fef5d0b5700 (LWP 18408)]
[New Thread 0x7fef5c8b4700 (LWP 18409)]



Thread 5 "QThread" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffcbfff700 (LWP 8139)]
__GI_raise (address@hidden) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: Nie ma takiego pliku ani katalogu.
(gdb) 
(gdb) 
(gdb) bt
#0  0x00007ffff3fd1e7b in __GI_raise (address@hidden) at
../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff3fd3231 in __GI_abort () at abort.c:79
#2  0x00007ffff60fefc6 in octave_create_interrupt_watcher_thread ()
    at /usr/lib/x86_64-linux-gnu/liboctave.so.5
#3  0x00007fffca1cbcbf in instrument_control::install_signal_handlers() () at
../octave-wrappers.h:22
#4  0x00007fffca1cbcbf in Fsrl_read(octave_value_list const&, int) (args=...,
nargout=<optimized out>)
    at srl_read.cc:103
#5  0x00007ffff6cb57d5 in octave_builtin::call(octave::tree_evaluator&, int,
octave_value_list const&) () at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#6  0x00007ffff6e76fa0 in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
() at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#7  0x00007ffff6e78d70 in
octave::tree_evaluator::visit_multi_assignment(octave::tree_multi_assignment&)
() at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#8  0x00007ffff6d00554 in
octave::tree_evaluator::evaluate(octave::tree_expression*, int) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#9  0x00007ffff6e74f38 in
octave::tree_evaluator::visit_statement(octave::tree_statement&) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#10 0x00007ffff6e6b490 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#11 0x00007ffff6e756a4 in
octave::tree_evaluator::visit_while_command(octave::tree_while_command&) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#12 0x00007ffff6e74ee1 in
octave::tree_evaluator::visit_statement(octave::tree_statement&) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#13 0x00007ffff6e6b490 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ()
---Type <return> to continue, or q <return> to quit---
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#14 0x00007ffff6daf707 in octave_user_script::call(octave::tree_evaluator&,
int, octave_value_list const&) () at
/usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#15 0x00007ffff6e550e9 in octave::source_file(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&) () at
/usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#16 0x00007ffff6e557be in Fsource(octave_value_list const&, int) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#17 0x00007ffff6cb57d5 in octave_builtin::call(octave::tree_evaluator&, int,
octave_value_list const&) () at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#18 0x00007ffff6e76fa0 in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
() at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#19 0x00007ffff6e562e5 in octave::eval_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool, int&, int) () at
/usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#20 0x00007ffff6e568c2 in  () at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#21 0x00007ffff6e574a8 in Fevalin(octave::interpreter&, octave_value_list
const&, int) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#22 0x00007ffff6cb5f51 in octave_builtin::call(octave::tree_evaluator&, int,
octave_value_list const&) () at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#23 0x00007ffff6e76fa0 in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
() at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#24 0x00007ffff6d00554 in
octave::tree_evaluator::evaluate(octave::tree_expression*, int) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
---Type <return> to continue, or q <return> to quit---
#25 0x00007ffff6e74f38 in
octave::tree_evaluator::visit_statement(octave::tree_statement&) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#26 0x00007ffff6e6b490 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#27 0x00007ffff6e74ee1 in
octave::tree_evaluator::visit_statement(octave::tree_statement&) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#28 0x00007ffff6e6b490 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#29 0x00007ffff6db08fa in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) () at
/usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#30 0x00007ffff6e76fa0 in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
() at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#31 0x00007ffff6d00554 in
octave::tree_evaluator::evaluate(octave::tree_expression*, int) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#32 0x00007ffff6e74f38 in
octave::tree_evaluator::visit_statement(octave::tree_statement&) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#33 0x00007ffff6e6b490 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#34 0x00007ffff719ab36 in octave::interpreter::main_loop() ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#35 0x00007ffff71a1320 in octave::interpreter::execute() ()
    at /usr/lib/x86_64-linux-gnu/liboctinterp.so.5
#36 0x00007ffff79af871 in octave::octave_interpreter::execute() ()
    at /usr/lib/x86_64-linux-gnu/octave/4.3.91/liboctgui.so.3
---Type <return> to continue, or q <return> to quit---
#37 0x00007ffff1e68d02 in QObject::event(QEvent*) () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x00007ffff2ddf6cc in QApplicationPrivate::notify_helper(QObject*,
QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#39 0x00007ffff2de6e84 in QApplication::notify(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#40 0x00007ffff1e38938 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x00007ffff1e3b4cd in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#42 0x00007ffff1e93b73 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007fffe9d7d287 in g_main_context_dispatch () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007fffe9d7d4c0 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007fffe9d7d54c in g_main_context_iteration () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007ffff1e9319f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#47 0x00007ffff1e36b6a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#48 0x00007ffff1c4c7ea in QThread::exec() () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#49 0x00007ffff1c51b4f in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#50 0x00007ffff435e5aa in start_thread (arg=0x7fffcbfff700) at
pthread_create.c:463
#51 0x00007ffff4093cbf in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) 
(gdb) q
A debugging session is active.

        Inferior 1 [process 8132] will be killed.

Quit anyway? (y or n) y



this was with simple loop just doing srl_read(com, 8)





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?53774>

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




reply via email to

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