[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in
From: |
Dmitri A. Sergatskov |
Subject: |
[Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS |
Date: |
Sun, 3 Apr 2022 18:18:28 -0400 (EDT) |
Follow-up Comment #49, bug #62207 (project octave):
0a1aec50a0c8 (stable) w/ ASAN.
Start octave and exit:
octave:1>
=================================================================
==866659==ERROR: AddressSanitizer: stack-use-after-scope on address 0xffa126d0
at pc 0xf767c8d8 bp 0xffa1261c sp 0xffa121f0
WRITE of size 128 at 0xffa126d0 thread T0
#0 0xf767c8d4 in __interceptor_sigemptyset
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4076
#1 0xf44653a0 in octave_set_signal_handler_internal
../liboctave/wrappers/signal-wrappers.c:378
#2 0xf44655c4 in octave_set_signal_handler_by_name
../liboctave/wrappers/signal-wrappers.c:394
#3 0xf6f10a3c in octave::set_signal_handler(char const*, void (*)(int),
bool) ../libinterp/corefcn/sighandlers.cc:269
#4 0xf6f10ff0 in octave::catch_interrupts()
../libinterp/corefcn/sighandlers.cc:331
#5 0xf6b3fa4c in octave::interpreter::recover_from_exception()
../libinterp/corefcn/interpreter.cc:1945
#6 0xf6b34d04 in octave::interpreter::shutdown()
../libinterp/corefcn/interpreter.cc:1034
#7 0xf6b2c02c in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:916
#8 0xf4e4933c in octave::cli_application::execute()
../libinterp/octave.cc:425
#9 0x4f2840 in main ../src/main-cli.cc:121
#10 0xf23c6e20 in __libc_start_main csu/libc-start.c:332
Address 0xffa126d0 is located in stack of thread T0 at offset 144 in frame
#0 0xf4465184 in octave_set_signal_handler_internal
../liboctave/wrappers/signal-wrappers.c:355
This frame has 2 object(s):
[32, 172) 'act' (line 356) <== Memory access at offset 144 partially
overflows this variable
[240, 380) 'oact' (line 356) <== Memory access at offset 144 partially
underflows this variable
HINT: this may be a false positive if your program uses some custom stack
unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4076
in __interceptor_sigemptyset
Shadow bytes around the buggy address:
0x3ff42480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3ff42490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3ff424a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3ff424b0: 00 00 00 00 00 00 00 00 00 00 f8 f8 f8 00 00 00
0x3ff424c0: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00 00 00
=>0x3ff424d0: 00 00 00 00 00 00 00 00 00 00[f8]f8 00 04 f2 f2
0x3ff424e0: f2 f2 f2 f2 f2 f2 00 00 f8 f8 f8 f8 f8 f8 f8 f8
0x3ff424f0: 00 00 00 00 00 00 00 04 f3 f3 f3 f3 f3 f3 f3 f3
0x3ff42500: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 04 f3 f3 f3
0x3ff42510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3ff42520: f1 f1 f1 f1 00 f3 f3 f3 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==866659==ABORTING
test uicontrol
octave:1> test gui/uicontrol.m
=================================================================
==866975==ERROR: AddressSanitizer: heap-buffer-overflow on address 0xc773cb80
at pc 0xf66ae578 bp 0xffcf513c sp 0xffcf512c
WRITE of size 8 at 0xc773cb80 thread T0
#0 0xf66ae574 in convert_position ../libinterp/corefcn/graphics.cc:833
#1 0xf69ec72c in octave::uicontrol::properties::get_extent() const
../libinterp/corefcn/graphics.cc:11042
#2 0xf68ddb10 in octave::uicontrol::properties::get(bool) const
libinterp/corefcn/graphics-props.cc:7252
#3 0xf6a460cc in octave::base_graphics_object::get(bool) const
libinterp/corefcn/graphics.h:2751
#4 0xf66e5d24 in octave::base_graphics_object::remove_all_listeners()
../libinterp/corefcn/graphics.cc:3758
#5 0xf6a4c280 in octave::graphics_object::remove_all_listeners()
libinterp/corefcn/graphics.h:3153
#6 0xf66d9290 in octave::gh_manager::free(octave_handle const&, bool)
../libinterp/corefcn/graphics.cc:2917
#7 0xf66c68bc in octave::children_property::do_delete_children(bool, bool)
../libinterp/corefcn/graphics.cc:1903
#8 0xf6a4037c in octave::children_property::delete_children(bool, bool)
libinterp/corefcn/graphics.h:1781
#9 0xf6a43de0 in octave::base_properties::delete_children(bool, bool)
libinterp/corefcn/graphics.h:2351
#10 0xf66d935c in octave::gh_manager::free(octave_handle const&, bool)
../libinterp/corefcn/graphics.cc:2919
#11 0xf66db230 in delete_graphics_object
../libinterp/corefcn/graphics.cc:3085
#12 0xf66db648 in delete_graphics_object
../libinterp/corefcn/graphics.cc:3097
#13 0xf66db854 in delete_graphics_objects
../libinterp/corefcn/graphics.cc:3110
#14 0xf6a1f7e0 in octave::F__go_delete__(octave::interpreter&,
octave_value_list const&, int) ../libinterp/corefcn/graphics.cc:13663
#15 0xf5be3a30 in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
#16 0xf5d0214c in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
#17 0xf618eec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#18 0xf61962e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#19 0xf6124338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#20 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#21 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#22 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#23 0xf6123044 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3629
#24 0xf6141d1c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
#25 0xf6122aac in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3607
#26 0xf61b4174 in octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
#27 0xf6123f98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#28 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#29 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#30 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#31 0xf61219d0 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
#32 0xf5e36df4 in octave_user_function::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#33 0xf5e36c64 in octave_user_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#34 0xf618eec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#35 0xf61962e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#36 0xf6124338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#37 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#38 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#39 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#40 0xf6123044 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3629
#41 0xf6141d1c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
#42 0xf6122aac in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3607
#43 0xf61b4174 in octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
#44 0xf6123f98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#45 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#46 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#47 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#48 0xf61219d0 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
#49 0xf5e36df4 in octave_user_function::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#50 0xf5e36c64 in octave_user_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#51 0xf6186970 in
octave::tree_identifier::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-id.cc:130
#52 0xf6108f30 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:1052
#53 0xf6b6c9bc in
octave::interpreter::eval_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool, int&, int)
../libinterp/corefcn/interpreter.cc:1483
#54 0xf6a0a6fc in octave::gh_manager::execute_callback(octave_handle
const&, octave_value const&, octave_value const&)
../libinterp/corefcn/graphics.cc:12332
#55 0xf6aab71c in octave::gh_manager::execute_callback(octave_handle
const&, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, octave_value const&)
(/usr/local/src/octave/gcc_asan/libinterp/.libs/liboctinterp.so.10+0x22c371c)
#56 0xf6a206f4 in octave::F__go_execute_callback__(octave::interpreter&,
octave_value_list const&, int) ../libinterp/corefcn/graphics.cc:13732
#57 0xf5be3a30 in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
#58 0xf5d0214c in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
#59 0xf618eec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#60 0xf61962e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#61 0xf6124338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#62 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#63 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#64 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#65 0xf611d920 in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:3166
#66 0xf61a141c in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:191
#67 0xf6123f98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#68 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#69 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#70 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#71 0xf61219d0 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
#72 0xf5e36df4 in octave_user_function::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#73 0xf5e36c64 in octave_user_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#74 0xf618eec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#75 0xf61962e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#76 0xf6124338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#77 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#78 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#79 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#80 0xf6127408 in
octave::tree_evaluator::do_unwind_protect_cleanup_code(octave::tree_statement_list*)
../libinterp/parse-tree/pt-eval.cc:4054
#81 0xf6127ab4 in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:4157
#82 0xf61761bc in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:151
#83 0xf6123f98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#84 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#85 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#86 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#87 0xf61219d0 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
#88 0xf5e36df4 in octave_user_function::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#89 0xf5e36c64 in octave_user_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#90 0xf618eec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#91 0xf6108f30 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:1052
#92 0xf6109c80 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:1111
#93 0xf6b6cc60 in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1502
#94 0xf607b2ac in octave::Feval(octave::interpreter&, octave_value_list
const&, int) ../libinterp/parse-tree/oct-parse.yy:6432
#95 0xf5be3a30 in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
#96 0xf5d0214c in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
#97 0xf618eec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#98 0xf61962e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#99 0xf6124338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#100 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#101 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#102 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#103 0xf6126108 in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:3981
#104 0xf61760c0 in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:84
#105 0xf6123f98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#106 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#107 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#108 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#109 0xf6123044 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3629
#110 0xf6141d1c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
#111 0xf6122aac in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3607
#112 0xf61b4174 in octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
#113 0xf6123f98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#114 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#115 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#116 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#117 0xf6123044 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3629
#118 0xf6141d1c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
#119 0xf6122aac in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3607
#120 0xf61b4174 in octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
#121 0xf6123f98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#122 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#123 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#124 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#125 0xf6127aa8 in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:4126
#126 0xf61761bc in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:151
#127 0xf6123f98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#128 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#129 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#130 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#131 0xf611d920 in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:3166
#132 0xf61a141c in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:191
#133 0xf6123f98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#134 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#135 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#136 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#137 0xf61219d0 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
#138 0xf5e36df4 in octave_user_function::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#139 0xf5e36c64 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#140 0xf618eec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#141 0xf61962e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#142 0xf6124338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#143 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#144 0xf61251ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#145 0xf5aed604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#146 0xf6108694 in
octave::tree_evaluator::eval(std::shared_ptr<octave::tree_statement_list>&,
bool) ../libinterp/parse-tree/pt-eval.cc:984
#147 0xf6106de4 in octave::tree_evaluator::repl()
../libinterp/parse-tree/pt-eval.cc:803
#148 0xf6b6b34c in octave::interpreter::main_loop()
../libinterp/corefcn/interpreter.cc:1340
#149 0xf6b5bfdc in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:908
#150 0xf4e7933c in octave::cli_application::execute()
../libinterp/octave.cc:425
#151 0x7d2840 in main ../src/main-cli.cc:121
#152 0xf23f6e20 in __libc_start_main csu/libc-start.c:332
0xc773cb80 is located 15 bytes to the right of 1-byte region
[0xc773cb70,0xc773cb71)
allocated by thread T0 here:
#0 0xf7709460 in operator new(unsigned int)
../../../../src/libsanitizer/asan/asan_new_delete.cpp:99
#1 0xf4f5b324 in __gnu_cxx::new_allocator<double>::allocate(unsigned int,
void const*) /usr/include/c++/11/ext/new_allocator.h:127
#2 0xf4f5b0d0 in std::allocator_traits<std::allocator<double>
>::allocate(std::allocator<double>&, unsigned int)
/usr/include/c++/11/bits/alloc_traits.h:464
#3 0xf4f5b028 in Array<double, std::allocator<double>
>::ArrayRep::allocate(unsigned int) ../liboctave/array/Array.h:197
#4 0xf4f5b434 in Array<double, std::allocator<double>
>::ArrayRep::ArrayRep(double*, int) ../liboctave/array/Array.h:147
#5 0xf5134160 in Array<double, std::allocator<double> >::make_unique()
../liboctave/array/Array.h:219
#6 0xf512f260 in Array<double, std::allocator<double> >::elem(int)
../liboctave/array/Array.h:536
#7 0xf51240b4 in Array<double, std::allocator<double> >::operator()(int)
../liboctave/array/Array.h:548
#8 0xf66ae550 in convert_position ../libinterp/corefcn/graphics.cc:833
#9 0xf69ec72c in octave::uicontrol::properties::get_extent() const
../libinterp/corefcn/graphics.cc:11042
#10 0xf68ddb10 in octave::uicontrol::properties::get(bool) const
libinterp/corefcn/graphics-props.cc:7252
#11 0xf6a460cc in octave::base_graphics_object::get(bool) const
libinterp/corefcn/graphics.h:2751
#12 0xf66e5d24 in octave::base_graphics_object::remove_all_listeners()
../libinterp/corefcn/graphics.cc:3758
#13 0xf6a4c280 in octave::graphics_object::remove_all_listeners()
libinterp/corefcn/graphics.h:3153
#14 0xf66d9290 in octave::gh_manager::free(octave_handle const&, bool)
../libinterp/corefcn/graphics.cc:2917
#15 0xf66c68bc in octave::children_property::do_delete_children(bool,
bool) ../libinterp/corefcn/graphics.cc:1903
#16 0xf6a4037c in octave::children_property::delete_children(bool, bool)
libinterp/corefcn/graphics.h:1781
#17 0xf6a43de0 in octave::base_properties::delete_children(bool, bool)
libinterp/corefcn/graphics.h:2351
#18 0xf66d935c in octave::gh_manager::free(octave_handle const&, bool)
../libinterp/corefcn/graphics.cc:2919
#19 0xf66db230 in delete_graphics_object
../libinterp/corefcn/graphics.cc:3085
#20 0xf66db648 in delete_graphics_object
../libinterp/corefcn/graphics.cc:3097
#21 0xf66db854 in delete_graphics_objects
../libinterp/corefcn/graphics.cc:3110
#22 0xf6a1f7e0 in octave::F__go_delete__(octave::interpreter&,
octave_value_list const&, int) ../libinterp/corefcn/graphics.cc:13663
#23 0xf5be3a30 in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
#24 0xf5d0214c in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
#25 0xf618eec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#26 0xf61962e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#27 0xf6124338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#28 0xf61b8a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
SUMMARY: AddressSanitizer: heap-buffer-overflow
../libinterp/corefcn/graphics.cc:833 in convert_position
Shadow bytes around the buggy address:
0x38ee7920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x38ee7930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x38ee7940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x38ee7950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x38ee7960: fa fa fa fa fa fa fa fa fa fa fa fa fa fa 01 fa
=>0x38ee7970:[fa]fa 00 04 fa fa 00 fa fa fa fd fa fa fa fd fd
0x38ee7980: fa fa fd fa fa fa fd fa fa fa 00 fa fa fa fd fa
0x38ee7990: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa
0x38ee79a0: fa fa fd fd fa fa fd fd fa fa 00 04 fa fa 00 fa
0x38ee79b0: fa fa fd fa fa fa fd fd fa fa fd fa fa fa fd fa
0x38ee79c0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==866975==ABORTING
test bug-35881
octave:1> cd ../test/bug-35881
octave:2> test bug-35881.tst
=================================================================
==867134==ERROR: AddressSanitizer: stack-use-after-scope on address 0xffd69914
at pc 0xf72b26bc bp 0xffd698ec sp 0xffd694c0
WRITE of size 12 at 0xffd69914 thread T0
#0 0xf72b26b8 in __interceptor_sigaltstack
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:9986
#1 0xf7318548 in __asan::PlatformUnpoisonStacks()
../../../../src/libsanitizer/asan/asan_posix.cpp:44
#2 0xf731da84 in __asan_handle_no_return
../../../../src/libsanitizer/asan/asan_rtl.cpp:612
#3 0xf5d2fcc0 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3842
#4 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#5 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#6 0xf56f8604 in octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#7 0xf5d2c9d0 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
#8 0xf5a41df4 in octave_user_function::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#9 0xf5a41c64 in octave_user_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#10 0xf5d99ec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#11 0xf5d13f30 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:1052
#12 0xf5d15dac in
octave::tree_evaluator::evalin(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, int) ../libinterp/parse-tree/pt-eval.cc:1179
#13 0xf6777e50 in
octave::interpreter::evalin(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, int) ../libinterp/corefcn/interpreter.cc:1516
#14 0xf5c86f24 in octave::Fevalin(octave::interpreter&, octave_value_list
const&, int) ../libinterp/parse-tree/oct-parse.yy:6553
#15 0xf57eea30 in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
#16 0xf590d14c in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
#17 0xf5d99ec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#18 0xf5da12e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#19 0xf5d2f338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#20 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#21 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#22 0xf56f8604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#23 0xf5d31108 in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:3981
#24 0xf5d810c0 in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:84
#25 0xf5d2ef98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#26 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#27 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#28 0xf56f8604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#29 0xf5d2e044 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3629
#30 0xf5d4cd1c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
#31 0xf5d2daac in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3607
#32 0xf5dbf174 in octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
#33 0xf5d2ef98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#34 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#35 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#36 0xf56f8604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#37 0xf5d2c9d0 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
#38 0xf5a41df4 in octave_user_function::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#39 0xf5a41c64 in octave_user_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#40 0xf5d99ec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#41 0xf5da12e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#42 0xf5d2f338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#43 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#44 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#45 0xf56f8604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#46 0xf5d2c9d0 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
#47 0xf5a41df4 in octave_user_function::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#48 0xf5a41c64 in octave_user_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#49 0xf5d99ec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#50 0xf5d13f30 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:1052
#51 0xf5d14c80 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:1111
#52 0xf6777c60 in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1502
#53 0xf5c862ac in octave::Feval(octave::interpreter&, octave_value_list
const&, int) ../libinterp/parse-tree/oct-parse.yy:6432
#54 0xf57eea30 in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
#55 0xf590d14c in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
#56 0xf5d99ec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#57 0xf5da12e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#58 0xf5d2f338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#59 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#60 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#61 0xf56f8604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#62 0xf5d31108 in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:3981
#63 0xf5d810c0 in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:84
#64 0xf5d2ef98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#65 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#66 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#67 0xf56f8604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#68 0xf5d2e044 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3629
#69 0xf5d4cd1c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
#70 0xf5d2daac in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3607
#71 0xf5dbf174 in octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
#72 0xf5d2ef98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#73 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#74 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#75 0xf56f8604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#76 0xf5d32aa8 in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:4126
#77 0xf5d811bc in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:151
#78 0xf5d2ef98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#79 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#80 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#81 0xf56f8604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#82 0xf5d28920 in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:3166
#83 0xf5dac41c in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:191
#84 0xf5d2ef98 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
#85 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#86 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#87 0xf56f8604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#88 0xf5d2c9d0 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
#89 0xf5a41df4 in octave_user_function::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#90 0xf5a41c64 in octave_user_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#91 0xf5d99ec4 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
#92 0xf5da12e8 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
#93 0xf5d2f338 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
#94 0xf5dc3a70 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
#95 0xf5d301ac in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
#96 0xf56f8604 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
#97 0xf5d13694 in
octave::tree_evaluator::eval(std::shared_ptr<octave::tree_statement_list>&,
bool) ../libinterp/parse-tree/pt-eval.cc:984
#98 0xf5d11de4 in octave::tree_evaluator::repl()
../libinterp/parse-tree/pt-eval.cc:803
#99 0xf677634c in octave::interpreter::main_loop()
../libinterp/corefcn/interpreter.cc:1340
#100 0xf6766fdc in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:908
#101 0xf4a8433c in octave::cli_application::execute()
../libinterp/octave.cc:425
#102 0x492840 in main ../src/main-cli.cc:121
#103 0xf2001e20 in __libc_start_main csu/libc-start.c:332
Address 0xffd69914 is located in stack of thread T0
SUMMARY: AddressSanitizer: stack-use-after-scope
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:9986
in __interceptor_sigaltstack
Shadow bytes around the buggy address:
0x3ffad2d0: f8 00 00 00 00 00 f8 f8 00 00 f8 f8 00 00 00 00
0x3ffad2e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3ffad2f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3ffad300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3ffad310: 00 00 00 00 00 00 00 00 00 00 00 00 f8 f8 f8 f8
=>0x3ffad320: f8 f8[f8]f8 00 00 00 00 00 00 00 00 00 00 00 00
0x3ffad330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f8 00
0x3ffad340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3ffad350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3ffad360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x3ffad370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==867134==ABORTING
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?62207>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, (continued)
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/02
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/02
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, John W. Eaton, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, John W. Eaton, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, John W. Eaton, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS,
Dmitri A. Sergatskov <=
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Arun Giridhar, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, John W. Eaton, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, John W. Eaton, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, John W. Eaton, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, Dmitri A. Sergatskov, 2022/04/03
- [Octave-bug-tracker] [bug #62207] segfault in bug-35881/bug-35881.tst in 32-bit ARM and MIPS, John W. Eaton, 2022/04/04