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

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

[Octave-bug-tracker] [bug #53604] ASAN new-delete-type-mismatch error af


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #53604] ASAN new-delete-type-mismatch error after "close all"
Date: Fri, 13 Apr 2018 01:45:11 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0

Follow-up Comment #8, bug #53604 (project octave):

OK, I'm compiling, configured with the option mentioned...

I noticed the following strange warning message during compilation:


  CXX      libgui/graphics/libgui_graphics_libgui_graphics_la-Container.lo
  CXX      libgui/graphics/libgui_graphics_libgui_graphics_la-ContextMenu.lo
In file included from ../octave/libgui/src/settings-dialog.cc:36:0:
libgui/src/ui-settings-dialog.h: In member function ‘void
Ui_settings_dialog::setupUi(QDialog*)’:
libgui/src/ui-settings-dialog.h:351:10: note: variable tracking size limit
exceeded with -fvar-tracking-assignments, retrying without
     void setupUi(QDialog *settings_dialog)
          ^~~~~~~
  CXX      libgui/graphics/libgui_graphics_libgui_graphics_la-EditControl.lo


Probably off topic, but I've had problems with settings, I think (just a
guess).  Sometimes when working on the GUI and doing a build, the first launch
after the build seems to take about 100% longer (which still isn't too long)
and will crash once in a while.  I launch Octave again, and it's fine.

Wup...here's another one:


  CXX      libgui/src/libgui_src_libgui_src_la-documentation.lo
  CXX      libgui/src/libgui_src_libgui_src_la-external-editor-interface.lo
src/mkoctfile.cc: In function ‘int main(int, char**)’:
src/mkoctfile.cc:455:1: note: variable tracking size limit exceeded with
-fvar-tracking-assignments, retrying without
 main (int argc, char **argv)
 ^~~~
  CXX      libgui/src/libgui_src_libgui_src_la-files-dock-widget.lo
  CXX      libgui/src/libgui_src_libgui_src_la-history-dock-widget.lo


Here's one last one:


  CXXLD    libgui/src/libgui-src.la
  CXXLD    libgui/graphics/libgui-graphics.la
libinterp/build-env-features.cc: In function ‘octave_scalar_map
octave::build_env::features()’:
libinterp/build-env-features.cc:15:5: note: variable tracking size limit
exceeded with -fvar-tracking-assignments, retrying without
     features (void)
     ^~~~~~~~
  DVIPS    doc/liboctave/liboctave.ps
  CXXLD    libinterp/corefcn/libcorefcn.la


Wow, and then there is a big long screen full of entries like the following:


Indirect leak of 1 byte(s) in 1 object(s) allocated from:
    #0 0x7f2fd3960618 in operator new[](unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0618)
    #1 0x7f2fd11b12a4 in Array<double>::ArrayRep::ArrayRep(long)
../octave/liboctave/array/Array.h:158
    #2 0x7f2fd11b12a4 in Array<double>::Array(dim_vector const&)
../octave/liboctave/array/Array.h:264
    #3 0x7f2fd11b12a4 in MArray<double>::MArray(dim_vector const&)
../octave/liboctave/array/MArray.h:73
    #4 0x7f2fd11b12a4 in NDArray::NDArray(dim_vector const&)
../octave/liboctave/array/dNDArray.h:43
    #5 0x7f2fd11b12a4 in Matrix::Matrix(long, long)
../octave/liboctave/array/dMatrix.h:62
    #6 0x7f2fd11b12a4 in Range::Range() ../octave/liboctave/array/Range.h:40
    #7 0x7f2fd11b12a4 in octave_range::register_type(octave::type_info&)
../octave/libinterp/octave-value/ov-range.h:56
    #8 0x7f2fd128de60 in install_types(octave::type_info&)
../octave/libinterp/octave-value/ov.cc:2904
    #9 0x7f2fd123e7bd in octave::type_info::type_info(int)
../octave/libinterp/octave-value/ov-typeinfo.cc:80
    #10 0x7f2fd203f4cc in
octave::interpreter::interpreter(octave::application*)
../octave/libinterp/corefcn/interpreter.cc:369
    #11 0x7f2fcff8a10f in octave::application::create_interpreter()
../octave/libinterp/octave.cc:314
    #12 0x7f2fd3125c03 in octave::octave_interpreter::execute()
../octave/libgui/src/main-window.cc:100
    #13 0x7f2fc9b37d11 in QObject::event(QEvent*)
(/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b9d11)
    #14 0x7f2fca88682b in QApplicationPrivate::notify_helper(QObject*,
QEvent*) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x15482b)


And a summary:


SUMMARY: AddressSanitizer: 212272 byte(s) leaked in 3488 allocation(s).


OK, so running from the GUI things are fine:


>> plot (1:10)
>> close all
>>


Ah, well there is this super long delay at exit and then address sanitizer
gives a long list similar to what I noted previously, then summarizes:
 

SUMMARY: AddressSanitizer: 4771115 byte(s) leaked in 64673 allocation(s).


So that list at build was probably from attempting to build the documentation
figures via Octave.  (Which crashed on the first figure...which I assume is
related to some of this.)

And running from CLI things look fine as well:


octave:1> plot (1:10)
octave:2> close all
octave:3> 
octave:3> exit
[big delay]
[big data dump]
SUMMARY: AddressSanitizer: 212272 byte(s) leaked in 3488 allocation(s).


In summary, no crash for the example with Qt 5.9.x.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?53604>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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