Re: segfaults building documentation when machine under load

"Dmitri A. Sergatskov" <[email protected]>
Newsgroups gmane.comp.gnu.octave.maintainers
Message-ID <CAO+XyQLcNZg0nLgJJv8EjS85gkgoa-AhWkmaJ8zZ=V8AW-xG1w@mail.gmail.com>
On Tue, May 19, 2020 at 8:44 AM John W. Eaton <[email protected]> wrote:

> On 5/19/20 7:19 AM, Dmitri A. Sergatskov wrote:
> >
> >
> > On Tue, May 19, 2020 at 7:07 AM Andreas Weber <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> >     I'm not able to reproduce it with debugging symbols... but here is
> gdb
> >     without without symbols:
> >
> >
> > How do you run gdb with parallel?
>
> would enable core files (ulimit -c unlimited in bash) and run gdb on the
> core file resulting from the crash.
>
> Could you also try
>
>    (gdb) thread apply all bt
>
> to see whether that gives additional clues about the location and cause
> of the crash?
>
>
I cannot reproduce the crash with parallel. I am still getting some kind of
crash while building doc/.
With default compiler flags i get a coredump that appears completely
useless:

Stack trace of thread 3125:
                                              #0  0x000000000a70756f n/a
(n/a)
                                              #1  0x00007fa14eb3c9ae n/a
(/home/dima/src/octave/gcc_def/libgui/.libs/liboctgui.so.6.0.0)
                                              #2  0x00007ffd98e0b660 n/a
(n/a)

With "-O0 -ggdb3" no crash.
With "-O1 -ggdb3" or "-O2 -ggdb3" I do not get a coredump. The crash is
something like:

/bin/sh run-octave --norc --silent --no-history --path
/home/dima/src/octave/gcc_debug/../doc/interpreter/ --eval "splineimages
('doc/interpreter/', 'splinefit3', 'png');"
error: imwrite: invalid empty image
error: called from
    __imwrite__ at line 40 column 5
    imwrite at line 125 column 5
    print at line 755 column 13
    sparseimages at line 53 column 5
/bin/sh run-octave --norc --silent --no-history --path
/home/dima/src/octave/gcc_debug/../doc/interpreter/ --eval "splineimages
('doc/interpreter/', 'splinefit4', 'png');"
/bin/sh run-octave --norc --silent --no-history --path
/home/dima/src/octave/gcc_debug/../doc/interpreter/ --eval "splineimages
('doc/interpreter/', 'splinefit6', 'png');"
make[2]: *** [Makefile:31328: doc/interpreter/gplot.png] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/dima/src/octave/gcc_debug'
make[1]: *** [Makefile:27418: all-recursive] Error 1
make[1]: Leaving directory '/home/dima/src/octave/gcc_debug'
make: *** [Makefile:11053: all] Error 2

the actual input file would be different from run to run, e.g. it could be:
/bin/sh run-octave --norc --silent --no-history --path
/home/dima/src/octave/gcc_debug/../doc/interpreter/ --eval "geometryimages
('doc/interpreter/', 'inpolygon', 'png');"
error: imwrite: invalid empty image
error: called from
    __imwrite__ at line 40 column 5
    imwrite at line 125 column 5
    print at line 755 column 13
    geometryimages at line 70 column 5
/bin/sh run-octave --norc --silent --no-history --path
/home/dima/src/octave/gcc_debug/../doc/interpreter/ --eval "interpimages
('doc/interpreter/', 'interpft', 'png');"
/bin/sh run-octave --norc --silent --no-history --path
/home/dima/src/octave/gcc_debug/../doc/interpreter/ --eval "interpimages
('doc/interpreter/', 'interpn', 'png');"
/bin/sh run-octave --norc --silent --no-history --path
/home/dima/src/octave/gcc_debug/../doc/interpreter/ --eval "interpimages
('doc/interpreter/', 'interpderiv1', 'png');"
make[2]: *** [Makefile:31198: doc/interpreter/triplot.png] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/dima/src/octave/gcc_debug'
make[1]: *** [Makefile:27418: all-recursive] Error 1
make[1]: Leaving directory '/home/dima/src/octave/gcc_debug'
make: *** [Makefile:11053: all] Error 2



> jwe
>

Dmitri.
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.