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

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

[Octave-bug-tracker] [bug #56435] Octave crashd while running unit test


From: anonymous
Subject: [Octave-bug-tracker] [bug #56435] Octave crashd while running unit test of an oct-file which uses pthreads
Date: Tue, 4 Jun 2019 05:04:09 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0

URL:
  <https://savannah.gnu.org/bugs/?56435>

                 Summary: Octave crashd while running unit test of an oct-file
which uses pthreads
                 Project: GNU Octave
            Submitted by: None
            Submitted on: Tue 04 Jun 2019 09:04:05 AM UTC
                Category: Interpreter
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Segfault, Bus Error, etc.
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 5.1.0
        Operating System: GNU/Linux

    _______________________________________________________

Details:

I have written a piece of native code to implement an alternative to
'pararrayfun' from parallel package. I need this alternative because from
octave 4.4.1, parallel package doesn't work.

I have added some unit test for my pararrayfun implementation, and was testing
it when octave crashed (terminated with signal SIGABRT). 

How to build the oct-file:
$ export CXXFLAGS="-ggdb -Wall -O0"
$ mkoctfile -g -DDEBUG -o pararrayfun.oct pararrayfun.cc

This is the stack trace I get from the corresponding core dump using gdb:

#0  0x00007fb83d8e8eb5 in raise () from /lib64/libc.so.6
#1  0x00007fb83d8d3895 in abort () from /lib64/libc.so.6
#2  0x00007fb83d92bee7 in __libc_message () from /lib64/libc.so.6
#3  0x00007fb83d9327bc in malloc_printerr () from /lib64/libc.so.6
#4  0x00007fb83d93567c in _int_malloc () from /lib64/libc.so.6
#5  0x00007fb83d936d3f in malloc () from /lib64/libc.so.6
#6  0x00007fb83f8aa892 in octave_pstate_new ()
    at libinterp/parse-tree/oct-parse.cc:3012
#7  0x00007fb83f8af15e in octave::base_parser::base_parser (
    this=0x7fb81dbf7dc0, lxr=...) at /usr/include/c++/9/bits/stl_list.h:153
#8  0x00007fb83f8dd4b5 in octave::parser::parser (interp=..., eval_string="",

    this=0x7fb81dbf7dc0) at libinterp/parse-tree/lex.h:770
#9  octave::tree_evaluator::eval_string (this=0x7fb80c003a28, eval_str="", 
    silent=false, address@hidden: 0, nargout=0)
    at libinterp/parse-tree/pt-eval.cc:203
#10 0x00007fb83f8dd96c in octave::tree_evaluator::eval_string (
    address@hidden, arg=..., address@hidden, 
    address@hidden: 0, address@hidden)
    at libinterp/parse-tree/pt-eval.cc:287
#11 0x00007fb83fc6379c in octave::interpreter::eval_string (
    address@hidden, arg=..., address@hidden, 
    address@hidden: 0, address@hidden)
    at libinterp/corefcn/interpreter.cc:1150
#12 0x00007fb83f8b52a1 in Feval (interp=..., args=..., nargout=0)
    at ./liboctave/array/Array.h:529
#13 0x00007fb83f6f19ab in octave_builtin::call (this=0x7fb80c032780, tw=..., 
    nargout=0, args=...) at libinterp/octave-value/ov-builtin.cc:71
#14 0x00007fb83f8e53e1 in octave::tree_evaluator::visit_index_expression (
    this=0x7fb80c003a28, idx_expr=...) at
libinterp/parse-tree/pt-eval.cc:2008
#15 0x00007fb83f7437f3 in octave::tree_evaluator::evaluate (
    this=0x7fb80c003a28, expr=0x7fb80cd0d480, nargout=<optimized out>)
    at libinterp/parse-tree/pt-eval.h:312
#16 0x00007fb83f8e261d in octave::tree_evaluator::visit_statement (
    this=0x7fb80c003a28, stmt=...) at libinterp/parse-tree/pt-eval.cc:2776
#17 0x00007fb83f8d6878 in octave::tree_statement::accept (tw=..., 
    this=0x7fb80cd0d660) at libinterp/parse-tree/pt-stmt.h:119
#18 octave::tree_evaluator::visit_statement_list (this=0x7fb80c003a28,
lst=...)
    at libinterp/parse-tree/pt-eval.cc:2845
#19 0x00007fb83f8e062c in octave::tree_statement_list::accept (tw=..., 
    this=0x7fb80cc46580) at libinterp/parse-tree/pt-stmt.h:194
#20 octave::tree_evaluator::execute_user_function (this=0x7fb80c003a28, 
    user_function=..., nargout=0, xargs=...)
    at libinterp/parse-tree/pt-eval.cc:1695
#21 0x00007fb83f808b8b in octave_user_function::call (this=<optimized out>, 
    tw=..., nargout=<optimized out>, args=...)
    at libinterp/octave-value/ov-usr-fcn.cc:455
#22 0x00007fb83f8e53e1 in octave::tree_evaluator::visit_index_expression
(this=0x7fb80c003a28, idx_expr=...) at libinterp/parse-tree/pt-eval.cc:2008
#23 0x00007fb83f7437f3 in octave::tree_evaluator::evaluate
(this=0x7fb80c003a28, expr=0x7fb80d00bad0, nargout=<optimized out>) at
libinterp/parse-tree/pt-eval.h:312
#24 0x00007fb83f8e261d in octave::tree_evaluator::visit_statement
(this=0x7fb80c003a28, stmt=...) at libinterp/parse-tree/pt-eval.cc:2776
#25 0x00007fb83f8d6878 in octave::tree_statement::accept (tw=...,
this=0x7fb80c43fbb0) at libinterp/parse-tree/pt-stmt.h:119
#26 octave::tree_evaluator::visit_statement_list (this=0x7fb80c003a28,
lst=...) at libinterp/parse-tree/pt-eval.cc:2845
#27 0x00007fb83f8d8acb in octave::tree_statement_list::accept (tw=...,
this=<optimized out>) at libinterp/parse-tree/pt-stmt.h:194
#28 octave::tree_evaluator::repl (this=0x7fb80c003a28, interactive=true) at
libinterp/parse-tree/pt-eval.cc:106
#29 0x00007fb83fc6ab05 in octave::interpreter::execute
(address@hidden) at libinterp/corefcn/interpreter.cc:694
#30 0x00007fb84031c680 in octave::octave_interpreter::execute
(this=0x55a16e2e0010) at libgui/src/main-window.cc:146
#31 0x00007fb83c71042a in QObject::event(QEvent*) () from
/lib64/libQt5Core.so.5
#32 0x00007fb83d0d1ad6 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /lib64/libQt5Widgets.so.5
#33 0x00007fb83d0daf50 in QApplication::notify(QObject*, QEvent*) () from
/lib64/libQt5Widgets.so.5
#34 0x00007fb84031eb40 in octave::octave_qapplication::notify (this=<optimized
out>, receiver=<optimized out>, ev=<optimized out>) at
libgui/src/main-window.cc:2795
#35 0x00007fb83c6e52e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /lib64/libQt5Core.so.5
#36 0x00007fb83c6e8253 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /lib64/libQt5Core.so.5
#37 0x00007fb83c73a667 in ?? () from /lib64/libQt5Core.so.5
#38 0x00007fb837a6efd0 in g_main_context_dispatch () from
/lib64/libglib-2.0.so.0
#39 0x00007fb837a6f368 in ?? () from /lib64/libglib-2.0.so.0
#40 0x00007fb837a6f413 in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#41 0x00007fb83c73a3f5 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /lib64/libQt5Core.so.5
#42 0x00007fb83c6e42bb in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQt5Core.so.5
#43 0x00007fb83c53d675 in QThread::exec() () from /lib64/libQt5Core.so.5
#44 0x00007fb83c53e7c6 in ?? () from /lib64/libQt5Core.so.5
#45 0x00007fb83beec5a2 in start_thread () from /lib64/libpthread.so.0
#46 0x00007fb83d9ac163 in clone () from /lib64/libc.so.6



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Tue 04 Jun 2019 09:04:05 AM UTC  Name: pararrayfun.cc  Size: 9KiB   By:
None

<http://savannah.gnu.org/bugs/download.php?file_id=47025>

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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