octave-maintainers
[Top][All Lists]
Advanced

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

Re: segfault in bsxfun during "make check"


From: John W. Eaton
Subject: Re: segfault in bsxfun during "make check"
Date: Wed, 6 Mar 2019 17:49:54 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1

On 3/6/19 5:36 PM, John W. Eaton wrote:
On 3/6/19 4:41 PM, PhilipNienhuis wrote:
During "make check" I get a segfault in bsxfun:

:
   libinterp/corefcn/bitfcns.cc-tst ............................... PASS
60/60
   libinterp/corefcn/bsxfun.cc-tst ................................fatal:
caught signal Segmentation fault -- stopping myself...
/bin/sh: line 1: 14215 Segmentation fault      (core dumped) /bin/sh
../run-octave --no-init-file --silent --no-history -p
/home/philip/devel/octdev/dev600/test/mex
/home/philip/devel/octdev/dev600/../dev/test/fntests.m
/home/philip/devel/octdev/dev600/../dev/test
Makefile:27988: recipe for target 'check-local' failed
make[3]: *** [check-local] Error 139
:

address@hidden dev]$ hg summary
parent: 26855:156bd21bf6bd
  editor follows XDG_CONFIG_HOME for autocompletion files (bug ##55822)
branch: default
bookmarks: *@
commit: (clean)

Mageia-6 Linux

Anyone else seeing this?

It doesn't crash for me.

I'm guessing it's due to my recent changes to function handles.

Can you try running the test suite with gdb?

Or, can you try building with --enable-address-sanitizer-flags and see if that gives any clues about memory errors?  You may also need to use --disable-java and --disable-docs to make that work.

OK, I built with the address sanitizer and I see the following when running "make check". I'll try to take a look at this problem later tonight.


libinterp/corefcn/bsxfun.cc-tst ................................================================================================= ==22447==ERROR: AddressSanitizer: heap-use-after-free on address 0x61300006fe80 at pc 0x7fee13c6fea5 bp 0x7feded79c900 sp 0x7feded79c8f8
READ of size 8 at 0x61300006fe80 thread T9 (QThread)
#0 0x7fee13c6fea4 in octave::fcn_info::fcn_info_rep::xfind(octave::symbol_scope const&, octave_value_list const&) /home/jwe/src/octave/libinterp/corefcn/fcn-info.cc:396 #1 0x7fee13c704db in octave::fcn_info::fcn_info_rep::find(octave::symbol_scope const&, octave_value_list const&) /home/jwe/src/octave/libinterp/corefcn/fcn-info.cc:355 #2 0x7fee1480437e in octave::fcn_info::find(octave::symbol_scope const&, octave_value_list const&) /home/jwe/src/octave/libinterp/corefcn/fcn-info.h:255 #3 0x7fee1480437e in octave::symbol_table::fcn_table_find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, octave_value_list const&, octave::symbol_scope const&) /home/jwe/src/octave/libinterp/corefcn/symtab.cc:175 #4 0x7fee148047ef in octave::symbol_table::find_function(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, octave_value_list const&, octave::symbol_scope const&) /home/jwe/src/octave/libinterp/corefcn/symtab.cc:227 #5 0x7fee13351f6a in octave_fcn_handle::function_value(bool) /home/jwe/src/octave/libinterp/octave-value/ov-fcn-handle.cc:233 #6 0x7fee139c89b7 in Fbsxfun(octave::interpreter&, octave_value_list const&, int) /home/jwe/src/octave/libinterp/corefcn/bsxfun.cc:369 #7 0x7fee13253bf4 in octave_builtin::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-builtin.cc:71 #8 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161 #9 0x7fee1314ae83 in octave::tree_evaluator::evaluate(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:317 #10 0x7fee137a6786 in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2897 #11 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #12 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #13 0x7fee1379f86e in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #14 0x7fee1379f86e in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1817 #15 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.cc:456 #16 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.h:368 #17 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161 #18 0x7fee137c24dc in octave::tree_evaluator::evaluate_n(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:348 #19 0x7fee137a9b23 in octave::tree_evaluator::eval_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int&, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:241 #20 0x7fee137aa32f in octave::tree_evaluator::eval_string(octave_value const&, bool, int&, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:292 #21 0x7fee14251152 in octave::interpreter::eval_string(octave_value const&, bool, int&, int) /home/jwe/src/octave/libinterp/corefcn/interpreter.cc:1183 #22 0x7fee13702f2a in Feval(octave::interpreter&, octave_value_list const&, int) /home/jwe/src/octave/libinterp/parse-tree/oct-parse.yy:5504 #23 0x7fee13253bf4 in octave_builtin::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-builtin.cc:71 #24 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161 #25 0x7fee1314ae83 in octave::tree_evaluator::evaluate(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:317 #26 0x7fee137a6786 in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2897 #27 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #28 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #29 0x7fee13795e95 in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #30 0x7fee13795e95 in octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:3073 #31 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #32 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #33 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #34 0x7fee137a79bb in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #35 0x7fee137a79bb in octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2004 #36 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #37 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #38 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #39 0x7fee137a79bb in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #40 0x7fee137a79bb in octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2004 #41 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #42 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #43 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #44 0x7fee137976ab in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #45 0x7fee137976ab in octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:3212 #46 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #47 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #48 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #49 0x7fee137a3604 in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #50 0x7fee137a3604 in octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1467 #51 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #52 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #53 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #54 0x7fee1379f86e in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #55 0x7fee1379f86e in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1817 #56 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.cc:456 #57 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.h:368 #58 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161 #59 0x7fee137c24dc in octave::tree_evaluator::evaluate_n(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:348 #60 0x7fee137ad910 in octave::tree_evaluator::visit_multi_assignment(octave::tree_multi_assignment&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2473 #61 0x7fee1314ae83 in octave::tree_evaluator::evaluate(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:317 #62 0x7fee137a6786 in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2897 #63 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #64 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #65 0x7fee137a79bb in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #66 0x7fee137a79bb in octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2004 #67 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #68 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #69 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #70 0x7fee137a79bb in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #71 0x7fee137a79bb in octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2004 #72 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #73 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #74 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #75 0x7fee137a3604 in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #76 0x7fee137a3604 in octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1467 #77 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #78 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #79 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #80 0x7fee137976ab in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #81 0x7fee137976ab in octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:3212 #82 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #83 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #84 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #85 0x7fee1379f86e in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #86 0x7fee1379f86e in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1817 #87 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.cc:456 #88 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.h:368 #89 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161 #90 0x7fee137c24dc in octave::tree_evaluator::evaluate_n(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:348 #91 0x7fee137ad910 in octave::tree_evaluator::visit_multi_assignment(octave::tree_multi_assignment&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2473 #92 0x7fee1314ae83 in octave::tree_evaluator::evaluate(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:317 #93 0x7fee137a6786 in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2897 #94 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #95 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #96 0x7fee137a79bb in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #97 0x7fee137a79bb in octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2004 #98 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #99 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #100 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #101 0x7fee137a3604 in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #102 0x7fee137a3604 in octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1467 #103 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #104 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #105 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #106 0x7fee1379f86e in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #107 0x7fee1379f86e in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1817 #108 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.cc:456 #109 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.h:368 #110 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161 #111 0x7fee137c24dc in octave::tree_evaluator::evaluate_n(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:348 #112 0x7fee137ad910 in octave::tree_evaluator::visit_multi_assignment(octave::tree_multi_assignment&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2473 #113 0x7fee1314ae83 in octave::tree_evaluator::evaluate(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:317 #114 0x7fee137a6786 in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2897 #115 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #116 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #117 0x7fee137a3604 in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #118 0x7fee137a3604 in octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1467 #119 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #120 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #121 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #122 0x7fee13795e95 in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #123 0x7fee13795e95 in octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:3073 #124 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #125 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #126 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #127 0x7fee137976ab in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #128 0x7fee137976ab in octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:3212 #129 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #130 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #131 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #132 0x7fee1379f86e in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #133 0x7fee1379f86e in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1817 #134 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.cc:456 #135 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.h:368 #136 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161 #137 0x7fee1314ae83 in octave::tree_evaluator::evaluate(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:317 #138 0x7fee137a6786 in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2897 #139 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #140 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #141 0x7fee13794f31 in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #142 0x7fee13794f31 in octave::tree_evaluator::execute_user_script(octave_user_script&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1675 #143 0x7fee134d563c in octave_user_script::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.cc:167 #144 0x7fee13731489 in octave::source_file(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&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/jwe/src/octave/libinterp/parse-tree/oct-parse.yy:5101 #145 0x7fee142516db in safe_source_file /home/jwe/src/octave/libinterp/corefcn/interpreter.cc:255 #146 0x7fee1425f12a in octave::interpreter::execute_command_line_file() /home/jwe/src/octave/libinterp/corefcn/interpreter.cc:954 #147 0x7fee14267e6f in octave::interpreter::execute() /home/jwe/src/octave/libinterp/corefcn/interpreter.cc:673 #148 0x7fee151c60b7 in octave::octave_interpreter::execute() /home/jwe/src/octave/libgui/src/main-window.cc:146 #149 0x7fee0d69ce51 in QObject::event(QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x294e51) #150 0x7fee0e07f490 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x15f490) #151 0x7fee0e086abf in QApplication::notify(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x166abf) #152 0x7fee151cb3d2 in octave::octave_qapplication::notify(QObject*, QEvent*) /home/jwe/src/octave/libgui/src/main-window.cc:2795 #153 0x7fee0d673478 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26b478) #154 0x7fee0d67646a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26e46a) #155 0x7fee0d6c5a02 (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bda02) #156 0x7fee087f5f2d in g_main_context_dispatch (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4df2d) #157 0x7fee087f61c7 (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4e1c7) #158 0x7fee087f625b in g_main_context_iteration (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4e25b) #159 0x7fee0d6c5032 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bd032) #160 0x7fee0d67214a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26a14a) #161 0x7fee0d4c10d5 in QThread::exec() (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xb90d5) #162 0x7fee0d4cac76 (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xc2c76) #163 0x7fee0e9fffa2 in start_thread /build/glibc-YJREGK/glibc-2.28/nptl/pthread_create.c:486
    #164 0x7fee0e92980e in clone (/lib/x86_64-linux-gnu/libc.so.6+0xf980e)

0x61300006fe80 is located 0 bytes inside of 384-byte region [0x61300006fe80,0x613000070000)
freed by thread T9 (QThread) here:
#0 0x7fee1566c178 in operator delete(void*, unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xec178) #1 0x7fee12fbb209 in octave_value::operator=(octave_value const&) /home/jwe/src/octave/libinterp/octave-value/ov.h:361 #2 0x7fee1480b387 in octave::fcn_info::fcn_info_rep::clear_user_function(bool) /home/jwe/src/octave/libinterp/corefcn/fcn-info.h:171 #3 0x7fee1480b387 in octave::fcn_info::fcn_info_rep::clear_user_function(bool) /home/jwe/src/octave/libinterp/corefcn/fcn-info.h:163 #4 0x7fee147f399e in octave::fcn_info::clear_user_function(bool) /home/jwe/src/octave/libinterp/corefcn/fcn-info.h:342 #5 0x7fee147f399e in octave::symbol_table::clear_function_pattern(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/jwe/src/octave/libinterp/corefcn/symtab.cc:369 #6 0x7fee14900d47 in do_matlab_compatible_clear /home/jwe/src/octave/libinterp/corefcn/variables.cc:1133 #7 0x7fee14900d47 in Fclear(octave::interpreter&, octave_value_list const&, int) /home/jwe/src/octave/libinterp/corefcn/variables.cc:1306 #8 0x7fee13253bf4 in octave_builtin::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-builtin.cc:71 #9 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161 #10 0x7fee1314ae83 in octave::tree_evaluator::evaluate(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:317 #11 0x7fee137a6786 in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2897 #12 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #13 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #14 0x7fee137a79bb in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #15 0x7fee137a79bb in octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2004 #16 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #17 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #18 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #19 0x7fee137976ab in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #20 0x7fee137976ab in octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:3212 #21 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #22 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #23 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #24 0x7fee137a3604 in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #25 0x7fee137a3604 in octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1467 #26 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #27 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #28 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #29 0x7fee1379f86e in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #30 0x7fee1379f86e in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1817 #31 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.cc:456 #32 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.h:368 #33 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161 #34 0x7fee137c24dc in octave::tree_evaluator::evaluate_n(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:348 #35 0x7fee137ad910 in octave::tree_evaluator::visit_multi_assignment(octave::tree_multi_assignment&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2473 #36 0x7fee1314ae83 in octave::tree_evaluator::evaluate(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:317 #37 0x7fee137a6786 in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2897 #38 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #39 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #40 0x7fee137a79bb in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #41 0x7fee137a79bb in octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2004 #42 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #43 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #44 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956

previously allocated by thread T9 (QThread) here:
#0 0x7fee1566ad80 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xead80) #1 0x7fee13710bef in octave::base_parser::start_function(octave::tree_identifier*, octave::tree_parameter_list*, octave::tree_statement_list*, octave::tree_statement*) /home/jwe/src/octave/libinterp/parse-tree/oct-parse.yy:3399 #2 0x7fee13712466 in octave::base_parser::make_function(octave::token*, octave::tree_parameter_list*, octave::tree_identifier*, octave::tree_parameter_list*, octave::tree_statement_list*, octave::tree_statement*, octave::comment_list*) /home/jwe/src/octave/libinterp/parse-tree/oct-parse.yy:3361 #3 0x7fee137197b8 in octave_push_parse(octave_pstate*, int, OCTAVE_STYPE const*, octave::base_parser&) /home/jwe/src/octave/libinterp/parse-tree/oct-parse.yy:1643 #4 0x7fee13728bec in octave_pull_parse(octave_pstate*, octave::base_parser&) libinterp/parse-tree/oct-parse.cc:2998 #5 0x7fee13728da4 in octave::parser::run() /home/jwe/src/octave/libinterp/parse-tree/oct-parse.yy:4410 #6 0x7fee137a970d in octave::tree_evaluator::eval_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int&, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:224 #7 0x7fee137aa32f in octave::tree_evaluator::eval_string(octave_value const&, bool, int&, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:292 #8 0x7fee14251152 in octave::interpreter::eval_string(octave_value const&, bool, int&, int) /home/jwe/src/octave/libinterp/corefcn/interpreter.cc:1183 #9 0x7fee13702f2a in Feval(octave::interpreter&, octave_value_list const&, int) /home/jwe/src/octave/libinterp/parse-tree/oct-parse.yy:5504 #10 0x7fee13253bf4 in octave_builtin::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-builtin.cc:71 #11 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161 #12 0x7fee1314ae83 in octave::tree_evaluator::evaluate(octave::tree_expression*, int) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.h:317 #13 0x7fee137a6786 in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2897 #14 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #15 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #16 0x7fee13795e95 in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #17 0x7fee13795e95 in octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:3073 #18 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #19 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #20 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #21 0x7fee137a79bb in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #22 0x7fee137a79bb in octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2004 #23 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #24 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #25 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #26 0x7fee137976ab in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #27 0x7fee137976ab in octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:3212 #28 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #29 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #30 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #31 0x7fee137a3604 in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #32 0x7fee137a3604 in octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1467 #33 0x7fee137a63fa in octave::tree_evaluator::visit_statement(octave::tree_statement&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2875 #34 0x7fee1377f6a0 in octave::tree_statement::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:119 #35 0x7fee1377f6a0 in octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2956 #36 0x7fee1379f86e in octave::tree_statement_list::accept(octave::tree_walker&) /home/jwe/src/octave/libinterp/parse-tree/pt-stmt.h:194 #37 0x7fee1379f86e in octave::tree_evaluator::execute_user_function(octave_user_function&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:1817 #38 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&, octave::stack_frame*) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.cc:456 #39 0x7fee134f0f7c in octave_user_function::call(octave::tree_evaluator&, int, octave_value_list const&) /home/jwe/src/octave/libinterp/octave-value/ov-usr-fcn.h:368 #40 0x7fee137b52e8 in octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&) /home/jwe/src/octave/libinterp/parse-tree/pt-eval.cc:2161

Thread T9 (QThread) created by T0 here:
#0 0x7fee155d0db0 in __interceptor_pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x50db0) #1 0x7fee0d4ca5f9 in QThread::start(QThread::Priority) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xc25f9)

SUMMARY: AddressSanitizer: heap-use-after-free /home/jwe/src/octave/libinterp/corefcn/fcn-info.cc:396 in octave::fcn_info::fcn_info_rep::xfind(octave::symbol_scope const&, octave_value_list const&)
Shadow bytes around the buggy address:
  0x0c2680005f80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2680005f90: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
  0x0c2680005fa0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2680005fb0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2680005fc0: fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c2680005fd0:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2680005fe0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2680005ff0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2680006000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c2680006010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c2680006020: 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
==22447==ABORTING
make[3]: *** [Makefile:31306: check-local] Error 1
make[3]: Leaving directory '/net/devnull/scratch/jwe/build/octave-asan'
make[2]: *** [Makefile:27460: check-am] Error 2
make[2]: Leaving directory '/net/devnull/scratch/jwe/build/octave-asan'
make[1]: *** [Makefile:27168: check-recursive] Error 1
make[1]: Leaving directory '/net/devnull/scratch/jwe/build/octave-asan'
make: *** [Makefile:27462: check] Error 2


jwe



reply via email to

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