Re: segfaults building documentation when machine under load

"Dmitri A. Sergatskov" <[email protected]>
Newsgroups gmane.comp.gnu.octave.maintainers
Message-ID <CAO+XyQLk-XfcLrf3_M-5=Z7qjrzNrq34f8A4qqpKqU97+7miaA@mail.gmail.com>
I compiled with thread sanitizer. It gives a lot of warnings just for
starting/stopping octave. If I run
TSAN_OPTIONS=second_deadlock_stack=1 ./run-octave --norc --silent
--no-history --eval 'figure (1, "visible", "off");' 2>tsan_plot.txt

A warnings that stands out is:
WARNING: ThreadSanitizer: data race (pid=24895)
  Atomic write of size 8 at 0x7b0800000e80 by main thread (mutexes: write
M103436625102881360):
    #0 __tsan_atomic64_fetch_add <null> (libtsan.so.0+0x6987d)
    #1 octave_atomic_increment ../liboctave/util/oct-atomic.c:41
(liboctave.so.8+0xd66884)
    #2 dim_vector::increment_count() ../liboctave/array/dim-vector.h:104
(liboctgui.so.6+0x20da84)
    #3 dim_vector::dim_vector() ../liboctave/array/dim-vector.h:271
(liboctgui.so.6+0x20dbe3)
    #4 Array<double>::Array() ../liboctave/array/Array.h:257
(liboctgui.so.6+0x20fe59)
    #5 MArray<double>::MArray() ../liboctave/array/MArray.h:72
(liboctgui.so.6+0x20f640)
    #6 NDArray::NDArray() <null> (liboctgui.so.6+0x20e142)
    #7 Matrix::Matrix() ../liboctave/array/dMatrix.h:62
(liboctgui.so.6+0x20e31e)
    #8 QtHandles::Figure::Figure(octave::base_qobject&,
octave::interpreter&, graphics_object const&, QtHandles::FigureWindow*)
../libgui/graphics/Figure.cc:137 (liboctgui.so.6+0x2305dd)
    #9 QtHandles::Figure::create(octave::base_qobject&,
octave::interpreter&, graphics_object const&)
../libgui/graphics/Figure.cc:116 (liboctgui.so.6+0x230155)
    #10 QtHandles::qt_graphics_toolkit::create_object(double)
../libgui/graphics/qt-graphics-toolkit.cc:405 (liboctgui.so.6+0x28ee58)
    #11 QtHandles::qt_graphics_toolkit::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**)
libgui/graphics/moc-qt-graphics-toolkit.cc:122 (liboctgui.so.6+0x29a2c4)
    #12 QObject::event(QEvent*) <null> (libQt5Core.so.5+0x27c935)
    #13 QCoreApplication::notifyInternal2(QObject*, QEvent*) <null>
(libQt5Core.so.5+0x252ec5)
    #14 octave::qt_application::execute()
../libgui/src/qt-application.cc:73 (liboctgui.so.6+0x366cb1)
    #15 main ../src/main-gui.cc:106 (lt-octave-gui+0x401c32)

  Previous read of size 8 at 0x7b0800000e80 by thread T6:
    #0 octave_atomic_increment ../liboctave/util/oct-atomic.c:43
(liboctave.so.8+0xd66890)
    #1 dim_vector::increment_count() ../liboctave/array/dim-vector.h:104
(liboctgui.so.6+0x20da84)
    #2 dim_vector::dim_vector() ../liboctave/array/dim-vector.h:271
(liboctgui.so.6+0x20dbe3)

<...>

the full tsan_plot.txt is attached.

Dmitri.
--
tsan_plot.txt.gz (application/gzip, 4.7 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.