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

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

[Octave-bug-tracker] [bug #57438] Test suite error with address sanitize


From: Markus Mützel
Subject: [Octave-bug-tracker] [bug #57438] Test suite error with address sanitizer
Date: Wed, 18 Dec 2019 07:07:22 -0500 (EST)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0

URL:
  <https://savannah.gnu.org/bugs/?57438>

                 Summary: Test suite error with address sanitizer
                 Project: GNU Octave
            Submitted by: mmuetzel
            Submitted on: Wed 18 Dec 2019 01:07:21 PM CET
                Category: Interpreter
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Segfault, Bus Error, etc.
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: GNU/Linux

    _______________________________________________________

Details:

Octave is configured with the following switches

export CFLAGS="-ggdb3 -O0 -pipe"
export CXXFLAGS="${CFLAGS}"
export FFLAGS="${CFLAGS}"
../configure --with-hdf5-includedir=/usr/include/hdf5/serial
--with-hdf5-libdir=/usr/lib/x86_64-linux-gnu/hdf5/serial --prefix=${HOME}/usr
--enable-address-sanitizer-flags -C

export ASAN_OPTIONS="leak_check_at_exit=0:verbosity=0:abort_on_error=1"


When running the test suite, the address sanitizer reports the following in
ov-cell.cc-tst:

  libinterp/octave-value/ov-cell.cc-tst
..........................=================================================================
==35775==ERROR: AddressSanitizer: requested allocation size 0xffffffffffffffff
(0x800 after adjustments for alignment, red zones etc.) exceeds maximum
supported size of 0x10000000000 (thread T5 (QThread))
    #0 0x7ffff768aa67 in operator new[](unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10fa67)
    #1 0x7ffff51f88ac in Array<octave_value>::ArrayRep::ArrayRep(long)
../liboctave/array/Array.h:158
    #2 0x7ffff51e6e5f in Array<octave_value>::Array(dim_vector const&,
octave_value const&) ../liboctave/array/Array.h:273
    #3 0x7ffff53cb5d4 in Cell::Cell(dim_vector const&, octave_value const&)
../libinterp/corefcn/Cell.h:61
    #4 0x7ffff543af0b in Fcell(octave_value_list const&, int)
../libinterp/octave-value/ov-cell.cc:1274
    #5 0x7ffff542a45b in octave_builtin::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:62
    #6 0x7ffff58927b6 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:518
    #7 0x7ffff5895e4a in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:106
    #8 0x7ffff584c042 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2720
    #9 0x7ffff58b0a38 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:121
    #10 0x7ffff584c5f0 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2779
    #11 0x7ffff535f3c2 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:198
    #12 0x7ffff5849e63 in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&, octave::stack_frame*)
../libinterp/parse-tree/pt-eval.cc:2440
    #13 0x7ffff56173fc in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&, octave::stack_frame*)
../libinterp/octave-value/ov-usr-fcn.cc:464
    #14 0x7ffff561edc4 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.h:376
    #15 0x7ffff58927b6 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:518
    #16 0x7ffff58382ff 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:503
    #17 0x7ffff5838f81 in
octave::tree_evaluator::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/parse-tree/pt-eval.cc:562
    #18 0x7ffff60b7d1b in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1429
    #19 0x7ffff57da411 in Feval(octave::interpreter&, octave_value_list
const&, int) ../libinterp/parse-tree/oct-parse.yy:5368
    #20 0x7ffff542a60f in octave_builtin::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:68
    #21 0x7ffff58927b6 in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:518
    #22 0x7ffff5895e4a in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:106
    #23 0x7ffff584c042 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2720
    #24 0x7ffff58b0a38 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:121
    #25 0x7ffff584c5f0 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:2779
    #26 0x7ffff535f3c2 in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:198
    #27 0x7ffff584d1b7 in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:2890
    #28 0x7ffff587e506 in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:81
    #29 0x7ffff584be16 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:2698

==35775==HINT: if you don't care about these errors you may set
allocator_may_return_null=1
SUMMARY: AddressSanitizer: allocation-size-too-big
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10fa67) in operator new[](unsigned
long)
Thread T5 (QThread) created by T0 here:
    #0 0x7ffff75b5805 in pthread_create
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
    #1 0x7ffff06cd753 in QThread::start(QThread::Priority)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xbe753)

==35775==ABORTING

Thread 6 "QThread" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe262a700 (LWP 35797)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff20ea899 in __GI_abort () at abort.c:79
#2  0x00007ffff76a65c2 in ?? () from /usr/lib/x86_64-linux-gnu/libasan.so.5
#3  0x00007ffff76b116c in ?? () from /usr/lib/x86_64-linux-gnu/libasan.so.5
#4  0x00007ffff769280c in ?? () from /usr/lib/x86_64-linux-gnu/libasan.so.5
#5  0x00007ffff7691786 in ?? () from /usr/lib/x86_64-linux-gnu/libasan.so.5
#6  0x00007ffff75a72ef in ?? () from /usr/lib/x86_64-linux-gnu/libasan.so.5
#7  0x00007ffff75a37dd in ?? () from /usr/lib/x86_64-linux-gnu/libasan.so.5
#8  0x00007ffff768aa26 in operator new[](unsigned long) () from
/usr/lib/x86_64-linux-gnu/libasan.so.5
#9  0x00007ffff51f88ad in Array<octave_value>::ArrayRep::ArrayRep
(this=0x603003243970, n=9223372036854775807)
    at ../liboctave/array/Array.h:158
#10 0x00007ffff51e6e60 in Array<octave_value>::Array (this=0x7fffe2612ee0,
dv=..., val=...) at ../liboctave/array/Array.h:273
#11 0x00007ffff53cb5d5 in Cell::Cell (this=0x7fffe2612ee0, dv=..., val=...) at
../libinterp/corefcn/Cell.h:61
#12 0x00007ffff543af0c in Fcell (args=...) at
../libinterp/octave-value/ov-cell.cc:1274
#13 0x00007ffff542a45c in octave_builtin::call (this=0x6120001339c0, tw=...,
nargout=0, args=...)
    at ../libinterp/octave-value/ov-builtin.cc:62
#14 0x00007ffff58927b7 in octave::tree_index_expression::evaluate_n
(this=0x60e0004d74a0, tw=..., nargout=0)
    at ../libinterp/parse-tree/pt-idx.cc:518
#15 0x00007ffff5895e4b in octave::tree_index_expression::evaluate
(this=0x60e0004d74a0, tw=..., nargout=0)
    at ../libinterp/parse-tree/pt-idx.h:106
#16 0x00007ffff584c043 in octave::tree_evaluator::visit_statement
(this=0x622000030e90, stmt=...)
    at ../libinterp/parse-tree/pt-eval.cc:2720
#17 0x00007ffff58b0a39 in octave::tree_statement::accept (this=0x604001898f50,
tw=...)
    at ../libinterp/parse-tree/pt-stmt.h:121
#18 0x00007ffff584c5f1 in octave::tree_evaluator::visit_statement_list
(this=0x622000030e90, lst=...)
    at ../libinterp/parse-tree/pt-eval.cc:2779
#19 0x00007ffff535f3c3 in octave::tree_statement_list::accept
(this=0x604001898e50, tw=...)
    at ../libinterp/parse-tree/pt-stmt.h:198
#20 0x00007ffff5849e64 in octave::tree_evaluator::execute_user_function
(this=0x622000030e90, user_function=..., nargout=0, 
    xargs=..., closure_frames=0x0) at ../libinterp/parse-tree/pt-eval.cc:2440
#21 0x00007ffff56173fd in octave_user_function::call (this=0x6140000b3040,
tw=..., nargout=0, args=..., closure_frames=0x0)
    at ../libinterp/octave-value/ov-usr-fcn.cc:464
#22 0x00007ffff561edc5 in octave_user_function::call (this=0x6140000b3040,
tw=..., nargout=0, args=...)
    at ../libinterp/octave-value/ov-usr-fcn.h:376
#23 0x00007ffff58927b7 in octave::tree_index_expression::evaluate_n
(this=0x60e0001151e0, tw=..., nargout=0)
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) up 12
#12 0x00007ffff543af0c in Fcell (args=...) at
../libinterp/octave-value/ov-cell.cc:1274
1274      return ovl (Cell (dims));
(gdb) p dims
$1 = {rep = 0x6030014efcd0}
(gdb) p dims->rep
$2 = (octave_idx_type *) 0x6030014efcd0
(gdb) p *(dims->rep)
$3 = 9223372036854775807


Is "dims" a scalar with a very large value? Or am I mis-interpreting the
variables?




    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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