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

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

[Octave-bug-tracker] [bug #48519] Segfault with Qt plotting when running


From: Markus Mützel
Subject: [Octave-bug-tracker] [bug #48519] Segfault with Qt plotting when running demos
Date: Sat, 5 Jan 2019 12:12:09 -0500 (EST)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0

Follow-up Comment #35, bug #48519 (project octave):

I don't see immediately why it fails in these lines.

I tried to replicate (with Pantxo's second patch on top of af7faef288ad). But
compiling after:

make maintainer-clean
cd .build
../configure CPPFLAGS=-I/usr/include/hdf5/serial
LDFLAGS="-L/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/hdf5/serial"
FFLAGS=-g CFLAGS=-g CXXFLAGS=-g --enable-address-sanitizer-flags
--disable-java
make -j3


Fails with:

  GEN      doc/interpreter/voronoi.txt
  GEN      doc/interpreter/triplot.txt
  GEN      doc/interpreter/griddata.txt
=================================================================
=================================================================
==99945==ERROR: AddressSanitizer: stack-use-after-scope on address
0x7fde1714e3d0 at pc 0x7fde3616a99e bp 0x7fde1714e0c0 sp 0x7fde1714e0b0
==99948==ERROR: AddressSanitizer: stack-use-after-scope on address
0x7fd68aa523d0 at pc 0x7fd6a9a6e99e bp 0x7fd68aa520c0 sp 0x7fd68aa520b0
WRITE of size 8 at 0x7fd68aa523d0 thread T7 (QThread)
WRITE of size 8 at 0x7fde1714e3d0 thread T7 (QThread)
=================================================================
==99946==ERROR: AddressSanitizer: stack-use-after-scope on address
0x7f4b5febf3d0 at pc 0x7f4b7eedb99e bp 0x7f4b5febf0c0 sp 0x7f4b5febf0b0
WRITE of size 8 at 0x7f4b5febf3d0 thread T7 (QThread)
    #0 0x7fde3616a99d in Array<octave_value>::Array(Array<octave_value>
const&, dim_vector const&) ../liboctave/array/Array.cc:52
    #1 0x7fde3616f4b2 in Array<octave_value>::index(idx_vector const&) const
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x11374b2)
    #2 0x7fde36173041 in Array<octave_value>::index(idx_vector const&, bool,
octave_value const&) const
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x113b041)
    #0 0x7fd6a9a6e99d in Array<octave_value>::Array(Array<octave_value>
const&, dim_vector const&) ../liboctave/array/Array.cc:52
    #1 0x7fd6a9a734b2 in Array<octave_value>::index(idx_vector const&) const
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x11374b2)
    #2 0x7fd6a9a77041 in Array<octave_value>::index(idx_vector const&, bool,
octave_value const&) const
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x113b041)
    #3 0x7fde36813f1c in Cell::index(octave_value_list const&, bool) const
../libinterp/corefcn/Cell.cc:176
    #3 0x7fd6aa117f1c in Cell::index(octave_value_list const&, bool) const
../libinterp/corefcn/Cell.cc:176
    #4 0x7fd6a9c22146 in
octave_base_matrix<Cell>::do_index_op(octave_value_list const&, bool)
../libinterp/octave-value/ov-cell.cc:70
    #5 0x7fd6a9c23c5c in octave_cell::subsref(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::__cxx11::list<octave_value_list, std::allocator<octave_value_list> >
const&, int) ../libinterp/octave-value/ov-cell.cc:160
    #4 0x7fde3631e146 in
octave_base_matrix<Cell>::do_index_op(octave_value_list const&, bool)
../libinterp/octave-value/ov-cell.cc:70
    #5 0x7fde3631fc5c in octave_cell::subsref(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::__cxx11::list<octave_value_list, std::allocator<octave_value_list> >
const&, int) ../libinterp/octave-value/ov-cell.cc:160
    #0 0x7f4b7eedb99d in Array<octave_value>::Array(Array<octave_value>
const&, dim_vector const&) ../liboctave/array/Array.cc:52
    #1 0x7f4b7eee04b2 in Array<octave_value>::index(idx_vector const&) const
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x11374b2)
    #2 0x7f4b7eee4041 in Array<octave_value>::index(idx_vector const&, bool,
octave_value const&) const
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x113b041)
    #3 0x7f4b7f584f1c in Cell::index(octave_value_list const&, bool) const
../libinterp/corefcn/Cell.cc:176
    #4 0x7f4b7f08f146 in
octave_base_matrix<Cell>::do_index_op(octave_value_list const&, bool)
../libinterp/octave-value/ov-cell.cc:70
    #5 0x7f4b7f090c5c in octave_cell::subsref(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::__cxx11::list<octave_value_list, std::allocator<octave_value_list> >
const&, int) ../libinterp/octave-value/ov-cell.cc:160
    #6 0x7fd6a9e8ba1f in
octave_value::subsref(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, std::__cxx11::list<octave_value_list,
std::allocator<octave_value_list> > const&, int)
../libinterp/octave-value/ov.cc:1424
    #6 0x7fde36587a1f in
octave_value::subsref(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, std::__cxx11::list<octave_value_list,
std::allocator<octave_value_list> > const&, int)
../libinterp/octave-value/ov.cc:1424
    #6 0x7f4b7f2f8a1f in
octave_value::subsref(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, std::__cxx11::list<octave_value_list,
std::allocator<octave_value_list> > const&, int)
../libinterp/octave-value/ov.cc:1424
    #7 0x7fd6aa09a40c in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2158
    #7 0x7fde3679640c in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2158
    #8 0x7fd6aa0d56c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #8 0x7fde367d16c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #7 0x7f4b7f50740c in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2158
    #9 0x7fd6a9cf009a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #10 0x7fd6aa0f00f4 in
octave::tm_row_const::init(octave::tree_argument_list const&,
octave::tree_evaluator&) ../libinterp/parse-tree/pt-tm-const.cc:168
    #11 0x7fd6aa0f7bd1 in
octave::tm_row_const::tm_row_const(octave::tree_argument_list const&,
octave::tree_evaluator&) ../libinterp/parse-tree/pt-tm-const.h:154
    #12 0x7fd6aa0f2c44 in octave::tm_const::init(octave::tree_matrix const&)
../libinterp/parse-tree/pt-tm-const.cc:308
    #13 0x7fd6aa0b40e8 in octave::tm_const::tm_const(octave::tree_matrix
const&, octave::tree_evaluator&)
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x17780e8)
    #14 0x7fd6aa09b2d5 in
octave::tree_evaluator::visit_matrix(octave::tree_matrix&)
../libinterp/parse-tree/pt-eval.cc:2226
    #15 0x7fd6aa0ddf54 in octave::tree_matrix::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-mat.h:70
    #16 0x7fd6a9cf009a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #17 0x7fd6aa0a06b6 in
octave::tree_evaluator::visit_simple_assignment(octave::tree_simple_assignment&)
../libinterp/parse-tree/pt-eval.cc:2680
    #9 0x7fde363ec09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #10 0x7fde367ec0f4 in
octave::tm_row_const::init(octave::tree_argument_list const&,
octave::tree_evaluator&) ../libinterp/parse-tree/pt-tm-const.cc:168
    #11 0x7fde367f3bd1 in
octave::tm_row_const::tm_row_const(octave::tree_argument_list const&,
octave::tree_evaluator&) ../libinterp/parse-tree/pt-tm-const.h:154
    #12 0x7fde367eec44 in octave::tm_const::init(octave::tree_matrix const&)
../libinterp/parse-tree/pt-tm-const.cc:308
    #13 0x7fde367b00e8 in octave::tm_const::tm_const(octave::tree_matrix
const&, octave::tree_evaluator&)
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x17780e8)
    #14 0x7fde367972d5 in
octave::tree_evaluator::visit_matrix(octave::tree_matrix&)
../libinterp/parse-tree/pt-eval.cc:2226
    #18 0x7fd6aa076c3a in
octave::tree_simple_assignment::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-assign.h:84
    #19 0x7fd6a9cf009a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #20 0x7fd6aa0a199f in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2775
    #8 0x7f4b7f5426c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #15 0x7fde367d9f54 in octave::tree_matrix::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-mat.h:70
    #16 0x7fde363ec09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #17 0x7fde3679c6b6 in
octave::tree_evaluator::visit_simple_assignment(octave::tree_simple_assignment&)
../libinterp/parse-tree/pt-eval.cc:2680
    #21 0x7fd6aa0ed3c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #22 0x7fd6aa0a207b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #18 0x7fde36772c3a in
octave::tree_simple_assignment::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-assign.h:84
    #19 0x7fde363ec09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #20 0x7fde3679d99f in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2775
    #23 0x7fd6a9cf0cce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #24 0x7fd6aa098689 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:1862
    #25 0x7fd6aa07ad80 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:115
    #26 0x7fd6aa09828f in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:1840
    #9 0x7f4b7f15d09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #10 0x7f4b7f55d0f4 in
octave::tm_row_const::init(octave::tree_argument_list const&,
octave::tree_evaluator&) ../libinterp/parse-tree/pt-tm-const.cc:168
    #11 0x7f4b7f564bd1 in
octave::tm_row_const::tm_row_const(octave::tree_argument_list const&,
octave::tree_evaluator&) ../libinterp/parse-tree/pt-tm-const.h:154
    #12 0x7f4b7f55fc44 in octave::tm_const::init(octave::tree_matrix const&)
../libinterp/parse-tree/pt-tm-const.cc:308
    #21 0x7fde367e93c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #13 0x7f4b7f5210e8 in octave::tm_const::tm_const(octave::tree_matrix
const&, octave::tree_evaluator&)
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x17780e8)
    #22 0x7fde3679e07b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #14 0x7f4b7f5082d5 in
octave::tree_evaluator::visit_matrix(octave::tree_matrix&)
../libinterp/parse-tree/pt-eval.cc:2226
    #27 0x7fd6aa0ea096 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:148
    #28 0x7fd6aa0a17ca in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2753
    #29 0x7fd6aa0ed3c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #30 0x7fd6aa0a207b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #31 0x7fd6a9cf0cce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #32 0x7fd6aa096537 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:1694
    #15 0x7f4b7f54af54 in octave::tree_matrix::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-mat.h:70
    #16 0x7f4b7f15d09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #17 0x7f4b7f50d6b6 in
octave::tree_evaluator::visit_simple_assignment(octave::tree_simple_assignment&)
../libinterp/parse-tree/pt-eval.cc:2680
    #18 0x7f4b7f4e3c3a in
octave::tree_simple_assignment::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-assign.h:84
    #19 0x7f4b7f15d09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #20 0x7f4b7f50e99f in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2775
    #23 0x7fde363eccce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #24 0x7fde36794689 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:1862
    #25 0x7fde36776d80 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:115
    #26 0x7fde3679428f in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:1840
    #33 0x7fd6a9e76857 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:455
    #34 0x7fd6aa0994ab in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2007
    #35 0x7fd6aa0d56c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #36 0x7fd6a9cf009a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #37 0x7fd6aa0a06b6 in
octave::tree_evaluator::visit_simple_assignment(octave::tree_simple_assignment&)
../libinterp/parse-tree/pt-eval.cc:2680
    #38 0x7fd6aa076c3a in
octave::tree_simple_assignment::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-assign.h:84
    #39 0x7fd6a9cf009a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #40 0x7fd6aa0a199f in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2775
    #41 0x7fd6aa0ed3c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #42 0x7fd6aa0a207b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #43 0x7fd6a9cf0cce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #44 0x7fd6aa098689 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:1862
    #45 0x7fd6aa07ad80 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:115
    #46 0x7fd6aa09828f in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:1840
    #47 0x7fd6aa0ea096 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:148
    #48 0x7fd6aa0a17ca in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2753
    #49 0x7fd6aa0ed3c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #50 0x7fd6aa0a207b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #51 0x7fd6a9cf0cce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #52 0x7fd6aa096537 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:1694
    #53 0x7fd6a9e76857 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:455
    #54 0x7fd6aa0994ab in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2007
    #55 0x7fd6aa0d56c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #56 0x7fd6a9cf009a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #57 0x7fd6aa0a06b6 in
octave::tree_evaluator::visit_simple_assignment(octave::tree_simple_assignment&)
../libinterp/parse-tree/pt-eval.cc:2680
    #58 0x7fd6aa076c3a in
octave::tree_simple_assignment::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-assign.h:84
    #59 0x7fd6a9cf009a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #60 0x7fd6aa0a199f in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2775
    #61 0x7fd6aa0ed3c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #62 0x7fd6aa0a207b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #63 0x7fd6a9cf0cce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #64 0x7fd6aa096537 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:1694
    #65 0x7fd6a9e76857 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:455
    #66 0x7fd6aa0994ab in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2007
    #67 0x7fd6aa0d56c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #68 0x7fd6aa0b2042 in
octave::tree_evaluator::evaluate_n(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:343
    #69 0x7fd6aa088147 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:242
    #27 0x7fde367e6096 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:148
    #28 0x7fde3679d7ca in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2753
    #29 0x7fde367e93c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #30 0x7fde3679e07b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #31 0x7fde363eccce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #32 0x7fde36792537 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:1694
    #70 0x7fd6aa89b410 in
octave::interpreter::eval_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool, int&, int)
../libinterp/corefcn/interpreter.cc:1137
    #71 0x7fd6aa896f37 in octave::interpreter::execute_eval_option_code()
../libinterp/corefcn/interpreter.cc:857
    #72 0x7fd6aa894ea5 in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:662
    #21 0x7f4b7f55a3c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #22 0x7f4b7f50f07b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #33 0x7fde36572857 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:455
    #34 0x7fde367954ab in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2007
    #35 0x7fde367d16c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #36 0x7fde363ec09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #37 0x7fde3679c6b6 in
octave::tree_evaluator::visit_simple_assignment(octave::tree_simple_assignment&)
../libinterp/parse-tree/pt-eval.cc:2680
    #38 0x7fde36772c3a in
octave::tree_simple_assignment::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-assign.h:84
    #39 0x7fde363ec09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #40 0x7fde3679d99f in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2775
    #41 0x7fde367e93c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #42 0x7fde3679e07b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #43 0x7fde363eccce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #44 0x7fde36794689 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:1862
    #45 0x7fde36776d80 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:115
    #46 0x7fde3679428f in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:1840
    #47 0x7fde367e6096 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:148
    #48 0x7fde3679d7ca in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2753
    #49 0x7fde367e93c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #50 0x7fde3679e07b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #51 0x7fde363eccce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #52 0x7fde36792537 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:1694
    #53 0x7fde36572857 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:455
    #54 0x7fde367954ab in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2007
    #55 0x7fde367d16c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #56 0x7fde363ec09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #57 0x7fde3679c6b6 in
octave::tree_evaluator::visit_simple_assignment(octave::tree_simple_assignment&)
../libinterp/parse-tree/pt-eval.cc:2680
    #58 0x7fde36772c3a in
octave::tree_simple_assignment::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-assign.h:84
    #59 0x7fde363ec09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #60 0x7fde3679d99f in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2775
    #61 0x7fde367e93c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #62 0x7fde3679e07b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #63 0x7fde363eccce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #64 0x7fde36792537 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:1694
    #65 0x7fde36572857 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:455
    #66 0x7fde367954ab in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2007
    #67 0x7fde367d16c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #68 0x7fde367ae042 in
octave::tree_evaluator::evaluate_n(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:343
    #69 0x7fde36784147 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:242
    #23 0x7f4b7f15dcce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #24 0x7f4b7f505689 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:1862
    #25 0x7f4b7f4e7d80 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:115
    #26 0x7f4b7f50528f in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:1840
    #27 0x7f4b7f557096 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:148
    #28 0x7f4b7f50e7ca in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2753
    #29 0x7f4b7f55a3c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #30 0x7f4b7f50f07b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #31 0x7f4b7f15dcce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #32 0x7f4b7f503537 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:1694
    #70 0x7fde36f97410 in
octave::interpreter::eval_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool, int&, int)
../libinterp/corefcn/interpreter.cc:1137
    #71 0x7fde36f92f37 in octave::interpreter::execute_eval_option_code()
../libinterp/corefcn/interpreter.cc:857
    #72 0x7fde36f90ea5 in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:662
    #73 0x7fd6ab65f243 in octave::octave_interpreter::execute()
../libgui/src/main-window.cc:146
    #74 0x7fd6ab8366b3 in
octave::octave_interpreter::qt_static_metacall(QObject*, QMetaObject::Call,
int, void**) libgui/src/moc-main-window.cc:89
    #75 0x7fd6a58acf91 in QObject::event(QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x294f91)
    #76 0x7fd6a62424a0 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x15f4a0)
    #77 0x7fd6a6249adf in QApplication::notify(QObject*, QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x166adf)
    #78 0x7fd6ab68b2c3 in octave::octave_qapplication::notify(QObject*,
QEvent*) ../libgui/src/main-window.cc:2783
    #79 0x7fd6a5883498 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26b498)
    #80 0x7fd6a588648a in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26e48a)
    #81 0x7fd6a58d5b22  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bdb22)
    #82 0x7fd6a02fac3d in g_main_context_dispatch
(/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4dc3d)
    #83 0x7fd6a02faed7  (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4ded7)
    #84 0x7fd6a02faf6b in g_main_context_iteration
(/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4df6b)
    #85 0x7fd6a58d5142 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bd142)
    #86 0x7fd6a588216a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26a16a)
    #87 0x7fd6a56d10b5 in QThread::exec()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xb90b5)
    #88 0x7fd6a56dac86  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xc2c86)
    #89 0x7fd6a6b6d163 in start_thread
(/lib/x86_64-linux-gnu/libpthread.so.0+0x8163)
    #90 0x7fd6a6cb0dee in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11adee)

Address 0x7fd68aa523d0 is located in stack of thread T7 (QThread) at offset
432 in frame
    #0 0x7fd6a9a732e1 in Array<octave_value>::index(idx_vector const&) const
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x11372e1)

  This frame has 9 object(s):
    [32, 40) '<unknown>'
    [96, 104) 'result_dims'
    [160, 168) 'dv'
    [224, 232) '<unknown>'
    [288, 296) 'l'
    [352, 360) 'u'
    [416, 456) '<unknown>' <== Memory access at offset 432 is inside this
variable
    [512, 552) '<unknown>'
    [608, 648) '<unknown>'
HINT: this may be a false positive if your program uses some custom stack
unwind mechanism or swapcontext
      (longjmp and C++ exceptions *are* supported)
Thread T7 (QThread) created by T0 here:
    #0 0x7fd6abad7e5f in __interceptor_pthread_create
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x4ae5f)
    #1 0x7fd6a56da609 in QThread::start(QThread::Priority)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xc2609)

SUMMARY: AddressSanitizer: stack-use-after-scope
../liboctave/array/Array.cc:52 in
Array<octave_value>::Array(Array<octave_value> const&, dim_vector const&)
Shadow bytes around the buggy address:
  0x0ffb51542420: f1 f1 00 00 00 00 f2 f2 f2 f2 00 00 00 00 f3 f3
  0x0ffb51542430: f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ffb51542440: 00 00 00 00 f1 f1 f1 f1 00 f2 f2 f2 f2 f2 f2 f2
  0x0ffb51542450: 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2 f2 f2
  0x0ffb51542460: 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2 f2 f2
=>0x0ffb51542470: 00 f2 f2 f2 f2 f2 f2 f2 00 00[f8]f8 00 f2 f2 f2
  0x0ffb51542480: f2 f2 f2 f2 00 00 00 00 00 f2 f2 f2 f2 f2 f2 f2
  0x0ffb51542490: 00 00 00 00 00 f2 f2 f2 00 00 00 00 00 00 00 00
  0x0ffb515424a0: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
  0x0ffb515424b0: 00 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 f2 f2 f2
  0x0ffb515424c0: 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
==99948==ABORTING
    #73 0x7fde37d5b243 in octave::octave_interpreter::execute()
../libgui/src/main-window.cc:146
    #33 0x7f4b7f2e3857 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:455
    #34 0x7f4b7f5064ab in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2007
    #35 0x7f4b7f5426c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #36 0x7f4b7f15d09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #37 0x7f4b7f50d6b6 in
octave::tree_evaluator::visit_simple_assignment(octave::tree_simple_assignment&)
../libinterp/parse-tree/pt-eval.cc:2680
    #38 0x7f4b7f4e3c3a in
octave::tree_simple_assignment::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-assign.h:84
    #39 0x7f4b7f15d09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #40 0x7f4b7f50e99f in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2775
    #41 0x7f4b7f55a3c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #42 0x7f4b7f50f07b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #43 0x7f4b7f15dcce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #44 0x7f4b7f505689 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:1862
    #45 0x7f4b7f4e7d80 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:115
    #46 0x7f4b7f50528f in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:1840
    #47 0x7f4b7f557096 in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:148
    #48 0x7f4b7f50e7ca in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2753
    #49 0x7f4b7f55a3c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #50 0x7f4b7f50f07b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #51 0x7f4b7f15dcce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #52 0x7f4b7f503537 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:1694
    #53 0x7f4b7f2e3857 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:455
    #54 0x7f4b7f5064ab in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2007
    #55 0x7f4b7f5426c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #56 0x7f4b7f15d09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #57 0x7f4b7f50d6b6 in
octave::tree_evaluator::visit_simple_assignment(octave::tree_simple_assignment&)
../libinterp/parse-tree/pt-eval.cc:2680
    #58 0x7f4b7f4e3c3a in
octave::tree_simple_assignment::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-assign.h:84
    #59 0x7f4b7f15d09a in
octave::tree_evaluator::evaluate(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:312
    #60 0x7f4b7f50e99f in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2775
    #61 0x7f4b7f55a3c4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:119
    #62 0x7f4b7f50f07b in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2844
    #63 0x7f4b7f15dcce in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:194
    #64 0x7f4b7f503537 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:1694
    #65 0x7f4b7f2e3857 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:455
    #66 0x7f4b7f5064ab in
octave::tree_evaluator::visit_index_expression(octave::tree_index_expression&)
../libinterp/parse-tree/pt-eval.cc:2007
    #67 0x7f4b7f5426c4 in
octave::tree_index_expression::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-idx.h:102
    #68 0x7f4b7f51f042 in
octave::tree_evaluator::evaluate_n(octave::tree_expression*, int)
../libinterp/parse-tree/pt-eval.h:343
    #69 0x7f4b7f4f5147 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:242
    #74 0x7fde37f326b3 in
octave::octave_interpreter::qt_static_metacall(QObject*, QMetaObject::Call,
int, void**) libgui/src/moc-main-window.cc:89
    #75 0x7fde31fa8f91 in QObject::event(QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x294f91)
    #76 0x7fde3293e4a0 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x15f4a0)
    #77 0x7fde32945adf in QApplication::notify(QObject*, QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x166adf)
    #78 0x7fde37d872c3 in octave::octave_qapplication::notify(QObject*,
QEvent*) ../libgui/src/main-window.cc:2783
    #79 0x7fde31f7f498 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26b498)
    #80 0x7fde31f8248a in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26e48a)
    #81 0x7fde31fd1b22  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bdb22)
    #82 0x7fde2c9f6c3d in g_main_context_dispatch
(/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4dc3d)
    #83 0x7fde2c9f6ed7  (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4ded7)
    #84 0x7fde2c9f6f6b in g_main_context_iteration
(/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4df6b)
    #85 0x7fde31fd1142 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bd142)
    #86 0x7fde31f7e16a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26a16a)
    #87 0x7fde31dcd0b5 in QThread::exec()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xb90b5)
    #88 0x7fde31dd6c86  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xc2c86)
    #89 0x7fde33269163 in start_thread
(/lib/x86_64-linux-gnu/libpthread.so.0+0x8163)
    #90 0x7fde333acdee in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11adee)

Address 0x7fde1714e3d0 is located in stack of thread T7 (QThread) at offset
432 in frame
    #0 0x7fde3616f2e1 in Array<octave_value>::index(idx_vector const&) const
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x11372e1)

  This frame has 9 object(s):
    [32, 40) '<unknown>'
    [96, 104) 'result_dims'
    [160, 168) 'dv'
    [224, 232) '<unknown>'
    [288, 296) 'l'
    [352, 360) 'u'
    [416, 456) '<unknown>' <== Memory access at offset 432 is inside this
variable
    [512, 552) '<unknown>'
    [608, 648) '<unknown>'
HINT: this may be a false positive if your program uses some custom stack
unwind mechanism or swapcontext
      (longjmp and C++ exceptions *are* supported)
Thread T7 (QThread) created by T0 here:
    #0 0x7fde381d3e5f in __interceptor_pthread_create
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x4ae5f)
    #1 0x7fde31dd6609 in QThread::start(QThread::Priority)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xc2609)

SUMMARY: AddressSanitizer: stack-use-after-scope
../liboctave/array/Array.cc:52 in
Array<octave_value>::Array(Array<octave_value> const&, dim_vector const&)
Shadow bytes around the buggy address:
  0x0ffc42e21c20: f1 f1 00 00 00 00 f2 f2 f2 f2 00 00 00 00 f3 f3
  0x0ffc42e21c30: f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ffc42e21c40: 00 00 00 00 f1 f1 f1 f1 00 f2 f2 f2 f2 f2 f2 f2
  0x0ffc42e21c50: 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2 f2 f2
  0x0ffc42e21c60: 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2 f2 f2
=>0x0ffc42e21c70: 00 f2 f2 f2 f2 f2 f2 f2 00 00[f8]f8 00 f2 f2 f2
  0x0ffc42e21c80: f2 f2 f2 f2 00 00 00 00 00 f2 f2 f2 f2 f2 f2 f2
  0x0ffc42e21c90: 00 00 00 00 00 f2 f2 f2 00 00 00 00 00 00 00 00
  0x0ffc42e21ca0: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
  0x0ffc42e21cb0: 00 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 f2 f2 f2
  0x0ffc42e21cc0: 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
==99945==ABORTING
    #70 0x7f4b7fd08410 in
octave::interpreter::eval_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool, int&, int)
../libinterp/corefcn/interpreter.cc:1137
    #71 0x7f4b7fd03f37 in octave::interpreter::execute_eval_option_code()
../libinterp/corefcn/interpreter.cc:857
    #72 0x7f4b7fd01ea5 in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:662
make[2]: *** [Makefile:30808: doc/interpreter/griddata.txt] Error 1
make[2]: *** Waiting for unfinished jobs....
    #73 0x7f4b80acc243 in octave::octave_interpreter::execute()
../libgui/src/main-window.cc:146
    #74 0x7f4b80ca36b3 in
octave::octave_interpreter::qt_static_metacall(QObject*, QMetaObject::Call,
int, void**) libgui/src/moc-main-window.cc:89
    #75 0x7f4b7ad19f91 in QObject::event(QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x294f91)
    #76 0x7f4b7b6af4a0 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x15f4a0)
    #77 0x7f4b7b6b6adf in QApplication::notify(QObject*, QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x166adf)
    #78 0x7f4b80af82c3 in octave::octave_qapplication::notify(QObject*,
QEvent*) ../libgui/src/main-window.cc:2783
    #79 0x7f4b7acf0498 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26b498)
    #80 0x7f4b7acf348a in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26e48a)
    #81 0x7f4b7ad42b22  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bdb22)
    #82 0x7f4b75767c3d in g_main_context_dispatch
(/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4dc3d)
make[2]: *** [Makefile:30804: doc/interpreter/voronoi.txt] Error 1
    #83 0x7f4b75767ed7  (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4ded7)
    #84 0x7f4b75767f6b in g_main_context_iteration
(/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4df6b)
    #85 0x7f4b7ad42142 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2bd142)
    #86 0x7f4b7acef16a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x26a16a)
    #87 0x7f4b7ab3e0b5 in QThread::exec()
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xb90b5)
    #88 0x7f4b7ab47c86  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xc2c86)
    #89 0x7f4b7bfda163 in start_thread
(/lib/x86_64-linux-gnu/libpthread.so.0+0x8163)
    #90 0x7f4b7c11ddee in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11adee)

Address 0x7f4b5febf3d0 is located in stack of thread T7 (QThread) at offset
432 in frame
    #0 0x7f4b7eee02e1 in Array<octave_value>::index(idx_vector const&) const
(/home/osboxes/Documents/Repositories/Octave/octave-stable/.build/libinterp/.libs/liboctinterp.so.6+0x11372e1)

  This frame has 9 object(s):
    [32, 40) '<unknown>'
    [96, 104) 'result_dims'
    [160, 168) 'dv'
    [224, 232) '<unknown>'
    [288, 296) 'l'
    [352, 360) 'u'
    [416, 456) '<unknown>' <== Memory access at offset 432 is inside this
variable
    [512, 552) '<unknown>'
    [608, 648) '<unknown>'
HINT: this may be a false positive if your program uses some custom stack
unwind mechanism or swapcontext
      (longjmp and C++ exceptions *are* supported)
Thread T7 (QThread) created by T0 here:
    #0 0x7f4b80f44e5f in __interceptor_pthread_create
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x4ae5f)
    #1 0x7f4b7ab47609 in QThread::start(QThread::Priority)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xc2609)

SUMMARY: AddressSanitizer: stack-use-after-scope
../liboctave/array/Array.cc:52 in
Array<octave_value>::Array(Array<octave_value> const&, dim_vector const&)
Shadow bytes around the buggy address:
  0x0fe9ebfcfe20: f1 f1 00 00 00 00 f2 f2 f2 f2 00 00 00 00 f3 f3
  0x0fe9ebfcfe30: f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe9ebfcfe40: 00 00 00 00 f1 f1 f1 f1 00 f2 f2 f2 f2 f2 f2 f2
  0x0fe9ebfcfe50: 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2 f2 f2
  0x0fe9ebfcfe60: 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2 f2 f2
=>0x0fe9ebfcfe70: 00 f2 f2 f2 f2 f2 f2 f2 00 00[f8]f8 00 f2 f2 f2
  0x0fe9ebfcfe80: f2 f2 f2 f2 00 00 00 00 00 f2 f2 f2 f2 f2 f2 f2
  0x0fe9ebfcfe90: 00 00 00 00 00 f2 f2 f2 00 00 00 00 00 00 00 00
  0x0fe9ebfcfea0: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
  0x0fe9ebfcfeb0: 00 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 f2 f2 f2
  0x0fe9ebfcfec0: 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
==99946==ABORTING
make[2]: *** [Makefile:30806: doc/interpreter/triplot.txt] Error 1
make[2]: Leaving directory
'/home/osboxes/Documents/Repositories/Octave/octave-stable/.build'
make[1]: *** [Makefile:27048: all-recursive] Error 1
make[1]: Leaving directory
'/home/osboxes/Documents/Repositories/Octave/octave-stable/.build'
make: *** [Makefile:10868: all] Error 2


Am I doing something wrong?
Is it necessary to compile with address-sanitizer-flags to reproduce?

@Hartmut: Does it always fail for you in octave::opengl_renderer::set_normal
with the same (or a similar) backtrace like in your comment #33?
(For a backtrace just type "bt" at the gdb prompt.)


    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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