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

[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 20:54:28 -0400 (EDT)

Follow-up Comment #54, bug #62207 (project octave):

I also compiled aarch64 version with ASAN. 

test gui/uicontrol.m crashes there as well:


octave:1> test gui/uicontrol.m
=================================================================
==985255==ERROR: AddressSanitizer: heap-buffer-overflow on address
0xffff512fae60 at pc 0xffff8b63c158 bp 0xffffe40ed010 sp 0xffffe40ed020
WRITE of size 8 at 0xffff512fae60 thread T0
    #0 0xffff8b63c154 in convert_position
../libinterp/corefcn/graphics.cc:833
    #1 0xffff8b930578 in octave::uicontrol::properties::get_extent() const
../libinterp/corefcn/graphics.cc:11042
    #2 0xffff8b83b480 in octave::uicontrol::properties::get(bool) const
libinterp/corefcn/graphics-props.cc:7252
    #3 0xffff8b98054c in octave::base_graphics_object::get(bool) const
libinterp/corefcn/graphics.h:2751
    #4 0xffff8b66e4e8 in octave::base_graphics_object::remove_all_listeners()
../libinterp/corefcn/graphics.cc:3758
    #5 0xffff8b9848f4 in octave::graphics_object::remove_all_listeners()
libinterp/corefcn/graphics.h:3153
    #6 0xffff8b662b50 in octave::gh_manager::free(octave_handle const&, bool)
../libinterp/corefcn/graphics.cc:2917
    #7 0xffff8b651f3c in octave::children_property::do_delete_children(bool,
bool) ../libinterp/corefcn/graphics.cc:1903
    #8 0xffff8b97bcc4 in octave::children_property::delete_children(bool,
bool) libinterp/corefcn/graphics.h:1781
    #9 0xffff8b97ea90 in octave::base_properties::delete_children(bool, bool)
libinterp/corefcn/graphics.h:2351
    #10 0xffff8b662bb4 in octave::gh_manager::free(octave_handle const&, bool)
../libinterp/corefcn/graphics.cc:2919
    #11 0xffff8b664770 in delete_graphics_object
../libinterp/corefcn/graphics.cc:3085
    #12 0xffff8b664b70 in delete_graphics_object
../libinterp/corefcn/graphics.cc:3097
    #13 0xffff8b664d8c in delete_graphics_objects
../libinterp/corefcn/graphics.cc:3110
    #14 0xffff8b95f378 in octave::F__go_delete__(octave::interpreter&,
octave_value_list const&, int) ../libinterp/corefcn/graphics.cc:13663
    #15 0xffff8ad44bd8 in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
    #16 0xffff8ae36c00 in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
    #17 0xffff8b1ebd3c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
    #18 0xffff8b1f13c0 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
    #19 0xffff8b19e3dc in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
    #20 0xffff8b20a3f8 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #21 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #22 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #23 0xffff8b19d694 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3629
    #24 0xffff8b1b582c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
    #25 0xffff8b19d2c0 in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3607
    #26 0xffff8b206f54 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
    #27 0xffff8b19e190 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
    #28 0xffff8b20a3f8 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #29 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #30 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #31 0xffff8b19c374 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
    #32 0xffff8af478a4 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
    #33 0xffff8af476fc in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
    #34 0xffff8b1ebd3c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
    #35 0xffff8b1f13c0 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
    #36 0xffff8b19e3dc in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
    #37 0xffff8b20a3f8 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #38 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #39 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #40 0xffff8b19d694 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3629
    #41 0xffff8b1b582c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
    #42 0xffff8b19d2c0 in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3607
    #43 0xffff8b206f54 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
    #44 0xffff8b19e190 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
    #45 0xffff8b20a3f8 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #46 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #47 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #48 0xffff8b19c374 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
    #49 0xffff8af478a4 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
    #50 0xffff8af476fc in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
    #51 0xffff8b1e4dec in
octave::tree_identifier::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-id.cc:130
    #52 0xffff8b18737c 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 0xffff8ba76da4 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 0xffff8b94b4a0 in octave::gh_manager::execute_callback(octave_handle
const&, octave_value const&, octave_value const&)
../libinterp/corefcn/graphics.cc:12332
    #55 0xffff8b9dc444 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&)
libinterp/corefcn/graphics.h:14370
    #56 0xffff8b9601a4 in
octave::F__go_execute_callback__(octave::interpreter&, octave_value_list
const&, int) ../libinterp/corefcn/graphics.cc:13732
    #57 0xffff8ad44bd8 in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
    #58 0xffff8ae36c00 in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
    #59 0xffff8b1ebd3c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
    #60 0xffff8b1f13c0 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
    #61 0xffff8b19e3dc in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
    #62 0xffff8b20a3f8 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #63 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #64 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #65 0xffff8b198ffc in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:3166
    #66 0xffff8b1f9b04 in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:191
    #67 0xffff8b19e190 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
    #68 0xffff8b20a3f8 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #69 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #70 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #71 0xffff8b19c374 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
    #72 0xffff8af478a4 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
    #73 0xffff8af476fc in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
    #74 0xffff8b1ebd3c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
    #75 0xffff8b1f13c0 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
    #76 0xffff8b19e3dc in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
    #77 0xffff8b20a3f8 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #78 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #79 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #80 0xffff8b1a0b90 in
octave::tree_evaluator::do_unwind_protect_cleanup_code(octave::tree_statement_list*)
../libinterp/parse-tree/pt-eval.cc:4054
    #81 0xffff8b1a1104 in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:4157
    #82 0xffff8b1d8f10 in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:151
    #83 0xffff8b19e190 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
    #84 0xffff8b20a3f8 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #85 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #86 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #87 0xffff8b19c374 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
    #88 0xffff8af478a4 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
    #89 0xffff8af476fc in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
    #90 0xffff8b1ebd3c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
    #91 0xffff8b18737c 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 0xffff8b187f60 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 0xffff8ba77070 in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1502
    #94 0xffff8b11dcc8 in octave::Feval(octave::interpreter&,
octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:6432
    #95 0xffff8ad44bd8 in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
    #96 0xffff8ae36c00 in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
    #97 0xffff8b1ebd3c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
    #98 0xffff8b1f13c0 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
    #99 0xffff8b19e3dc in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
    #100 0xffff8b20a3f8 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #101 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #102 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #103 0xffff8b19fab0 in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:3981
    #104 0xffff8b1d8e94 in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:84
    #105 0xffff8b19e190 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
    #106 0xffff8b20a3f8 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #107 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #108 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #109 0xffff8b19d694 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3629
    #110 0xffff8b1b582c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
    #111 0xffff8b19d2c0 in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3607
    #112 0xffff8b206f54 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
    #113 0xffff8b19e190 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
    #114 0xffff8b20a3f8 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #115 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #116 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #117 0xffff8b19d694 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3629
    #118 0xffff8b1b582c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
    #119 0xffff8b19d2c0 in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3607
    #120 0xffff8b206f54 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
    #121 0xffff8b19e190 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
    #122 0xffff8b20a3f8 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #123 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #124 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #125 0xffff8b1a10f8 in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:4126
    #126 0xffff8b1d8f10 in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:151
    #127 0xffff8b19e190 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
    #128 0xffff8b20a3f8 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #129 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #130 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #131 0xffff8b198ffc in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:3166
    #132 0xffff8b1f9b04 in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:191
    #133 0xffff8b19e190 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3756
    #134 0xffff8b20a3f8 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #135 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #136 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #137 0xffff8b19c374 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3512
    #138 0xffff8af478a4 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
    #139 0xffff8af476fc in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
    #140 0xffff8b1ebd3c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
    #141 0xffff8b1f13c0 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
    #142 0xffff8b19e3dc in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
    #143 0xffff8b20a3f8 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #144 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866
    #145 0xffff8ac79ce0 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #146 0xffff8b186cc0 in
octave::tree_evaluator::eval(std::shared_ptr<octave::tree_statement_list>&,
bool) ../libinterp/parse-tree/pt-eval.cc:984
    #147 0xffff8b185a24 in octave::tree_evaluator::repl()
../libinterp/parse-tree/pt-eval.cc:803
    #148 0xffff8ba75a48 in octave::interpreter::main_loop()
../libinterp/corefcn/interpreter.cc:1340
    #149 0xffff8ba68540 in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:908
    #150 0xffff8a22706c in octave::cli_application::execute()
../libinterp/octave.cc:425
    #151 0xaaaadad33b44 in main ../src/main-cli.cc:121
    #152 0xffff87064238 in __libc_start_call_main
../sysdeps/nptl/libc_start_call_main.h:58
    #153 0xffff87064304 in __libc_start_main_impl ../csu/libc-start.c:409
    #154 0xaaaadad3342c in _start
(/home/uu1/src/octave/gcc_asan/src/.libs/octave-cli+0x1342c)

0xffff512fae60 is located 15 bytes to the right of 1-byte region
[0xffff512fae50,0xffff512fae51)
allocated by thread T0 here:
    #0 0xffff8c221b7c in operator new(unsigned long)
../../../../src/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0xffff8a2d9a9c in __gnu_cxx::new_allocator<double>::allocate(unsigned
long, void const*) /usr/include/c++/11/ext/new_allocator.h:127
    #2 0xffff8a2d9860 in std::allocator_traits<std::allocator<double>
>::allocate(std::allocator<double>&, unsigned long)
/usr/include/c++/11/bits/alloc_traits.h:460
    #3 0xffff8a2d97d0 in Array<double, std::allocator<double>
>::ArrayRep::allocate(unsigned long) ../liboctave/array/Array.h:197
    #4 0xffff8a2d9b80 in Array<double, std::allocator<double>
>::ArrayRep::ArrayRep(double*, long) ../liboctave/array/Array.h:147
    #5 0xffff8a4582b8 in Array<double, std::allocator<double> >::make_unique()
../liboctave/array/Array.h:219
    #6 0xffff8a45521c in Array<double, std::allocator<double> >::elem(long)
../liboctave/array/Array.h:536
    #7 0xffff8a44ca84 in Array<double, std::allocator<double>
>::operator()(long) ../liboctave/array/Array.h:548
    #8 0xffff8b63c130 in convert_position
../libinterp/corefcn/graphics.cc:833
    #9 0xffff8b930578 in octave::uicontrol::properties::get_extent() const
../libinterp/corefcn/graphics.cc:11042
    #10 0xffff8b83b480 in octave::uicontrol::properties::get(bool) const
libinterp/corefcn/graphics-props.cc:7252
    #11 0xffff8b98054c in octave::base_graphics_object::get(bool) const
libinterp/corefcn/graphics.h:2751
    #12 0xffff8b66e4e8 in octave::base_graphics_object::remove_all_listeners()
../libinterp/corefcn/graphics.cc:3758
    #13 0xffff8b9848f4 in octave::graphics_object::remove_all_listeners()
libinterp/corefcn/graphics.h:3153
    #14 0xffff8b662b50 in octave::gh_manager::free(octave_handle const&, bool)
../libinterp/corefcn/graphics.cc:2917
    #15 0xffff8b651f3c in octave::children_property::do_delete_children(bool,
bool) ../libinterp/corefcn/graphics.cc:1903
    #16 0xffff8b97bcc4 in octave::children_property::delete_children(bool,
bool) libinterp/corefcn/graphics.h:1781
    #17 0xffff8b97ea90 in octave::base_properties::delete_children(bool, bool)
libinterp/corefcn/graphics.h:2351
    #18 0xffff8b662bb4 in octave::gh_manager::free(octave_handle const&, bool)
../libinterp/corefcn/graphics.cc:2919
    #19 0xffff8b664770 in delete_graphics_object
../libinterp/corefcn/graphics.cc:3085
    #20 0xffff8b664b70 in delete_graphics_object
../libinterp/corefcn/graphics.cc:3097
    #21 0xffff8b664d8c in delete_graphics_objects
../libinterp/corefcn/graphics.cc:3110
    #22 0xffff8b95f378 in octave::F__go_delete__(octave::interpreter&,
octave_value_list const&, int) ../libinterp/corefcn/graphics.cc:13663
    #23 0xffff8ad44bd8 in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
    #24 0xffff8ae36c00 in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
    #25 0xffff8b1ebd3c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:408
    #26 0xffff8b1f13c0 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:108
    #27 0xffff8b19e3dc in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3781
    #28 0xffff8b20a3f8 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #29 0xffff8b19ef00 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3866

SUMMARY: AddressSanitizer: heap-buffer-overflow
../libinterp/corefcn/graphics.cc:833 in convert_position
Shadow bytes around the buggy address:
  0x200fea25f570: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200fea25f580: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200fea25f590: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200fea25f5a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200fea25f5b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x200fea25f5c0: fa fa fa fa fa fa fa fa fa fa 01 fa[fa]fa 00 00
  0x200fea25f5d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200fea25f5e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200fea25f5f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200fea25f600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x200fea25f610: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 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
==985255==ABORTING




    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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