Fri 30 Sep 2016 10:30:05 PM UTC, original submission:
I'm working on building octave with the Intel compiler. Configured with:
./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/opt/intel-2016/octave-4.2.0 --exec-prefix=/opt/intel-2016/octave-4.2.0 --bindir=/opt/intel-2016/octave-4.2.0/bin --sbindir=/opt/intel-2016/octave-4.2.0/sbin --sysconfdir=/opt/intel-2016/octave-4.2.0/etc --datadir=/opt/intel-2016/octave-4.2.0/share --includedir=/opt/intel-2016/octave-4.2.0/include --libdir=/opt/intel-2016/octave-4.2.0/lib64 --libexecdir=/opt/intel-2016/octave-4.2.0/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/opt/intel-2016/octave-4.2.0/share/man --infodir=/opt/intel-2016/octave-4.2.0/share/info --enable-shared --disable-static --enable-64=no --enable-fortran-calling-convention=gfortran --enable-float-truncate --disable-silent-rules '--with-blas=-L/opt/intel/compilers_and_libraries_2016.4.258/linux/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -liomp5 -lpthread -lm -ldl' '--with-lapack=-L/opt/intel/compilers_and_libraries_2016.4.258/linux/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -liomp5 -lpthread -lm -ldl' --with-java-libdir=/usr/lib/jvm/jre/lib/amd64/server --with-qrupdate --with-amd --with-umfpack --with-colamd --with-ccolamd --with-cholmod --with-cxsparse --disable-jit
$ ../run-octave -valgrind --norc --silent --no-history --no-gui
==15228== Memcheck, a memory error detector
==15228== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==15228== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
....
==15228==
octave:1> test inv
- Error in `/export/home/orion/fedora/octave/octave-4.2.0-rc2/src/.libs/lt-octave-gui': free(): invalid next size (fast): 0x00002b19185d8ef0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7d053)[0x2b18f7a9c053]
/export/home/orion/fedora/octave/octave-4.2.0-rc2/libgui/.libs/liboctgui.so.2(_ZN5ArrayIdED1Ev+0x4c)[0x2b18e32eea9c]
Something is getting corrupted but valgrind doesn't help nor does gdb shed much light.
(gdb) bt
#0 0x00002aaabf5a45f7 in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00002aaabf5a5ce8 in __GI_abort () at abort.c:90
#2 0x00002aaabf5e4327 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x2aaabf6ee488 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:196
#3 0x00002aaabf5ec053 in _int_free (ar_ptr=0x2aaae0000020, ptr=<optimized out>, str=0x2aaabf6ee4d0 "free(): invalid next size (fast)", action=3) at malloc.c:5022
#4 0x00002aaabf5ec053 in _int_free (av=0x2aaae0000020, p=<optimized out>, have_lock=0)
at malloc.c:3842
#5 0x00002aaaaae3ea9c in Array<double>::~Array() (this=<optimized out>)
at ./liboctave/array/Array.h:170
#6 0x00002aaaaae3ea9c in Array<double>::~Array() (this=0x1738)
at ./liboctave/array/Array.h:306
#7 0x00002aaaaf7c157b in Matrix::finverse(MatrixType&, int&, double&, bool, bool) const (this=0x2aaadb142498, mattype=..., info=@0x2aaadb142900: 0, rcon=@0x2aaadb142920: 0.047619047619047623, force=true, calc_cond=true) at liboctave/array/dMatrix.cc:600
#8 0x00002aaaaf7c075a in _ZNK6Matrix7inverseER10MatrixTypeRiRdbb.A (this=<optimized out>)
at liboctave/array/dMatrix.cc:633
#9 0x00002aaaaf7c075a in _ZNK6Matrix7inverseER10MatrixTypeRiRdbb.A (this=<optimized out>)
at liboctave/array/dim-vector.h:292
#10 0x00002aaaaf7c075a in _ZNK6Matrix7inverseER10MatrixTypeRiRdbb.A (this=<optimized out>)
at liboctave/array/Array.h:307
#11 0x00002aaaaf7c075a in _ZNK6Matrix7inverseER10MatrixTypeRiRdbb.A (this=<optimized out>)
at liboctave/array/Array.h:303
#12 0x00002aaaaf7c075a in _ZNK6Matrix7inverseER10MatrixTypeRiRdbb.A (this=<optimized out>)
at liboctave/array/MArray.h:83
#13 0x00002aaaaf7c075a in _ZNK6Matrix7inverseER10MatrixTypeRiRdbb.A (this=<optimized out>)
at liboctave/array/MArray.h:83
#14 0x00002aaaaf7c075a in _ZNK6Matrix7inverseER10MatrixTypeRiRdbb.A (this=<optimized out>)
at liboctave/array/dNDArray.h:38
#15 0x00002aaaaf7c075a in _ZNK6Matrix7inverseER10MatrixTypeRiRdbb.A (this=<optimized out>)
at liboctave/array/dNDArray.h:38
#16 0x00002aaaaf7c075a in _ZNK6Matrix7inverseER10MatrixTypeRiRdbb.A (this=<optimized out>)
at liboctave/array/dMatrix.h:39
#17 0x00002aaaaf7c075a in _ZNK6Matrix7inverseER10MatrixTypeRiRdbb.A (this=0x174a, mattype=..., info=@0xffffffffffffffff: <error reading variable>, rcon=@0x0: <error reading variable>, force=12, calc_cond=true) at liboctave/array/dMatrix.cc:626
#18 0x00002aaaad124949 in Finv(octave_value_list const&, int) (args=..., nargout=6)
at libinterp/corefcn/inv.cc:154
#19 0x00002aaaabe9c54c in octave_builtin::do_multi_index_op(int, octave_value_list const&, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, nargout=6, args=..., lvalue_list=0x0) at libinterp/octave-value/ov-builtin.cc:126
#20 0x00002aaaabe9a8a5 in octave_builtin::subsref(std::string const&, std::list<octave_value_list, std::allocator<octave_value_list> > const&, int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, type=<error reading variable: Cannot access memory at address 0x6>, idx=<error reading variable: Cannot access memory at address 0xffffffffffffffff>, nargout=0, lvalue_list=0xc) at libinterp/octave-value/ov-builtin.cc:65
#21 0x00002aaaabe9da75 in octave_builtin::subsref(std::string const&, std::list<octave_value_list, std::allocator<octave_value_list> > const&) (this=0x174a, type=<error reading variable: Cannot access memory at address 0x6>, idx=<error reading variable: Cannot access memory at address 0xffffffffffffffff>) at libinterp/octave-value/ov-builtin.h:64
#22 0x00002aaaac2f4a84 in _ZN12octave_value7subsrefERKSsRKSt4listI17octave_value_listSaIS3_EEi.A (this=0x174a, type=<error reading variable: Cannot access memory at address 0x6>, idx=<error reading variable: Cannot access memory at address 0xffffffffffffffff>, nargout=0)
at libinterp/octave-value/ov.cc:1445
#23 0x00002aaaac81db4a in tree_index_expression::rvalue(int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, nargout=6, lvalue_list=0xffffffffffffffff)
at libinterp/parse-tree/pt-idx.cc:428
#24 0x00002aaaac81cbd1 in tree_index_expression::rvalue1(int) (this=0x174a, nargout=6)
at libinterp/parse-tree/pt-idx.cc:461
#25 0x00002aaaac7e00ba in tree_argument_list::convert_to_const_vector(octave_value const*) (this=0x174a, object=0x6) at libinterp/parse-tree/pt-arg-list.cc:247
#26 0x00002aaaac81d0c8 in tree_index_expression::rvalue(int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, nargout=6, lvalue_list=0xffffffffffffffff)
at libinterp/parse-tree/pt-idx.cc:313
#27 0x00002aaaac81cbd1 in tree_index_expression::rvalue1(int) (this=0x174a, nargout=6)
at libinterp/parse-tree/pt-idx.cc:461
#28 0x00002aaaac804fd4 in octave::tree_evaluator::visit_statement(tree_statement&) (this=0x1738,---Type <return> to continue, or q <return> to quit---
stmt=...) at libinterp/parse-tree/pt-eval.cc:692
#29 0x00002aaaac805215 in octave::tree_evaluator::visit_statement_list(tree_statement_list&) (this=0x1738, lst=...) at libinterp/parse-tree/pt-eval.cc:734
#30 0x00002aaaac2cdd6f in octave_user_function::do_multi_index_op(int, octave_value_list const&, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, nargout=6, _args=..., lvalue_list=0x0) at libinterp/octave-value/ov-usr-fcn.cc:610
#31 0x00002aaaac2cbeb5 in octave_user_function::subsref(std::string const&, std::list<octave_value_list, std::allocator<octave_value_list> > const&, int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, type=<error reading variable: Cannot access memory at address 0x6>, idx=<error reading variable: Cannot access memory at address 0xffffffffffffffff>, nargout=0, lvalue_list=0xc) at libinterp/octave-value/ov-usr-fcn.cc:431
#32 0x00002aaaac2f4cbd in _ZN12octave_value7subsrefERKSsRKSt4listI17octave_value_listSaIS3_EEi.A (this=<optimized out>) at libinterp/octave-value/ov.cc:1447
#33 0x00002aaaac2f4cbd in _ZN12octave_value7subsrefERKSsRKSt4listI17octave_value_listSaIS3_EEi.A (this=0x174a, type=<error reading variable: Cannot access memory at address 0x6>, idx=<error reading variable: Cannot access memory at address 0xffffffffffffffff>, nargout=0)
at libinterp/octave-value/ov.cc:1445
#34 0x00002aaaac81db4a in tree_index_expression::rvalue(int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, nargout=6, lvalue_list=0xffffffffffffffff)
at libinterp/parse-tree/pt-idx.cc:428
#35 0x00002aaaac7c8d6e in eval_string(std::string const&, bool, int&, int) (eval_str=<error reading variable: Cannot access memory at address 0x174a>, silent=6, parse_status=@0xffffffffffffffff: <error reading variable>, nargout=0) at libinterp/parse-tree/oct-parse.yy:4994
#36 0x00002aaaac7cc30f in Feval(octave_value_list const&, int) (arg=..., silent=<optimized out>, parse_status=<optimized out>, nargout=<optimized out>)
at libinterp/parse-tree/oct-parse.yy:5040
#37 0x00002aaaac7cc30f in Feval(octave_value_list const&, int) (args=..., nargout=6)
at libinterp/parse-tree/oct-parse.yy:5116
#38 0x00002aaaabe9c54c in octave_builtin::do_multi_index_op(int, octave_value_list const&, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, nargout=6, args=..., lvalue_list=0x0) at libinterp/octave-value/ov-builtin.cc:126
#39 0x00002aaaabe9a8a5 in octave_builtin::subsref(std::string const&, std::list<octave_value_list, std::allocator<octave_value_list> > const&, int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, type=<error reading variable: Cannot access memory at address 0x6>, idx=<error reading variable: Cannot access memory at address 0xffffffffffffffff>, nargout=0, lvalue_list=0xc) at libinterp/octave-value/ov-builtin.cc:65
#40 0x00002aaaac2f4cbd in _ZN12octave_value7subsrefERKSsRKSt4listI17octave_value_listSaIS3_EEi.A (this=<optimized out>) at libinterp/octave-value/ov.cc:1447
#41 0x00002aaaac2f4cbd in _ZN12octave_value7subsrefERKSsRKSt4listI17octave_value_listSaIS3_EEi.A (this=0x174a, type=<error reading variable: Cannot access memory at address 0x6>, idx=<error reading variable: Cannot access memory at address 0xffffffffffffffff>, nargout=0)
at libinterp/octave-value/ov.cc:1445
#42 0x00002aaaac81db4a in tree_index_expression::rvalue(int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, nargout=6, lvalue_list=0xffffffffffffffff)
at libinterp/parse-tree/pt-idx.cc:428
#43 0x00002aaaac81cbd1 in tree_index_expression::rvalue1(int) (this=0x174a, nargout=6)
at libinterp/parse-tree/pt-idx.cc:461
#44 0x00002aaaac804fd4 in octave::tree_evaluator::visit_statement(tree_statement&) (this=0x1738, stmt=...) at libinterp/parse-tree/pt-eval.cc:692
#45 0x00002aaaac805215 in octave::tree_evaluator::visit_statement_list(tree_statement_list&) (this=0x1738, lst=...) at libinterp/parse-tree/pt-eval.cc:734
#46 0x00002aaaac804f1c in octave::tree_evaluator::visit_statement(tree_statement&) (this=0x1738, stmt=...) at libinterp/parse-tree/pt-eval.cc:666
#47 0x00002aaaac805215 in octave::tree_evaluator::visit_statement_list(tree_statement_list&) (this=0x1738, lst=...) at libinterp/parse-tree/pt-eval.cc:734
#48 0x00002aaaac80552d in octave::tree_evaluator::visit_try_catch_command(tree_try_catch_command&) (this=0x1738, cmd=...) at libinterp/parse-tree/pt-eval.cc:841
#49 0x00002aaaac804f1c in octave::tree_evaluator::visit_statement(tree_statement&) (this=0x1738, stmt=...) at libinterp/parse-tree/pt-eval.cc:666
#50 0x00002aaaac805215 in octave::tree_evaluator::visit_statement_list(tree_statement_list&) (this=0x1738, lst=...) at libinterp/parse-tree/pt-eval.cc:734
#51 0x00002aaaac804f1c in octave::tree_evaluator::visit_statement(tree_statement&) (this=0x1738, stmt=...) at libinterp/parse-tree/pt-eval.cc:666
#52 0x00002aaaac805215 in octave::tree_evaluator::visit_statement_list(tree_statement_list&) (this=0x1738, lst=...) at libinterp/parse-tree/pt-eval.cc:734
#53 0x00002aaaac807320 in octave::tree_evaluator::visit_unwind_protect_command(tree_unwind_protect_command&) (this=0x1738, cmd=...) at libinterp/parse-tree/pt-eval.cc:974
#54 0x00002aaaac804f1c in octave::tree_evaluator::visit_statement(tree_statement&) (this=0x1738,---Type <return> to continue, or q <return> to quit---
stmt=...) at libinterp/parse-tree/pt-eval.cc:666
#55 0x00002aaaac805215 in octave::tree_evaluator::visit_statement_list(tree_statement_list&) (this=0x1738, lst=...) at libinterp/parse-tree/pt-eval.cc:734
#56 0x00002aaaac7fff7b in octave::tree_evaluator::visit_simple_for_command(tree_simple_for_command&) (this=0x1738, cmd=...) at libinterp/parse-tree/pt-eval.cc:311
#57 0x00002aaaac804f1c in octave::tree_evaluator::visit_statement(tree_statement&) (this=0x1738, stmt=...) at libinterp/parse-tree/pt-eval.cc:666
#58 0x00002aaaac805215 in octave::tree_evaluator::visit_statement_list(tree_statement_list&) (this=0x1738, lst=...) at libinterp/parse-tree/pt-eval.cc:734
#59 0x00002aaaac2cdd6f in octave_user_function::do_multi_index_op(int, octave_value_list const&, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, nargout=6, _args=..., lvalue_list=0x0) at libinterp/octave-value/ov-usr-fcn.cc:610
#60 0x00002aaaac2cbeb5 in octave_user_function::subsref(std::string const&, std::list<octave_value_list, std::allocator<octave_value_list> > const&, int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, type=<error reading variable: Cannot access memory at address 0x6>, idx=<error reading variable: Cannot access memory at address 0xffffffffffffffff>, nargout=0, lvalue_list=0xc) at libinterp/octave-value/ov-usr-fcn.cc:431
#61 0x00002aaaac2f4cbd in _ZN12octave_value7subsrefERKSsRKSt4listI17octave_value_listSaIS3_EEi.A (this=<optimized out>) at libinterp/octave-value/ov.cc:1447
#62 0x00002aaaac2f4cbd in _ZN12octave_value7subsrefERKSsRKSt4listI17octave_value_listSaIS3_EEi.A (this=0x174a, type=<error reading variable: Cannot access memory at address 0x6>, idx=<error reading variable: Cannot access memory at address 0xffffffffffffffff>, nargout=0)
at libinterp/octave-value/ov.cc:1445
#63 0x00002aaaac81db4a in tree_index_expression::rvalue(int, std::list<octave_lvalue, std::allocator<octave_lvalue> > const*) (this=0x174a, nargout=6, lvalue_list=0xffffffffffffffff)
at libinterp/parse-tree/pt-idx.cc:428
#64 0x00002aaaac81cbd1 in tree_index_expression::rvalue1(int) (this=0x174a, nargout=6)
at libinterp/parse-tree/pt-idx.cc:461
#65 0x00002aaaac804fd4 in octave::tree_evaluator::visit_statement(tree_statement&) (this=0x1738, stmt=...) at libinterp/parse-tree/pt-eval.cc:692
#66 0x00002aaaac805215 in octave::tree_evaluator::visit_statement_list(tree_statement_list&) (this=0x1738, lst=...) at libinterp/parse-tree/pt-eval.cc:734
#67 0x00002aaaad12d639 in _ZN6octave11interpreter9main_loopEv.A ()
at libinterp/corefcn/interpreter.cc:889
#68 0x00002aaaad12d639 in _ZN6octave11interpreter9main_loopEv.A (this=0x1738)
at libinterp/corefcn/interpreter.cc:880
#69 0x00002aaaad12a45f in octave::interpreter::execute() (this=0x1738)
at libinterp/corefcn/interpreter.cc:756
#70 0x00002aaaaadebe80 in octave_interpreter::execute() (this=0x1738)
at libgui/src/octave-interpreter.cc:50
#71 0x00002aaab3b5141e in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#72 0x00002aaab2e5dbec in QApplicationPrivate::notify_helper(QObject, QEvent) ()
at /lib64/libQt5Widgets.so.5
#73 0x00002aaab2e625b2 in QApplication::notify(QObject, QEvent) ()
at /lib64/libQt5Widgets.so.5
#74 0x00002aaab3b27d86 in QCoreApplication::notifyInternal2(QObject, QEvent) ()
at /lib64/libQt5Core.so.5
#75 0x00002aaab3b29fca in QCoreApplicationPrivate::sendPostedEvents(QObject, int, QThreadData) () at /lib64/libQt5Core.so.5
#76 0x00002aaab3b75823 in postEventSourceDispatch(_GSource, int ()(void), void) ()
at /lib64/libQt5Core.so.5
#77 0x00002aaac0c597aa in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#78 0x00002aaac0c59af8 in g_main_context_iterate.isra.24 () at /lib64/libglib-2.0.so.0
#79 0x00002aaac0c59bac in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#80 0x00002aaab3b750bb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#81 0x00002aaab3b268eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib64/libQt5Core.so.5
#82 0x00002aaab39811e8 in QThread::exec() () at /lib64/libQt5Core.so.5
#83 0x00002aaab398591d in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#84 0x00002aaabe732dc5 in start_thread (arg=0x2aaadb147700) at pthread_create.c:308
Python Exception <type 'exceptions.RuntimeError'> Cannot locate object file for block.:
#85 0x00002aaabf665ced in clone
|