scripts/sparse/ichol.m ......................................================================================================= ==16190==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6020004d4270 at pc 0x7f2a2a682561 bp 0x7ffcc6b3cfb0 sp 0x7ffcc6b3cfa0 READ of size 4 at 0x6020004d4270 thread T0 #0 0x7f2a2a682560 in void ichol_0(SparseMatrix&, std::__cxx11::basic_string, std::allocator >) ../libinterp/corefcn/__ichol__.cc:158 #1 0x7f2a2a677985 in F__ichol0__(octave_value_list const&, int) ../libinterp/corefcn/__ichol__.cc:223 #2 0x7f2a2a23cad4 in octave_builtin::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-builtin.cc:126 #3 0x7f2a2a239b80 in octave_builtin::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov-builtin.cc:63 #4 0x7f2a2a23bb53 in octave_builtin::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov-builtin.cc:46 #5 0x7f2a2a23f5ce in octave_builtin::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&) ../libinterp/octave-value/ov-builtin.h:62 #6 0x7f2a2a438f06 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov.cc:1300 #7 0x7f2a2a438fd4 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov.cc:1313 #8 0x7f2a2a5a82aa in tree_index_expression::rvalue(int, std::__cxx11::list > const*) ../libinterp/parse-tree/pt-idx.cc:428 #9 0x7f2a2a5a9222 in tree_index_expression::rvalue(int) ../libinterp/parse-tree/pt-idx.cc:269 #10 0x7f2a2a5991bc in tree_index_expression::rvalue1(int) ../libinterp/parse-tree/pt-idx.cc:461 #11 0x7f2a2a525b98 in tree_simple_assignment::rvalue1(int) ../libinterp/parse-tree/pt-assign.cc:82 #12 0x7f2a2a561c9b in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:716 #13 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #14 0x7f2a2a562489 in tree_evaluator::visit_switch_command(tree_switch_command&) ../libinterp/parse-tree/pt-eval.cc:829 #15 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #16 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #17 0x7f2a2a428461 in octave_user_function::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:612 #18 0x7f2a2a41dfa1 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:435 #19 0x7f2a2a41e363 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov-usr-fcn.cc:418 #20 0x7f2a2a438eb5 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov.cc:1302 #21 0x7f2a2a438fd4 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov.cc:1313 #22 0x7f2a2a5a82aa in tree_index_expression::rvalue(int, std::__cxx11::list > const*) ../libinterp/parse-tree/pt-idx.cc:428 #23 0x7f2a2a5a9222 in tree_index_expression::rvalue(int) ../libinterp/parse-tree/pt-idx.cc:269 #24 0x7f2a2a5991bc in tree_index_expression::rvalue1(int) ../libinterp/parse-tree/pt-idx.cc:461 #25 0x7f2a2a561c9b in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:716 #26 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #27 0x7f2a2a428461 in octave_user_function::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:612 #28 0x7f2a2a41dfa1 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:435 #29 0x7f2a2a41e363 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov-usr-fcn.cc:418 #30 0x7f2a2a438eb5 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov.cc:1302 #31 0x7f2a2a438fd4 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov.cc:1313 #32 0x7f2a2a5a82aa in tree_index_expression::rvalue(int, std::__cxx11::list > const*) ../libinterp/parse-tree/pt-idx.cc:428 #33 0x7f2a2a5a9222 in tree_index_expression::rvalue(int) ../libinterp/parse-tree/pt-idx.cc:269 #34 0x7f2a2a64f090 in eval_string(std::__cxx11::basic_string, std::allocator > const&, bool, int&, int) ../libinterp/parse-tree/oct-parse.yy:4844 #35 0x7f2a2a64f952 in eval_string ../libinterp/parse-tree/oct-parse.yy:4890 #36 0x7f2a2a650815 in Feval(octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:4964 #37 0x7f2a2a23cad4 in octave_builtin::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-builtin.cc:126 #38 0x7f2a2a239b80 in octave_builtin::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov-builtin.cc:63 #39 0x7f2a2a23bb53 in octave_builtin::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov-builtin.cc:46 #40 0x7f2a2a438eb5 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov.cc:1302 #41 0x7f2a2a438fd4 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov.cc:1313 #42 0x7f2a2a5a82aa in tree_index_expression::rvalue(int, std::__cxx11::list > const*) ../libinterp/parse-tree/pt-idx.cc:428 #43 0x7f2a2a5a9222 in tree_index_expression::rvalue(int) ../libinterp/parse-tree/pt-idx.cc:269 #44 0x7f2a2a5991bc in tree_index_expression::rvalue1(int) ../libinterp/parse-tree/pt-idx.cc:461 #45 0x7f2a2a561c9b in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:716 #46 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #47 0x7f2a2a56890f in tree_evaluator::visit_try_catch_command(tree_try_catch_command&) ../libinterp/parse-tree/pt-eval.cc:867 #48 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #49 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #50 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #51 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #52 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #53 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #54 0x7f2a2a566a08 in tree_evaluator::visit_unwind_protect_command(tree_unwind_protect_command&) ../libinterp/parse-tree/pt-eval.cc:1015 #55 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #56 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #57 0x7f2a2a56444b in tree_evaluator::visit_simple_for_command(tree_simple_for_command&) ../libinterp/parse-tree/pt-eval.cc:330 #58 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #59 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #60 0x7f2a2a428461 in octave_user_function::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:612 #61 0x7f2a2a41dfa1 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:435 #62 0x7f2a2a438fbc in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov.cc:1311 #63 0x7f2a2a5a82aa in tree_index_expression::rvalue(int, std::__cxx11::list > const*) ../libinterp/parse-tree/pt-idx.cc:428 #64 0x7f2a2a527e3d in tree_multi_assignment::rvalue(int) ../libinterp/parse-tree/pt-assign.cc:222 #65 0x7f2a2a522e35 in tree_multi_assignment::rvalue1(int) ../libinterp/parse-tree/pt-assign.cc:194 #66 0x7f2a2a561c9b in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:716 #67 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #68 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #69 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #70 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #71 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #72 0x7f2a2a56444b in tree_evaluator::visit_simple_for_command(tree_simple_for_command&) ../libinterp/parse-tree/pt-eval.cc:330 #73 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #74 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #75 0x7f2a2a428461 in octave_user_function::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:612 #76 0x7f2a2a41dfa1 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:435 #77 0x7f2a2a438fbc in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov.cc:1311 #78 0x7f2a2a5a82aa in tree_index_expression::rvalue(int, std::__cxx11::list > const*) ../libinterp/parse-tree/pt-idx.cc:428 #79 0x7f2a2a527e3d in tree_multi_assignment::rvalue(int) ../libinterp/parse-tree/pt-assign.cc:222 #80 0x7f2a2a522e35 in tree_multi_assignment::rvalue1(int) ../libinterp/parse-tree/pt-assign.cc:194 #81 0x7f2a2a561c9b in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:716 #82 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #83 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #84 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #85 0x7f2a2a56444b in tree_evaluator::visit_simple_for_command(tree_simple_for_command&) ../libinterp/parse-tree/pt-eval.cc:330 #86 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #87 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #88 0x7f2a2a428461 in octave_user_function::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:612 #89 0x7f2a2a41dfa1 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:435 #90 0x7f2a2a438fbc in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov.cc:1311 #91 0x7f2a2a5a82aa in tree_index_expression::rvalue(int, std::__cxx11::list > const*) ../libinterp/parse-tree/pt-idx.cc:428 #92 0x7f2a2a527e3d in tree_multi_assignment::rvalue(int) ../libinterp/parse-tree/pt-assign.cc:222 #93 0x7f2a2a522e35 in tree_multi_assignment::rvalue1(int) ../libinterp/parse-tree/pt-assign.cc:194 #94 0x7f2a2a561c9b in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:716 #95 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #96 0x7f2a2a56444b in tree_evaluator::visit_simple_for_command(tree_simple_for_command&) ../libinterp/parse-tree/pt-eval.cc:330 #97 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #98 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #99 0x7f2a2a56890f in tree_evaluator::visit_try_catch_command(tree_try_catch_command&) ../libinterp/parse-tree/pt-eval.cc:867 #100 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #101 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #102 0x7f2a2a566a08 in tree_evaluator::visit_unwind_protect_command(tree_unwind_protect_command&) ../libinterp/parse-tree/pt-eval.cc:1015 #103 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #104 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #105 0x7f2a2a428461 in octave_user_function::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:612 #106 0x7f2a2a41dfa1 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:435 #107 0x7f2a2a41e363 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov-usr-fcn.cc:418 #108 0x7f2a2a438eb5 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov.cc:1302 #109 0x7f2a2a438fd4 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov.cc:1313 #110 0x7f2a2a5a82aa in tree_index_expression::rvalue(int, std::__cxx11::list > const*) ../libinterp/parse-tree/pt-idx.cc:428 #111 0x7f2a2a5a9222 in tree_index_expression::rvalue(int) ../libinterp/parse-tree/pt-idx.cc:269 #112 0x7f2a2a5991bc in tree_index_expression::rvalue1(int) ../libinterp/parse-tree/pt-idx.cc:461 #113 0x7f2a2a561c9b in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:716 #114 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #115 0x7f2a2a41fcf1 in octave_user_script::do_multi_index_op(int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:151 #116 0x7f2a2a651e70 in source_file(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, bool, bool, std::__cxx11::basic_string, std::allocator > const&) ../libinterp/parse-tree/oct-parse.yy:4513 #117 0x7f2a29a6bd2a in safe_source_file ../libinterp/octave.cc:280 #118 0x7f2a29a713d9 in execute_command_line_file ../libinterp/octave.cc:449 #119 0x7f2a29a713d9 in octave_execute_interpreter ../libinterp/octave.cc:883 #120 0x7f2a20e0457f in __libc_start_main (/lib64/libc.so.6+0x2057f) #121 0x400de8 in _start (/usr/local/src/octave/hg/octave/.build/src/.libs/lt-octave-cli+0x400de8) 0x6020004d4271 is located 0 bytes to the right of 1-byte region [0x6020004d4270,0x6020004d4271) allocated by thread T0 here: #0 0x7f2a2b7b5a92 in operator new[](unsigned long) (/lib64/libasan.so.2+0x99a92) #1 0x7f2a2af87126 in Sparse::SparseRep::SparseRep(Sparse::SparseRep const&) ../liboctave/array/Sparse.h:101 #2 0x7f2a2af87126 in Sparse::make_unique() ../liboctave/array/Sparse.h:150 #3 0x7f2a2af891cf in Sparse::cidx(int) ../liboctave/array/Sparse.h:536 #4 0x7f2a2af891cf in do_tril ../libinterp/corefcn/tril.cc:143 #5 0x7f2a2af891cf in do_trilu ../libinterp/corefcn/tril.cc:185 #6 0x7f2a2af9ac9c in do_trilu ../libinterp/corefcn/tril.cc:224 #7 0x7f2a2afa031e in Ftril(octave_value_list const&, int) ../libinterp/corefcn/tril.cc:391 #8 0x7f2a2a23cad4 in octave_builtin::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-builtin.cc:126 #9 0x7f2a2a23e2a3 in octave_builtin::do_multi_index_op(int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:99 #10 0x7f2a2a439057 in octave_value::do_multi_index_op(int, octave_value_list const&) ../libinterp/octave-value/ov.cc:1384 #11 0x7f2a2a62c23a in feval(std::__cxx11::basic_string, std::allocator > const&, octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:4630 #12 0x7f2a2a67736a in F__ichol0__(octave_value_list const&, int) ../libinterp/corefcn/__ichol__.cc:221 #13 0x7f2a2a23cad4 in octave_builtin::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-builtin.cc:126 #14 0x7f2a2a239b80 in octave_builtin::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov-builtin.cc:63 #15 0x7f2a2a23bb53 in octave_builtin::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov-builtin.cc:46 #16 0x7f2a2a23f5ce in octave_builtin::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&) ../libinterp/octave-value/ov-builtin.h:62 #17 0x7f2a2a438f06 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov.cc:1300 #18 0x7f2a2a438fd4 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov.cc:1313 #19 0x7f2a2a5a82aa in tree_index_expression::rvalue(int, std::__cxx11::list > const*) ../libinterp/parse-tree/pt-idx.cc:428 #20 0x7f2a2a5a9222 in tree_index_expression::rvalue(int) ../libinterp/parse-tree/pt-idx.cc:269 #21 0x7f2a2a5991bc in tree_index_expression::rvalue1(int) ../libinterp/parse-tree/pt-idx.cc:461 #22 0x7f2a2a525b98 in tree_simple_assignment::rvalue1(int) ../libinterp/parse-tree/pt-assign.cc:82 #23 0x7f2a2a561c9b in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:716 #24 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #25 0x7f2a2a562489 in tree_evaluator::visit_switch_command(tree_switch_command&) ../libinterp/parse-tree/pt-eval.cc:829 #26 0x7f2a2a561aee in tree_evaluator::visit_statement(tree_statement&) ../libinterp/parse-tree/pt-eval.cc:690 #27 0x7f2a2a55ff74 in tree_evaluator::visit_statement_list(tree_statement_list&) ../libinterp/parse-tree/pt-eval.cc:756 #28 0x7f2a2a428461 in octave_user_function::do_multi_index_op(int, octave_value_list const&, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:612 #29 0x7f2a2a41dfa1 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov-usr-fcn.cc:435 #30 0x7f2a2a41e363 in octave_user_function::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov-usr-fcn.cc:418 #31 0x7f2a2a438eb5 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int) ../libinterp/octave-value/ov.cc:1302 #32 0x7f2a2a438fd4 in octave_value::subsref(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::list > const&, int, std::__cxx11::list > const*) ../libinterp/octave-value/ov.cc:1313 SUMMARY: AddressSanitizer: heap-buffer-overflow ../libinterp/corefcn/__ichol__.cc:158 void ichol_0(SparseMatrix&, std::__cxx11::basic_string, std::allocator >) Shadow bytes around the buggy address: 0x0c04800927f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fd fd 0x0c0480092800: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fd fd 0x0c0480092810: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480092820: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480092830: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x0c0480092840: fa fa fa fa fa fa fa fa fa fa fa fa fa fa[01]fa 0x0c0480092850: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480092860: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480092870: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480092880: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480092890: 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 Heap right redzone: fb Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack partial redzone: f4 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 ==16190==ABORTING Makefile:28270: recipe for target 'check-local' failed make[3]: *** [check-local] Error 1 make[3]: Leaving directory '/usr/local/src/octave/hg/octave/.build' Makefile:26129: recipe for target 'check-am' failed make[2]: *** [check-am] Error 2 make[2]: Leaving directory '/usr/local/src/octave/hg/octave/.build' Makefile:25839: recipe for target 'check-recursive' failed make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory '/usr/local/src/octave/hg/octave/.build' Makefile:26131: recipe for target 'check' failed make: *** [check] Error 2