bugGNU Octave - Bugs: bug #49235, test inv crashes when compiled...

 
 

bug #49235: test inv crashes when compiled with Intel compiler

Submitted by:  Orion Poplawski <opoplawski>
Submitted on:  Fri 30 Sep 2016 10:30:05 PM UTC  
 
Category: Octave FunctionSeverity: 3 - Normal
Priority: 3 - LowItem Group: Segfault, Bus Error, etc.
Status: FixedAssigned to: None
Originator Name: Open/Closed: Closed
Release: 4.2.0Operating System: GNU/Linux

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Fri 10 Nov 2017 05:54:07 AM UTC, comment #5:

No response. Closing report assuming Mike's fixes the problem.

Rik <rik5>
Project Administrator
Wed 13 Sep 2017 11:52:36 PM UTC, comment #4:

Thanks Darius, I confirmed your findings on the DGECON function and pushed a fix for the size of the work array on the default branch

https://hg.savannah.gnu.org/hgweb/octave/rev/bc0aa7e18c96

Please test and report back here whether this solves the problem you found. Does this also fix the original error with the Intel compiler?

Mike Miller <mtmiller>
Project Administrator
Fri 23 Jun 2017 03:15:23 AM UTC, comment #3:

I should mention that I compiled octave-4.2.1 using GCC 5.3.0, not the Intel compiler.

Dario Meluzzi <dariome>
Fri 23 Jun 2017 03:13:04 AM UTC, comment #2:

I encountered the same problem when running make check with octave-4.2.1 compiled on Ubuntu 14.04. Also running inv([1 2;3 4]) at the command line crashes the program with a similar stack trace. I investigated the problem and found the cause to be an insufficiently large work array passed to LAPACK subroutines dgecon and sgecon when they called in files liboctave/array/[df]Matrix.cc. In fact there are four calls to those subroutines in each of those files. Three of the calls pass a work array of the correct size, while the remaining call does not. As stated in the subroutine definitions (see for example https://fossies.org/linux/OpenBLAS/lapack-netlib/SRC/dgecon.f), the size of the work array must be 4N, where N is the order of the matrix, but the faulty calls pass an array of size 2N.
The fix is trivial.

diff octave-4.2.1-bugs/liboctave/array/dMatrix.cc octave-4.2.1/liboctave/array/dMatrix.cc
549c549
< lwork = (lwork < 2 nc ? 2nc : lwork);
---

> lwork = (lwork < 4 nc ? 4nc : lwork);

diff octave-4.2.1-bugs/liboctave/array/fMatrix.cc octave-4.2.1/liboctave/array/fMatrix.cc
555c555
< lwork = (lwork < 2 nc ? 2nc : lwork);
---

> lwork = (lwork < 4 nc ? 4nc : lwork);

(file #41029)

Dario Meluzzi <dariome>
Fri 30 Sep 2016 10:53:56 PM UTC, comment #1:

I had lots of problem with intel MKL (and AMD's ACML) in the past. Once GotoBLAS/OpenBLAS had came along i decided that
I could get a comparable performance and did not bother with
those any more...

Could you
1) LD_PRELOAD reference blas and repeat the test

2) If you have a gcc compiled octave, could you LD_PRELOAD
intel libraries and repeat the test?

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
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

Orion Poplawski <opoplawski>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #41029:  array.diff added by dariome (380B - application/octet-stream - how I fixed this bug)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by rik5 (Posted a comment)
  • -unavailable- added by dariome (Updated the item)
  • -unavailable- added by mtmiller (Updated the item)
  • -unavailable- added by dasergatskov (Posted a comment)
  • -unavailable- added by opoplawski (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 7 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 10 Nov 2017 05:54:07 AM UTCrik5StatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    Wed 13 Sep 2017 11:52:36 PM UTCmtmillerStatusNeed Info=>Ready For Test
    Fri 23 Jun 2017 03:13:04 AM UTCdariomeAttached File-=>Added array.diff, #41029
    Thu 17 Nov 2016 05:58:59 AM UTCmtmillerPriority5 - Normal=>3 - Low
      StatusNone=>Need Info
      Release4.2.0-rc2=>4.2.0

    Back to the top


    Powered by Savane 3.1-cleanup1