bugGNU Octave - Bugs: bug #65470, (instrument-control) ASAN crash...

 
 

bug #65470: (instrument-control) ASAN crash during "test readline"

Submitter:  Dmitri A. Sergatskov <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:  Fixed Assigned to:  lostbard
Originator Name:  Open/Closed:  * Closed
Release:  * stable Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 21 Mar 2024 02:53:12 PM UTC, comment #18: 

ok - it will be in the next release of instrument control - closing as fixed

John Donoghue <lostbard>
Group Member
Thu 21 Mar 2024 02:10:37 PM UTC, comment #17: 

Not sure - perhaps try going into the src directoty and running the content of bootstrap line by line may give more information ?


aclocal
autoconf 
autoheader -f


John Donoghue <lostbard>
Group Member
Thu 21 Mar 2024 02:10:00 PM UTC, comment #16: 

And now "pkg test instrument-control" passes ASAN test.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Thu 21 Mar 2024 02:06:02 PM UTC, comment #15: 

Updating to autoconf-2.71 seems to help

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Thu 21 Mar 2024 01:34:21 PM UTC, comment #14: 

May be my tools are old:

$ rpm -qf /usr/bin/aclocal
automake-1.16.2-7.el9sopt_903.noarch

$ rpm -qf /usr/bin/autoconf
autoconf-2.69-38.el9sopt_901.noarch

$ rpm -qf /usr/bin/libtool
libtool-2.4.6-45.el9sopt_901.x86_64

$ rpm -qf /usr/bin/autoheader
autoconf-2.69-38.el9sopt_901.noarch


Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Thu 21 Mar 2024 01:14:56 PM UTC, comment #13: 

I build octave and the other packages from hg w/o problems.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Thu 21 Mar 2024 11:26:19 AM UTC, comment #12: 

My guess would be that bootstrap fails making the dist file, it expects you have aclocal. autoconf, autheader and lintool installed

John Donoghue <lostbard>
Group Member
Thu 21 Mar 2024 11:22:53 AM UTC, comment #11: 

From top level, do 'make clean dist'. Verify the output as it expects certain tools to be installed as maintainer/package builder.



John Donoghue <lostbard>
Group Member
Thu 21 Mar 2024 01:08:31 AM UTC, comment #10: 

But now trying to install the package from "target/" I get
the same error:

octave:1> pkg install -verbose ./instrument-control-0.9.2.tar.gz
mkdir (/tmp/oct-vJ5Wpa)
untar (./instrument-control-0.9.2.tar.gz, /tmp/oct-vJ5Wpa)
configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."

error: pkg: error running the configure script for instrument-control
error: called from
    configure_make at line 101 column 9
    install at line 202 column 7
    pkg at line 619 column 9


Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Thu 21 Mar 2024 01:02:13 AM UTC, comment #9: 

That is what I did. But now I did it again and it worked.

Hmm...

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Thu 21 Mar 2024 12:58:29 AM UTC, comment #8: 

You  need to clone the repo, and from the base directory run make dist to generate the installable package.

John Donoghue <lostbard>
Group Member
Thu 21 Mar 2024 12:42:27 AM UTC, comment #7: 

How do I compile snapshot?
Running "make dist" gives me:


$ make dist
rm -f -r "target/instrument-control-0.9.2"
hg archive --exclude ".hg*" --type files "target/instrument-control-0.9.2"
cd "target/instrument-control-0.9.2/src" && ./bootstrap && rm -f -r "autom4te.cache"
cd "target/instrument-control-0.9.2/src" && ./configure && make prebuild && \
  make distclean && rm -f Makefile
configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."
make: *** [Makefile:150: target/instrument-control-0.9.2] Error 1


Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Wed 20 Mar 2024 11:22:21 PM UTC, comment #6: 
John Donoghue <lostbard>
Group Member
Wed 20 Mar 2024 02:51:22 PM UTC, comment #5: 

will change it to memmove

John Donoghue <lostbard>
Group Member
Wed 20 Mar 2024 02:08:22 PM UTC, comment #4: 

Im guessing doesnt like:


memcpy(&input_buffer[0], &input_buffer[read_retval], buffer_pos-read_retval);


As may not be a byte by byte move ? If it was byte by byte it shouldnt overlap unlessIm missing something

John Donoghue <lostbard>
Group Member
Sun 17 Mar 2024 03:46:17 AM UTC, comment #3: 

It passes on "normal" compiles for me as well. But there are some memory issues exposed by Address Sanitizer.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Sun 17 Mar 2024 03:35:12 AM UTC, comment #2: 

I tried your commands on Ununtu and

>> version -hgid

ans = c59ff2782e04
Passes 5/5
''''

>> pkg load instrument-control
>> test readline verbose
>>>>> /home/doug-stewart/.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
*** test
 # new interface
 a = udpport ();
 a.Timeout = 1;
 writeline(a, "hello", '127.0.0.1', a.LocalPort)

 assert(readline(a), "hello");
 # no more data
 assert(readline(a), "");
 clear a
*** test
 s = tcpserver(0);
 c = tcpclient("127.0.0.1", s.ServerPort, 'Timeout', 1);
 st = s.Connected; % NOTE: currently need look at statusto ensure opened
 writeline(s, "hello");
 assert(readline(c), "hello");
 # no more data
 assert(readline(c), "");

 writeline(c, "hello1");
 assert(readline(s), "hello1");
 clear a
PASSES 5 out of 5 tests
''''

Doug Stewart <dastew>
Sun 17 Mar 2024 03:34:39 AM UTC, comment #1: 

Similarly, "test writeread" crashes:

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

 data = writeread(a, "hello");
 assert(data, "hello");
 clear a
=================================================================
==412800==ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges [0x619001444780,0x619001444785) and [0x619001444781, 0x619001444786) overlap
    #0 0x7f6675a49a4f in __interceptor_memcpy (/lib64/libasan.so.8+0x49a4f)
    #1 0x7f6550d7ffbc in octave_udp::read(unsigned char*, unsigned int, double) /tmp/oct-fQEWdu/instrument-control-0.9.2/src/udp/udp_class.cc:427
    #2 0x7f6550d75566 in Fudp_read(octave_value_list const&, int) /tmp/oct-fQEWdu/instrument-control-0.9.2/src/udp/udp_read.cc:99
    #3 0x7f667330d693 in octave::tree_evaluator::execute_builtin_function(octave_builtin&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3464
    #4 0x7f6672f1aeab in octave_builtin::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #5 0x7f66730039cc in octave_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #6 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #7 0x7f667335f4b2 in octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:104
    #8 0x7f66732d734d in octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101
    #9 0x7f6673311a29 in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3987
    #10 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #11 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #12 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #13 0x7f6673314b8e in octave::tree_evaluator::visit_while_command(octave::tree_while_command&) ../libinterp/parse-tree/pt-eval.cc:4400
    #14 0x7f6673366e36 in octave::tree_while_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-loop.h:83
    #15 0x7f66733117cb in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3962
    #16 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #17 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #18 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #19 0x7f667330f8d2 in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #20 0x7f66730dd72d in octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #21 0x7f66730dd5d0 in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #22 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #23 0x7f667335f4b2 in octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:104
    #24 0x7f66732d734d in octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101
    #25 0x7f6673311a29 in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3987
    #26 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #27 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #28 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #29 0x7f6673310d1c in octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) ../libinterp/parse-tree/pt-eval.cc:3835
    #30 0x7f6673328032 in octave::tree_if_command_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:111
    #31 0x7f6673310935 in octave::tree_evaluator::visit_if_command(octave::tree_if_command&) ../libinterp/parse-tree/pt-eval.cc:3813
    #32 0x7f667337416a in octave::tree_if_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:141
    #33 0x7f66733117cb in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3962
    #34 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #35 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #36 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #37 0x7f667330f8d2 in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #38 0x7f66730dd72d in octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #39 0x7f66730dd5d0 in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #40 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #41 0x7f667335f4b2 in octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:104
    #42 0x7f66732d734d in octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101
    #43 0x7f6673311a29 in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3987
    #44 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #45 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #46 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #47 0x7f667330f8d2 in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #48 0x7f66730dd72d in octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #49 0x7f66730dd5d0 in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #50 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #51 0x7f667335f4b2 in octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:104
    #52 0x7f66732d734d in octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101
    #53 0x7f6673311a29 in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3987
    #54 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #55 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #56 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #57 0x7f667330f8d2 in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #58 0x7f66730dd72d in octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #59 0x7f66730dd5d0 in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #60 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #61 0x7f66732f902f 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
    #62 0x7f66732f9bae 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
    #63 0x7f6673bd3090 in octave::interpreter::eval(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) ../libinterp/corefcn/interpreter.cc:1521
    #64 0x7f6673297af5 in octave::Feval(octave::interpreter&, octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:6525
    #65 0x7f667330d7ad in octave::tree_evaluator::execute_builtin_function(octave_builtin&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3469
    #66 0x7f6672f1aeab in octave_builtin::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #67 0x7f66730039cc in octave_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #68 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #69 0x7f667335f4b2 in octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:104
    #70 0x7f6673311a29 in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3987
    #71 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #72 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #73 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #74 0x7f66733130ba in octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&) ../libinterp/parse-tree/pt-eval.cc:4187
    #75 0x7f6673350cda in octave::tree_try_catch_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-except.h:80
    #76 0x7f66733117cb in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3962
    #77 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #78 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #79 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #80 0x7f6673310d1c in octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) ../libinterp/parse-tree/pt-eval.cc:3835
    #81 0x7f6673328032 in octave::tree_if_command_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:111
    #82 0x7f6673310935 in octave::tree_evaluator::visit_if_command(octave::tree_if_command&) ../libinterp/parse-tree/pt-eval.cc:3813
    #83 0x7f667337416a in octave::tree_if_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-select.h:141
    #84 0x7f66733117cb in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3962
    #85 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #86 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #87 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #88 0x7f6673314682 in octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&) ../libinterp/parse-tree/pt-eval.cc:4332
    #89 0x7f6673350d4e in octave::tree_unwind_protect_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-except.h:142
    #90 0x7f66733117cb in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3962
    #91 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #92 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #93 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #94 0x7f667332c308 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)
    #95 0x7f667330a22a in octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&) ../libinterp/parse-tree/pt-eval.cc:3173
    #96 0x7f6673366eaa in octave::tree_simple_for_command::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-loop.h:179
    #97 0x7f66733117cb in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3962
    #98 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #99 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #100 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #101 0x7f667330f8d2 in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #102 0x7f66730dd72d in octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #103 0x7f66730dd5d0 in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #104 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #105 0x7f667335f4b2 in octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:104
    #106 0x7f6673311a29 in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3987
    #107 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #108 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #109 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #110 0x7f66732f89c9 in octave::tree_evaluator::eval(std::shared_ptr<octave::tree_statement_list>&, bool) ../libinterp/parse-tree/pt-eval.cc:994
    #111 0x7f66732f76f6 in octave::tree_evaluator::repl() ../libinterp/parse-tree/pt-eval.cc:811
    #112 0x7f6673bd1e4e in octave::interpreter::main_loop() ../libinterp/corefcn/interpreter.cc:1337
    #113 0x7f6673bc4e79 in octave::interpreter::execute() ../libinterp/corefcn/interpreter.cc:898
    #114 0x7f6675151d28 in octave::interpreter_qobject::execute() ../libgui/src/interpreter-qobject.cc:87
    #115 0x7f66752a705b 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
    #116 0x7f66752a59c5 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
    #117 0x7f66752a3e77 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
    #118 0x7f66701c09ef in QObject::event(QEvent*) (/lib64/libQt6Core.so.6+0x1c09ef)
    #119 0x7f66713c17b5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/lib64/libQt6Widgets.so.6+0x1c17b5)
    #120 0x7f667528824f in octave::octave_qapplication::notify(QObject*, QEvent*) ../libgui/src/octave-qobject.cc:148
    #121 0x7f667016dbe7 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ../src/corelib/kernel/qcoreapplication.cpp:1118
    #122 0x7f6670171327 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ../src/corelib/kernel/qcoreapplication.cpp:1898
    #123 0x7f66703fd586 in postEventSourceDispatch ../src/corelib/kernel/qeventdispatcher_glib.cpp:243
    #124 0x7f666c6c3e3e in g_main_context_dispatch (/lib64/libglib-2.0.so.0+0x54e3e)
    #125 0x7f666c718ec7 in g_main_context_iterate.constprop.0 (/lib64/libglib-2.0.so.0+0xa9ec7)
    #126 0x7f666c6c177f in g_main_context_iteration (/lib64/libglib-2.0.so.0+0x5277f)
    #127 0x7f66703fcd5d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/lib64/libQt6Core.so.6+0x3fcd5d)
    #128 0x7f667017a192 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/lib64/libQt6Core.so.6+0x17a192)
    #129 0x7f6670293c35 in QThread::exec() (/lib64/libQt6Core.so.6+0x293c35)
    #130 0x7f66702e8c66 in terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > ../src/corelib/thread/qthread_unix.cpp:321
    #131 0x7f66702e8c66 in QThreadPrivate::start(void*) ../src/corelib/thread/qthread_unix.cpp:280
    #132 0x7f666c08d3bd in start_thread (/lib64/libc.so.6+0x8d3bd)
    #133 0x7f666c112def in __GI___clone3 (/lib64/libc.so.6+0x112def)

0x619001444780 is located 0 bytes inside of 1024-byte region [0x619001444780,0x619001444b80)
allocated by thread T8 (QThread) here:
    #0 0x7f6675abb298 in operator new[](unsigned long) (/lib64/libasan.so.8+0xbb298)
    #1 0x7f6550d7e606 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 0x7f6550d6e847 in Fudp(octave_value_list const&, int) /tmp/oct-fQEWdu/instrument-control-0.9.2/src/udp/udp.cc:180
    #3 0x7f667330d693 in octave::tree_evaluator::execute_builtin_function(octave_builtin&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3464
    #4 0x7f6672f1aeab in octave_builtin::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #5 0x7f66730039cc in octave_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #6 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #7 0x7f667335f4b2 in octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:104
    #8 0x7f66732d734d in octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101
    #9 0x7f6673311a29 in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3987
    #10 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #11 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #12 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #13 0x7f667330f8d2 in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #14 0x7f66730dd72d in octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #15 0x7f66730dd5d0 in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #16 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #17 0x7f66732f902f 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 0x7f66732f9bae 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 0x7f6673bd3090 in octave::interpreter::eval(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) ../libinterp/corefcn/interpreter.cc:1521
    #20 0x7f6673297af5 in octave::Feval(octave::interpreter&, octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:6525
    #21 0x7f667330d7ad in octave::tree_evaluator::execute_builtin_function(octave_builtin&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3469
    #22 0x7f6672f1aeab in octave_builtin::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #23 0x7f66730039cc in octave_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #24 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #25 0x7f667335f4b2 in octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:104
    #26 0x7f6673311a29 in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3987
    #27 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #28 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #29 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193

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

0x619001444781 is located 1 bytes inside of 1024-byte region [0x619001444780,0x619001444b80)
allocated by thread T8 (QThread) here:
    #0 0x7f6675abb298 in operator new[](unsigned long) (/lib64/libasan.so.8+0xbb298)
    #1 0x7f6550d7e606 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 0x7f6550d6e847 in Fudp(octave_value_list const&, int) /tmp/oct-fQEWdu/instrument-control-0.9.2/src/udp/udp.cc:180
    #3 0x7f667330d693 in octave::tree_evaluator::execute_builtin_function(octave_builtin&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3464
    #4 0x7f6672f1aeab in octave_builtin::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #5 0x7f66730039cc in octave_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #6 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #7 0x7f667335f4b2 in octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:104
    #8 0x7f66732d734d in octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-assign.cc:101
    #9 0x7f6673311a29 in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3987
    #10 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #11 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #12 0x7f6672e59bac in octave::tree_statement_list::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:193
    #13 0x7f667330f8d2 in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3713
    #14 0x7f66730dd72d in octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:494
    #15 0x7f66730dd5d0 in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:487
    #16 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #17 0x7f66732f902f 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 0x7f66732f9bae 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 0x7f6673bd3090 in octave::interpreter::eval(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) ../libinterp/corefcn/interpreter.cc:1521
    #20 0x7f6673297af5 in octave::Feval(octave::interpreter&, octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:6525
    #21 0x7f667330d7ad in octave::tree_evaluator::execute_builtin_function(octave_builtin&, int, octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3469
    #22 0x7f6672f1aeab in octave_builtin::execute(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
    #23 0x7f66730039cc in octave_function::call(octave::tree_evaluator&, int, octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:63
    #24 0x7f667335a13c in octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.cc:427
    #25 0x7f667335f4b2 in octave::tree_index_expression::evaluate(octave::tree_evaluator&, int) ../libinterp/parse-tree/pt-idx.h:104
    #26 0x7f6673311a29 in octave::tree_evaluator::visit_statement(octave::tree_statement&) ../libinterp/parse-tree/pt-eval.cc:3987
    #27 0x7f667337733e in octave::tree_statement::accept(octave::tree_walker&) ../libinterp/parse-tree/pt-stmt.h:120
    #28 0x7f6673312524 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:4072
    #29 0x7f6672e59bac 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
==412800==ABORTING


Dmitri.
--


Dmitri A. Sergatskov <dasergatskov>
Sun 17 Mar 2024 03:09:13 AM UTC, original submission:  

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.

Dmitri A. Sergatskov <dasergatskov>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by lostbard (Posted a comment)
  • -email is unavailable- added by dastew (Posted a comment)
  • -email is unavailable- added by dasergatskov (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-03-21 lostbard StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2024-03-20 lostbard StatusNone Ready For Test
        Assigned toNone lostbard

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code