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

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

[Octave-bug-tracker] [bug #60042] [octave forge] (sparsersb) Crash while


From: Dmitri A. Sergatskov
Subject: [Octave-bug-tracker] [bug #60042] [octave forge] (sparsersb) Crash while "pkg test sparsersb"
Date: Thu, 11 Feb 2021 16:19:37 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

Follow-up Comment #2, bug #60042 (project octave):

Running on linux with ASAN I got:

octave:2> pkg test sparsersb
Testing functions in package 'sparsersb':

Integrated test scripts:

  ../sparsersb-1.0.8/x86_64-pc-linux-gnu-api-v55/sparsersb.cc-tst
=================================================================
==1335615==ERROR: AddressSanitizer: heap-use-after-free on address
0x603003dc2550 at pc 0x7fb18161d0bc bp 0x7fb147a32a00 sp 0x7fb147a321a8
READ of size 1 at 0x603003dc2550 thread T6 (QThread)
    #0 0x7fb18161d0bb  (/lib64/libasan.so.5+0xba0bb)
    #1 0x7fb142f064b4 in rsb__stropts_set
/home/dima/src/librsb-1.2.0.9/rsb_stropts.c:28
    #2 0x7fb142eab1f8 in rsb__do_set_initopt_as_string
/home/dima/src/librsb-1.2.0.9/rsb_internals.c:3728
    #3 0x7fb142e7ae3f in rsb_lib_set_opt_str
/home/dima/src/librsb-1.2.0.9/rsb_rsb.c:143
    #4 0x7fb143cf2183 in Fsparsersb(octave_value_list const&, int)
/tmp/oct-M5EBar/sparsersb-1.0.8/src/sparsersb.cc:2828
    #5 0x7fb17ee168af in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:59
    #6 0x7fb17ef0ea1d in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
    #7 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #8 0x7fb17f2bdb1e in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
(/usr/local/lib/octave/6.1.91/liboctinterp.so.8+0x18cab1e)
    #9 0x7fb17f26e43c in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3032
    #10 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #11 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #12 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #13 0x7fb17f26c0d4 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:2771
    #14 0x7fb17f0191f5 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:496
    #15 0x7fb17f019053 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:489
    #16 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #17 0x7fb17f2560bf 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:508
    #18 0x7fb17f256d8f 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:567
    #19 0x7fb17fb63b68 in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1482
    #20 0x7fb17f1f4cc2 in Feval(octave::interpreter&, octave_value_list
const&, int) ../libinterp/parse-tree/oct-parse.yy:5592
    #21 0x7fb17ee16a7a in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
    #22 0x7fb17ef0ea1d in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
    #23 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #24 0x7fb17f2bdb1e in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
(/usr/local/lib/octave/6.1.91/liboctinterp.so.8+0x18cab1e)
    #25 0x7fb17f26e43c in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3032
    #26 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #27 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #28 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #29 0x7fb17f26fdd0 in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:3228
    #30 0x7fb17f2a3e28 in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:84
    #31 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #32 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #33 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #34 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #35 0x7fb17f26d687 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:2886
    #36 0x7fb17f28665c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
    #37 0x7fb17f26d21b in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:2864
    #38 0x7fb17f2d5ec4 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
    #39 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #40 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #41 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #42 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #43 0x7fb17f27139a in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:3370
    #44 0x7fb17f2a3ea6 in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:151
    #45 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #46 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #47 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #48 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #49 0x7fb17f268785 in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:2465
    #50 0x7fb17f2c7fd6 in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:222
    #51 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #52 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #53 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #54 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #55 0x7fb17f26c0d4 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:2771
    #56 0x7fb17f0191f5 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:496
    #57 0x7fb17f019053 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:489
    #58 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #59 0x7fb17f236a2e in
octave::tree_multi_assignment::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.cc:201
    #60 0x7fb17f23a746 in
octave::tree_multi_assignment::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.h:156
    #61 0x7fb17f26e43c in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3032
    #62 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #63 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #64 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #65 0x7fb17f26d687 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:2886
    #66 0x7fb17f28665c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
    #67 0x7fb17f26d21b in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:2864
    #68 0x7fb17f2d5ec4 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
    #69 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #70 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #71 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #72 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #73 0x7fb17f26d687 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:2886
    #74 0x7fb17f28665c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
    #75 0x7fb17f26d21b in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:2864
    #76 0x7fb17f2d5ec4 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
    #77 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #78 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #79 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #80 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #81 0x7fb17f268785 in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:2465
    #82 0x7fb17f2c7fd6 in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:222
    #83 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #84 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #85 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #86 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #87 0x7fb17f27139a in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:3370
    #88 0x7fb17f2a3ea6 in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:151
    #89 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #90 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #91 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #92 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #93 0x7fb17f26c0d4 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:2771
    #94 0x7fb17f0191f5 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:496
    #95 0x7fb17f019053 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:489
    #96 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #97 0x7fb17f236a2e in
octave::tree_multi_assignment::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.cc:201
    #98 0x7fb17f23a746 in
octave::tree_multi_assignment::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.h:156
    #99 0x7fb17f26e43c in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3032
    #100 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #101 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #102 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #103 0x7fb17f26d687 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:2886
    #104 0x7fb17f28665c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
    #105 0x7fb17f26d21b in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:2864
    #106 0x7fb17f2d5ec4 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
    #107 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #108 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #109 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #110 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #111 0x7fb17f268785 in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:2465
    #112 0x7fb17f2c7fd6 in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:222
    #113 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #114 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #115 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #116 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #117 0x7fb17f26c0d4 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:2771
    #118 0x7fb17f0191f5 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:496
    #119 0x7fb17f019053 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:489
    #120 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #121 0x7fb17f236a2e in
octave::tree_multi_assignment::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.cc:201
    #122 0x7fb17f23a746 in
octave::tree_multi_assignment::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.h:156
    #123 0x7fb17f26e43c in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3032
    #124 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #125 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #126 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #127 0x7fb17f26891d in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:2479
    #128 0x7fb17f2c7fd6 in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:222
    #129 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #130 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #131 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #132 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #133 0x7fb17f26fdd0 in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:3228
    #134 0x7fb17f2a3e28 in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:84
    #135 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #136 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #137 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #138 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #139 0x7fb17f27139a in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:3370
    #140 0x7fb17f2a3ea6 in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:151
    #141 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #142 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #143 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #144 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #145 0x7fb17f26c0d4 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:2771
    #146 0x7fb17f0191f5 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:496
    #147 0x7fb17f019053 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:489
    #148 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #149 0x7fb17f2bdb1e in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
(/usr/local/lib/octave/6.1.91/liboctinterp.so.8+0x18cab1e)
    #150 0x7fb17f26e43c in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3032
    #151 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #152 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #153 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #154 0x7fb17f26d687 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:2886
    #155 0x7fb17f28665c in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:118
    #156 0x7fb17f26d21b in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:2864
    #157 0x7fb17f2d5ec4 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:151
    #158 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #159 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #160 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #161 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #162 0x7fb17f26891d in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:2479
    #163 0x7fb17f2c7fd6 in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:222
    #164 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #165 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #166 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #167 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #168 0x7fb17f27139a in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:3370
    #169 0x7fb17f2a3ea6 in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:151
    #170 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #171 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #172 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #173 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #174 0x7fb17f26f951 in
octave::tree_evaluator::visit_switch_command(octave::tree_switch_command&)
../libinterp/parse-tree/pt-eval.cc:3192
    #175 0x7fb17f2d5fc0 in
octave::tree_switch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:279
    #176 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #177 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #178 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #179 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #180 0x7fb17f26c0d4 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:2771
    #181 0x7fb17f0191f5 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:496
    #182 0x7fb17f019053 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:489
    #183 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #184 0x7fb17f2bdb1e in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
(/usr/local/lib/octave/6.1.91/liboctinterp.so.8+0x18cab1e)
    #185 0x7fb17f26e43c in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3032
    #186 0x7fb17f2d9586 in
octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #187 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #188 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #189 0x7fb17f255325 in
octave::tree_evaluator::eval(std::shared_ptr<octave::tree_statement_list>&,
bool) ../libinterp/parse-tree/pt-eval.cc:404
    #190 0x7fb17fb6205c in octave::interpreter::main_loop()
../libinterp/corefcn/interpreter.cc:1269
    #191 0x7fb17fb57b40 in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:797
    #192 0x7fb180d37522 in octave::interpreter_qobject::execute()
../libgui/src/interpreter-qobject.cc:87
    #193 0x7fb180ff193f in
octave::interpreter_qobject::qt_static_metacall(QObject*, QMetaObject::Call,
int, void**) libgui/src/moc-interpreter-qobject.cc:95
    #194 0x7fb17c3e7275 in QObject::event(QEvent*)
(/lib64/libQt5Core.so.5+0x288275)
    #195 0x7fb17cd075f4 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) (/lib64/libQt5Widgets.so.5+0x1675f4)
    #196 0x7fb17cd0eb0f in QApplication::notify(QObject*, QEvent*)
(/lib64/libQt5Widgets.so.5+0x16eb0f)
    #197 0x7fb180e52e57 in octave::octave_qapplication::notify(QObject*,
QEvent*) ../libgui/src/octave-qobject.cc:136
    #198 0x7fb17c3bd325 in QCoreApplication::notifyInternal2(QObject*,
QEvent*) (/lib64/libQt5Core.so.5+0x25e325)
    #199 0x7fb17c3c0596 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (/lib64/libQt5Core.so.5+0x261596)
    #200 0x7fb17c410406  (/lib64/libQt5Core.so.5+0x2b1406)
    #201 0x7fb16f3c567c in g_main_context_dispatch
(/lib64/libglib-2.0.so.0+0x4d67c)
    #202 0x7fb16f3c5a47  (/lib64/libglib-2.0.so.0+0x4da47)
    #203 0x7fb16f3c5adf in g_main_context_iteration
(/lib64/libglib-2.0.so.0+0x4dadf)
    #204 0x7fb17c41018a in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(/lib64/libQt5Core.so.5+0x2b118a)
    #205 0x7fb17c3bc18a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(/lib64/libQt5Core.so.5+0x25d18a)
    #206 0x7fb17c21ad41 in QThread::exec() (/lib64/libQt5Core.so.5+0xbbd41)
    #207 0x7fb17c21c075  (/lib64/libQt5Core.so.5+0xbd075)
    #208 0x7fb1734a6149 in start_thread (/lib64/libpthread.so.0+0x8149)
    #209 0x7fb1731d7f22 in clone (/lib64/libc.so.6+0xfcf22)

0x603003dc2550 is located 0 bytes inside of 31-byte region
[0x603003dc2550,0x603003dc256f)
freed by thread T6 (QThread) here:
    #0 0x7fb181655688 in operator delete(void*) (/lib64/libasan.so.5+0xf2688)
    #1 0x7fb143cf2117 in Fsparsersb(octave_value_list const&, int)
/tmp/oct-M5EBar/sparsersb-1.0.8/src/sparsersb.cc:2825
    #2 0x7fb17ee168af in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:59
    #3 0x7fb17ef0ea1d in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
    #4 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #5 0x7fb17f2bdb1e in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
(/usr/local/lib/octave/6.1.91/liboctinterp.so.8+0x18cab1e)
    #6 0x7fb17f26e43c in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3032
    #7 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #8 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #9 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #10 0x7fb17f26c0d4 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:2771
    #11 0x7fb17f0191f5 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:496
    #12 0x7fb17f019053 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:489
    #13 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #14 0x7fb17f2560bf 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:508
    #15 0x7fb17f256d8f 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:567
    #16 0x7fb17fb63b68 in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1482
    #17 0x7fb17f1f4cc2 in Feval(octave::interpreter&, octave_value_list
const&, int) ../libinterp/parse-tree/oct-parse.yy:5592
    #18 0x7fb17ee16a7a in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:65
    #19 0x7fb17ef0ea1d in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
    #20 0x7fb17f2b7d4a in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:402
    #21 0x7fb17f2bdb1e in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
(/usr/local/lib/octave/6.1.91/liboctinterp.so.8+0x18cab1e)
    #22 0x7fb17f26e43c in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3032
    #23 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124
    #24 0x7fb17f26f0cc in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3117
    #25 0x7fb17ed46bbe in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:201
    #26 0x7fb17f26fdd0 in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:3228
    #27 0x7fb17f2a3e28 in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:84
    #28 0x7fb17f26e1bf in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3009
    #29 0x7fb17f2d9586 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:124

previously allocated by thread T6 (QThread) here:
    #0 0x7fb1816547b0 in operator new(unsigned long)
(/lib64/libasan.so.5+0xf17b0)
    #1 0x7fb17d52f0f8 in std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >::_M_replace_aux(unsigned long,
unsigned long, unsigned long, char)
(/lib64/libqscintilla2_qt5.so.15+0x2b10f8)
    #2 0x7fb180bcb0e9 in octave::refcount<long>::operator--()
../liboctave/util/oct-refcount.h:67

Thread T6 (QThread) created by T0 here:
    #0 0x7fb1815b5ea3 in __interceptor_pthread_create
(/lib64/libasan.so.5+0x52ea3)
    #1 0x7fb17c21baf6 in QThread::start(QThread::Priority)
(/lib64/libQt5Core.so.5+0xbcaf6)

SUMMARY: AddressSanitizer: heap-use-after-free (/lib64/libasan.so.5+0xba0bb) 
Shadow bytes around the buggy address:
  0x0c06807b0450: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c06807b0460: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c06807b0470: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c06807b0480: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c06807b0490: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c06807b04a0: fa fa fa fa 00 00 00 fa fa fa[fd]fd fd fd fa fa
  0x0c06807b04b0: 00 00 00 fa fa fa fd fd fd fa fa fa 00 00 00 fa
  0x0c06807b04c0: fa fa fd fd fd fa fa fa fd fd fd fa fa fa 00 00
  0x0c06807b04d0: 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa
  0x0c06807b04e0: 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa
  0x0c06807b04f0: fa fa fd fd fd fa fa fa fd fd fd fa fa fa fd fd
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
==1335615==ABORTING


Dmitri.
-- 


    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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