[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst c
From: |
Dmitri A. Sergatskov |
Subject: |
[Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst coredumps (with ASAN) |
Date: |
Fri, 22 Mar 2019 17:50:28 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0 |
URL:
<https://savannah.gnu.org/bugs/?55981>
Summary: test libinterp/corefcn/bsxfun.cc-tst coredumps (with
ASAN)
Project: GNU Octave
Submitted by: dasergatskov
Submitted on: Fri 22 Mar 2019 09:50:26 PM UTC
Category: Interpreter
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: None
Status: None
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: dev
Operating System: GNU/Linux
_______________________________________________________
Details:
When compiled with ASAN,
octave:2> test libinterp/corefcn/bsxfun.cc-tst
=================================================================
==7112==ERROR: AddressSanitizer: heap-use-after-free on address 0x61400009ac40
at pc 0x7f3cdd60024e bp 0x7f3cb54e6e70 sp 0x7f3cb54e6e60
READ of size 8 at 0x61400009ac40 thread T9 (QThread)
#0 0x7f3cdd60024d in
octave::fcn_info::fcn_info_rep::xfind(octave::symbol_scope const&,
octave_value_list const&) ../libinterp/corefcn/fcn-info.cc:396
#1 0x7f3cdd5ffb73 in
octave::fcn_info::fcn_info_rep::find(octave::symbol_scope const&,
octave_value_list const&) ../libinterp/corefcn/fcn-info.cc:355
#2 0x7f3cdde4352d in octave::fcn_info::find(octave::symbol_scope const&,
octave_value_list const&) ../libinterp/corefcn/fcn-info.h:255
#3 0x7f3cdde38173 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&) ../libinterp/corefcn/symtab.cc:175
#4 0x7f3cdde38a3b 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&) ../libinterp/corefcn/symtab.cc:227
#5 0x7f3cdcfeab1c in octave_fcn_handle::function_value(bool)
../libinterp/octave-value/ov-fcn-handle.cc:336
#6 0x7f3cdd0f837a in octave_value::function_value(bool) const
../libinterp/octave-value/ov.cc:1662
#7 0x7f3cdd43cb61 in Fbsxfun(octave::interpreter&, octave_value_list
const&, int) ../libinterp/corefcn/bsxfun.cc:369
#8 0x7f3cdcf30070 in octave_builtin::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:71
#9 0x7f3cdd2fd552 in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2234
#10 0x7f3cdd336800 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:106
#11 0x7f3cdce6d691 in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:317
#12 0x7f3cdd305157 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2989
#13 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#14 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#15 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#16 0x7f3cdd2fa1e7 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&, octave::stack_frame*)
../libinterp/parse-tree/pt-eval.cc:1890
#17 0x7f3cdd0e12ed in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&, octave::stack_frame*)
../libinterp/octave-value/ov-usr-fcn.cc:457
#18 0x7f3cdd0e88f7 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&)
(/d2/home/dima/src/octave/gcc_asan/libinterp/.libs/liboctinterp.so.7+0x14e68f7)
#19 0x7f3cdd2fd552 in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2234
#20 0x7f3cdd336800 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:106
#21 0x7f3cdd311f59 in
octave::tree_evaluator::evaluate_n(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:348
#22 0x7f3cdd2eb300 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:241
#23 0x7f3cdd2ebbd0 in octave::tree_evaluator::eval_string(octave_value
const&, bool, int&, int) ../libinterp/parse-tree/pt-eval.cc:292
#24 0x7f3cddaed71f in octave::interpreter::eval_string(octave_value
const&, bool, int&, int) ../libinterp/corefcn/interpreter.cc:1183
#25 0x7f3cdd296c37 in Feval(octave::interpreter&, octave_value_list
const&, int) ../libinterp/parse-tree/oct-parse.yy:5478
#26 0x7f3cdcf30070 in octave_builtin::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:71
#27 0x7f3cdd2fd552 in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2234
#28 0x7f3cdd336800 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:106
#29 0x7f3cdce6d691 in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:317
#30 0x7f3cdd305157 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2989
#31 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#32 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#33 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#34 0x7f3cdd306415 in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:3165
#35 0x7f3cdd32eac6 in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:81
#36 0x7f3cdd304f82 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2967
#37 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#38 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#39 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#40 0x7f3cdd2fc337 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:2077
#41 0x7f3cdd2ddd22 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:115
#42 0x7f3cdd2fbf49 in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:2055
#43 0x7f3cdd34ac3e in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:148
#44 0x7f3cdd304f82 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2967
#45 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#46 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#47 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#48 0x7f3cdd2fc337 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:2077
#49 0x7f3cdd2ddd22 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:115
#50 0x7f3cdd2fbf49 in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:2055
#51 0x7f3cdd34ac3e in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:148
#52 0x7f3cdd304f82 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2967
#53 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#54 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#55 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#56 0x7f3cdd3077b0 in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:3304
#57 0x7f3cdd32eb3a in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:148
#58 0x7f3cdd304f82 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2967
#59 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#60 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#61 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#62 0x7f3cdd2f6dfb in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:1537
#63 0x7f3cdd33e56c in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:219
#64 0x7f3cdd304f82 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2967
#65 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#66 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#67 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#68 0x7f3cdd2fa1e7 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&, octave::stack_frame*)
../libinterp/parse-tree/pt-eval.cc:1890
#69 0x7f3cdd0e12ed in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&, octave::stack_frame*)
../libinterp/octave-value/ov-usr-fcn.cc:457
#70 0x7f3cdd0e88f7 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&)
(/d2/home/dima/src/octave/gcc_asan/libinterp/.libs/liboctinterp.so.7+0x14e68f7)
#71 0x7f3cdd2fd552 in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2234
#72 0x7f3cdd336800 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:106
#73 0x7f3cdce6d691 in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:317
#74 0x7f3cdd305157 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2989
#75 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#76 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#77 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#78 0x7f3cdd2ea730 in octave::tree_evaluator::repl(bool)
../libinterp/parse-tree/pt-eval.cc:112
#79 0x7f3cddaea0d0 in octave::interpreter::main_loop()
../libinterp/corefcn/interpreter.cc:976
#80 0x7f3cddae66fa in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:690
#81 0x7f3cde884b7b in octave::octave_interpreter::execute()
../libgui/src/main-window.cc:146
#82 0x7f3cdea553ab in
octave::octave_interpreter::qt_static_metacall(QObject*, QMetaObject::Call,
int, void**) libgui/src/moc-main-window.cc:89
#83 0x7f3cdaafdda5 in QObject::event(QEvent*)
(/lib64/libQt5Core.so.5+0x27ada5)
#84 0x7f3cdb450284 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) (/lib64/libQt5Widgets.so.5+0x16d284)
#85 0x7f3cdb45799f in QApplication::notify(QObject*, QEvent*)
(/lib64/libQt5Widgets.so.5+0x17499f)
#86 0x7f3cde8b0870 in octave::octave_qapplication::notify(QObject*,
QEvent*) ../libgui/src/main-window.cc:2817
#87 0x7f3cdaad4ec5 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(/lib64/libQt5Core.so.5+0x251ec5)
#88 0x7f3cdaad809a in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (/lib64/libQt5Core.so.5+0x25509a)
#89 0x7f3cdab25806 (/lib64/libQt5Core.so.5+0x2a2806)
#90 0x7f3cd3eb506c in g_main_context_dispatch
(/lib64/libglib-2.0.so.0+0x4f06c)
#91 0x7f3cd3eb5437 (/lib64/libglib-2.0.so.0+0x4f437)
#92 0x7f3cd3eb54cf in g_main_context_iteration
(/lib64/libglib-2.0.so.0+0x4f4cf)
#93 0x7f3cdab25592 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(/lib64/libQt5Core.so.5+0x2a2592)
#94 0x7f3cdaad3e0a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(/lib64/libQt5Core.so.5+0x250e0a)
#95 0x7f3cda93be85 in QThread::exec() (/lib64/libQt5Core.so.5+0xb8e85)
#96 0x7f3cda9452fa (/lib64/libQt5Core.so.5+0xc22fa)
#97 0x7f3cd652558d in start_thread (/lib64/libpthread.so.0+0x858d)
#98 0x7f3cd64546a2 in clone (/lib64/libc.so.6+0xfd6a2)
0x61400009ac40 is located 0 bytes inside of 432-byte region
[0x61400009ac40,0x61400009adf0)
freed by thread T9 (QThread) here:
#0 0x7f3cdeda0e10 in operator delete(void*, unsigned long)
(/lib64/libasan.so.5+0xf2e10)
#1 0x7f3cdd0de6b0 in octave_user_function::~octave_user_function()
../libinterp/octave-value/ov-usr-fcn.cc:220
#2 0x7f3cde82d4a3 in octave_value::operator=(octave_value const&)
(/d2/home/dima/src/octave/gcc_asan/libgui/.libs/liboctgui.so.5+0x2714a3)
#3 0x7f3cdde431f0 in
octave::fcn_info::fcn_info_rep::clear_user_function(bool)
../libinterp/corefcn/fcn-info.h:171
#4 0x7f3cdde438e3 in octave::fcn_info::clear_user_function(bool)
../libinterp/corefcn/fcn-info.h:342
#5 0x7f3cdde39f36 in
octave::symbol_table::clear_function_pattern(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)
../libinterp/corefcn/symtab.cc:369
#6 0x7f3cdd2f46b8 in
octave::tree_evaluator::clear_symbol_pattern(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)
../libinterp/parse-tree/pt-eval.cc:1319
#7 0x7f3cddaedcc7 in
octave::interpreter::clear_symbol_pattern(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)
../libinterp/corefcn/interpreter.cc:1327
#8 0x7f3cddece0f2 in do_matlab_compatible_clear
../libinterp/corefcn/variables.cc:1133
#9 0x7f3cddeceb65 in Fclear(octave::interpreter&, octave_value_list
const&, int) ../libinterp/corefcn/variables.cc:1306
#10 0x7f3cdcf30070 in octave_builtin::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:71
#11 0x7f3cdd2fd552 in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2234
#12 0x7f3cdd336800 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:106
#13 0x7f3cdce6d691 in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:317
#14 0x7f3cdd305157 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2989
#15 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#16 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#17 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#18 0x7f3cdd2fc337 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:2077
#19 0x7f3cdd2ddd22 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:115
#20 0x7f3cdd2fbf49 in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:2055
#21 0x7f3cdd34ac3e in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:148
#22 0x7f3cdd304f82 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2967
#23 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#24 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#25 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#26 0x7f3cdd3077b0 in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:3304
#27 0x7f3cdd32eb3a in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:148
#28 0x7f3cdd304f82 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2967
#29 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
previously allocated by thread T9 (QThread) here:
#0 0x7f3cded9f830 in operator new(unsigned long)
(/lib64/libasan.so.5+0xf1830)
#1 0x7f3cdd281279 in
octave::base_parser::start_function(octave::tree_identifier*,
octave::tree_parameter_list*, octave::tree_statement_list*,
octave::tree_statement*) ../libinterp/parse-tree/oct-parse.yy:3351
#2 0x7f3cdd280bf9 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*)
../libinterp/parse-tree/oct-parse.yy:3313
#3 0x7f3cdd271d99 in octave_push_parse(octave_pstate*, int, OCTAVE_STYPE
const*, octave::base_parser&) ../libinterp/parse-tree/oct-parse.yy:1638
#4 0x7f3cdd260a5e in octave_pull_parse(octave_pstate*,
octave::base_parser&) libinterp/parse-tree/oct-parse.cc:3004
#5 0x7f3cdd28a814 in octave::parser::run()
../libinterp/parse-tree/oct-parse.yy:4362
#6 0x7f3cdd2eb0e0 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:224
#7 0x7f3cdd2ebbd0 in octave::tree_evaluator::eval_string(octave_value
const&, bool, int&, int) ../libinterp/parse-tree/pt-eval.cc:292
#8 0x7f3cddaed71f in octave::interpreter::eval_string(octave_value const&,
bool, int&, int) ../libinterp/corefcn/interpreter.cc:1183
#9 0x7f3cdd296c37 in Feval(octave::interpreter&, octave_value_list const&,
int) ../libinterp/parse-tree/oct-parse.yy:5478
#10 0x7f3cdcf30070 in octave_builtin::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:71
#11 0x7f3cdd2fd552 in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2234
#12 0x7f3cdd336800 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:106
#13 0x7f3cdce6d691 in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:317
#14 0x7f3cdd305157 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2989
#15 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#16 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#17 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#18 0x7f3cdd306415 in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:3165
#19 0x7f3cdd32eac6 in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:81
#20 0x7f3cdd304f82 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2967
#21 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
#22 0x7f3cdd3056ea in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3048
#23 0x7f3cdce6df9c in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
#24 0x7f3cdd2fc337 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:2077
#25 0x7f3cdd2ddd22 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:115
#26 0x7f3cdd2fbf49 in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:2055
#27 0x7f3cdd34ac3e in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:148
#28 0x7f3cdd304f82 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2967
#29 0x7f3cdd34def6 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
Thread T9 (QThread) created by T0 here:
#0 0x7f3cded00f63 in __interceptor_pthread_create
(/lib64/libasan.so.5+0x52f63)
#1 0x7f3cda944d76 in QThread::start(QThread::Priority)
(/lib64/libQt5Core.so.5+0xc1d76)
SUMMARY: AddressSanitizer: heap-use-after-free
../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:
0x0c288000b530: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa
0x0c288000b540: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
0x0c288000b550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c288000b560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c288000b570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa fa
=>0x0c288000b580: fa fa fa fa fa fa fa fa[fd]fd fd fd fd fd fd fd
0x0c288000b590: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c288000b5a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c288000b5b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa
0x0c288000b5c0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
0x0c288000b5d0: 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
==7112==ABORTING
hg id
6731d89ef576 tip @
Dmitri.
--
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?55981>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst coredumps (with ASAN),
Dmitri A. Sergatskov <=
- [Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst coredumps (with ASAN), Rik, 2019/03/25
- [Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst coredumps (with ASAN), Dmitri A. Sergatskov, 2019/03/25
- [Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst coredumps (with ASAN), John W. Eaton, 2019/03/26
- [Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst coredumps (with ASAN), John W. Eaton, 2019/03/26
- [Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst coredumps (with ASAN), Rik, 2019/03/26
- [Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst coredumps (with ASAN), John W. Eaton, 2019/03/26
- [Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst coredumps (with ASAN), Dmitri A. Sergatskov, 2019/03/26
- [Octave-bug-tracker] [bug #55981] test libinterp/corefcn/bsxfun.cc-tst coredumps (with ASAN), Rik, 2019/03/26