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

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

[Octave-bug-tracker] [bug #65470] (instrument-control) ASAN crash during


From: Dmitri A. Sergatskov
Subject: [Octave-bug-tracker] [bug #65470] (instrument-control) ASAN crash during "test readline"
Date: Sat, 16 Mar 2024 23:09:13 -0400 (EDT)

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

                 Summary: (instrument-control) ASAN crash during "test
readline"
                   Group: GNU Octave
               Submitter: dasergatskov
               Submitted: Sun 17 Mar 2024 03:09:13 AM UTC
                Category: Octave Package
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Segfault, Bus Error, etc.
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
                 Release: stable
         Discussion Lock: Any
        Operating System: GNU/Linux
           Fixed Release: None
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Sun 17 Mar 2024 03:09:13 AM UTC By: Dmitri A. Sergatskov <dasergatskov>
I compiles octave 9.1 and instrument-control 0.9.2 with address sanitizer
(ASAN).

 octave:1> pkg load instrument-control
octave:2> test readline verbose
>>>>>
/home/dima/.local/share/octave/api-v59/packages/instrument-control-0.9.2/readline.m
***** error readline
***** error readline (1)
***** test
 a = udp ();
 a.remoteport = a.localport;
 a.remotehost = '127.0.0.1';
 a.timeout = 1;

 writeline(a, "hello");
 assert(readline(a), "hello");
 # no more data
 assert(readline(a), "");
 clear a
=================================================================
==411481==ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges
[0x619000efd880,0x619000efd885) and [0x619000efd881, 0x619000efd886) overlap
    #0 0x7f790a649a4f in __interceptor_memcpy (/lib64/libasan.so.8+0x49a4f)
    #1 0x7f77e59aafbc in octave_udp::read(unsigned char*, unsigned int,
double) /tmp/oct-fQEWdu/instrument-control-0.9.2/src/udp/udp_class.cc:427
    #2 0x7f77e59a0566 in Fudp_read(octave_value_list const&, int)
/tmp/oct-fQEWdu/instrument-control-0.9.2/src/udp/udp_read.cc:99
    #3 0x7f7907f0d693 in
octave::tree_evaluator::execute_builtin_function(octave_builtin&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3464
    #4 0x7f7907b1aeab in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #5 0x7f7907c039cc in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #6 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #7 0x7f7907f5f4b2 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
    #8 0x7f7907ed734d in
octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.cc:101
    #9 0x7f7907f11a29 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3987
    #10 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #11 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #12 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #13 0x7f7907f14b8e in
octave::tree_evaluator::visit_while_command(octave::tree_while_command&)
../libinterp/parse-tree/pt-eval.cc:4400
    #14 0x7f7907f66e36 in
octave::tree_while_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:83
    #15 0x7f7907f117cb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3962
    #16 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #17 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #18 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #19 0x7f7907f0f8d2 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #20 0x7f7907cdd72d in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #21 0x7f7907cdd5d0 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #22 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #23 0x7f7907f5f4b2 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
    #24 0x7f7907ed734d in
octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.cc:101
    #25 0x7f7907f11a29 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3987
    #26 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #27 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #28 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #29 0x7f7907f10d1c in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3835
    #30 0x7f7907f28032 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:111
    #31 0x7f7907f10935 in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3813
    #32 0x7f7907f7416a in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:141
    #33 0x7f7907f117cb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3962
    #34 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #35 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #36 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #37 0x7f7907f0f8d2 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #38 0x7f7907cdd72d in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #39 0x7f7907cdd5d0 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #40 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #41 0x7f7907f5f4b2 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
    #42 0x7f7907f03fcb in
octave::tree_evaluator::convert_to_const_vector(octave::tree_argument_list*)
../libinterp/parse-tree/pt-eval.cc:2340
    #43 0x7f7907f59e35 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:407
    #44 0x7f7907f5f4b2 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
    #45 0x7f7907f11a29 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3987
    #46 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #47 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #48 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #49 0x7f7907f0f8d2 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #50 0x7f7907cdd72d in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #51 0x7f7907cdd5d0 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #52 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #53 0x7f7907ef902f in
octave::tree_evaluator::eval_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool, int&, int)
../libinterp/parse-tree/pt-eval.cc:1062
    #54 0x7f7907ef9bae in
octave::tree_evaluator::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/parse-tree/pt-eval.cc:1124
    #55 0x7f79087d3090 in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1521
    #56 0x7f7907e97af5 in octave::Feval(octave::interpreter&,
octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:6525
    #57 0x7f7907f0d7ad in
octave::tree_evaluator::execute_builtin_function(octave_builtin&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3469
    #58 0x7f7907b1aeab in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #59 0x7f7907c039cc in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #60 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #61 0x7f7907f5f4b2 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
    #62 0x7f7907f11a29 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3987
    #63 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #64 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #65 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #66 0x7f7907f130ba in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:4187
    #67 0x7f7907f50cda in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:80
    #68 0x7f7907f117cb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3962
    #69 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #70 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #71 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #72 0x7f7907f10d1c in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3835
    #73 0x7f7907f28032 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:111
    #74 0x7f7907f10935 in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3813
    #75 0x7f7907f7416a in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:141
    #76 0x7f7907f117cb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3962
    #77 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #78 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #79 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #80 0x7f7907f14682 in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:4332
    #81 0x7f7907f50d4e in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:142
    #82 0x7f7907f117cb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3962
    #83 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #84 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #85 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #86 0x7f7907f2c308 in void
octave::tree_evaluator::execute_range_loop<double>(octave::range<double, void>
const&, int, octave::octave_lvalue&, octave::tree_statement_list*)
(/usr/local/lib/octave/9.1.1/liboctinterp.so.12+0x172c308)
    #87 0x7f7907f0a22a in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:3173
    #88 0x7f7907f66eaa in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:179
    #89 0x7f7907f117cb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3962
    #90 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #91 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #92 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #93 0x7f7907f0f8d2 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #94 0x7f7907cdd72d in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #95 0x7f7907cdd5d0 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #96 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #97 0x7f7907f5f4b2 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
    #98 0x7f7907f11a29 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3987
    #99 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #100 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #101 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #102 0x7f7907ef89c9 in
octave::tree_evaluator::eval(std::shared_ptr<octave::tree_statement_list>&,
bool) ../libinterp/parse-tree/pt-eval.cc:994
    #103 0x7f7907ef76f6 in octave::tree_evaluator::repl()
../libinterp/parse-tree/pt-eval.cc:811
    #104 0x7f79087d1e4e in octave::interpreter::main_loop()
../libinterp/corefcn/interpreter.cc:1337
    #105 0x7f79087c4e79 in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:898
    #106 0x7f7909d51d28 in octave::interpreter_qobject::execute()
../libgui/src/interpreter-qobject.cc:87
    #107 0x7f7909ea705b in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (octave::interpreter_qobject::*)()>::call(void
(octave::interpreter_qobject::*)(), octave::interpreter_qobject*, void**)
/usr/include/qt6/QtCore/qobjectdefs_impl.h:135
    #108 0x7f7909ea59c5 in void QtPrivate::FunctionPointer<void
(octave::interpreter_qobject::*)()>::call<QtPrivate::List<>, void>(void
(octave::interpreter_qobject::*)(), octave::interpreter_qobject*, void**)
/usr/include/qt6/QtCore/qobjectdefs_impl.h:172
    #109 0x7f7909ea3e77 in QtPrivate::QSlotObject<void
(octave::interpreter_qobject::*)(), QtPrivate::List<>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/usr/include/qt6/QtCore/qobjectdefs_impl.h:384
    #110 0x7f7904dc09ef in QObject::event(QEvent*)
(/lib64/libQt6Core.so.6+0x1c09ef)
    #111 0x7f7905fc17b5 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) (/lib64/libQt6Widgets.so.6+0x1c17b5)
    #112 0x7f7909e8824f in octave::octave_qapplication::notify(QObject*,
QEvent*) ../libgui/src/octave-qobject.cc:148
    #113 0x7f7904d6dbe7 in QCoreApplication::notifyInternal2(QObject*,
QEvent*) ../src/corelib/kernel/qcoreapplication.cpp:1118
    #114 0x7f7904d71327 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) ../src/corelib/kernel/qcoreapplication.cpp:1898
    #115 0x7f7904ffd586 in postEventSourceDispatch
../src/corelib/kernel/qeventdispatcher_glib.cpp:243
    #116 0x7f7901308e3e in g_main_context_dispatch
(/lib64/libglib-2.0.so.0+0x54e3e)
    #117 0x7f790135dec7 in g_main_context_iterate.constprop.0
(/lib64/libglib-2.0.so.0+0xa9ec7)
    #118 0x7f790130677f in g_main_context_iteration
(/lib64/libglib-2.0.so.0+0x5277f)
    #119 0x7f7904ffcd5d in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(/lib64/libQt6Core.so.6+0x3fcd5d)
    #120 0x7f7904d7a192 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(/lib64/libQt6Core.so.6+0x17a192)
    #121 0x7f7904e93c35 in QThread::exec() (/lib64/libQt6Core.so.6+0x293c35)
    #122 0x7f7904ee8c66 in
terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> >
../src/corelib/thread/qthread_unix.cpp:321
    #123 0x7f7904ee8c66 in QThreadPrivate::start(void*)
../src/corelib/thread/qthread_unix.cpp:280
    #124 0x7f7900c8d3bd in start_thread (/lib64/libc.so.6+0x8d3bd)
    #125 0x7f7900d12def in __GI___clone3 (/lib64/libc.so.6+0x112def)

0x619000efd880 is located 0 bytes inside of 1024-byte region
[0x619000efd880,0x619000efdc80)
allocated by thread T8 (QThread) here:
    #0 0x7f790a6bb298 in operator new[](unsigned long)
(/lib64/libasan.so.8+0xbb298)
    #1 0x7f77e59a9606 in octave_udp::open(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int, int)
/tmp/oct-fQEWdu/instrument-control-0.9.2/src/udp/udp_class.cc:236
    #2 0x7f77e5999847 in Fudp(octave_value_list const&, int)
/tmp/oct-fQEWdu/instrument-control-0.9.2/src/udp/udp.cc:180
    #3 0x7f7907f0d693 in
octave::tree_evaluator::execute_builtin_function(octave_builtin&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3464
    #4 0x7f7907b1aeab in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #5 0x7f7907c039cc in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #6 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #7 0x7f7907f5f4b2 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
    #8 0x7f7907ed734d in
octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.cc:101
    #9 0x7f7907f11a29 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3987
    #10 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #11 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #12 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #13 0x7f7907f0f8d2 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #14 0x7f7907cdd72d in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #15 0x7f7907cdd5d0 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #16 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #17 0x7f7907ef902f in
octave::tree_evaluator::eval_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool, int&, int)
../libinterp/parse-tree/pt-eval.cc:1062
    #18 0x7f7907ef9bae in
octave::tree_evaluator::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/parse-tree/pt-eval.cc:1124
    #19 0x7f79087d3090 in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1521
    #20 0x7f7907e97af5 in octave::Feval(octave::interpreter&,
octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:6525
    #21 0x7f7907f0d7ad in
octave::tree_evaluator::execute_builtin_function(octave_builtin&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3469
    #22 0x7f7907b1aeab in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #23 0x7f7907c039cc in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #24 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #25 0x7f7907f5f4b2 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
    #26 0x7f7907f11a29 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3987
    #27 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #28 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #29 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193

Thread T8 (QThread) created by T0 here:
    #0 0x7f790a64b276 in __interceptor_pthread_create
(/lib64/libasan.so.8+0x4b276)
    #1 0x7f7904ee8654 in QThread::start(QThread::Priority)
(/lib64/libQt6Core.so.6+0x2e8654)

0x619000efd881 is located 1 bytes inside of 1024-byte region
[0x619000efd880,0x619000efdc80)
allocated by thread T8 (QThread) here:
    #0 0x7f790a6bb298 in operator new[](unsigned long)
(/lib64/libasan.so.8+0xbb298)
    #1 0x7f77e59a9606 in octave_udp::open(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int, int)
/tmp/oct-fQEWdu/instrument-control-0.9.2/src/udp/udp_class.cc:236
    #2 0x7f77e5999847 in Fudp(octave_value_list const&, int)
/tmp/oct-fQEWdu/instrument-control-0.9.2/src/udp/udp.cc:180
    #3 0x7f7907f0d693 in
octave::tree_evaluator::execute_builtin_function(octave_builtin&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3464
    #4 0x7f7907b1aeab in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #5 0x7f7907c039cc in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #6 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #7 0x7f7907f5f4b2 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
    #8 0x7f7907ed734d in
octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.cc:101
    #9 0x7f7907f11a29 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3987
    #10 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #11 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #12 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
    #13 0x7f7907f0f8d2 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #14 0x7f7907cdd72d in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #15 0x7f7907cdd5d0 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #16 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #17 0x7f7907ef902f in
octave::tree_evaluator::eval_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool, int&, int)
../libinterp/parse-tree/pt-eval.cc:1062
    #18 0x7f7907ef9bae in
octave::tree_evaluator::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/parse-tree/pt-eval.cc:1124
    #19 0x7f79087d3090 in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1521
    #20 0x7f7907e97af5 in octave::Feval(octave::interpreter&,
octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:6525
    #21 0x7f7907f0d7ad in
octave::tree_evaluator::execute_builtin_function(octave_builtin&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3469
    #22 0x7f7907b1aeab in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #23 0x7f7907c039cc in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #24 0x7f7907f5a13c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
    #25 0x7f7907f5f4b2 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
    #26 0x7f7907f11a29 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3987
    #27 0x7f7907f7733e in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
    #28 0x7f7907f12524 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:4072
    #29 0x7f7907a59bac in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193

SUMMARY: AddressSanitizer: memcpy-param-overlap (/lib64/libasan.so.8+0x49a4f)
in __interceptor_memcpy
==411481==ABORTING


Dmitri.







    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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