Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29245 ディスカッション

malloc.c:4471: _int_malloc: Assertion `(bck->bk->size & 0x4) == 0' failed

nglam
ビギナー
3,113件の閲覧回数
Hi all,
My program crashed with only message:malloc.c:4471: _int_malloc: Assertion `(bck->bk->size & 0x4) == 0' failed
It was compiled with flags:-g -traceback -O3 -xHost -ipo -openmp
I searched that message with ifort but did not get any result. Anyone knows what it means?
Thanks,
Lam
0 件の賞賛
3 返答(返信)
Arjen_Markus
名誉コントリビューター II
3,113件の閲覧回数
The message comes from an internal check in the runtime library. That sort of things
indicates that something went wrong deep down the program. That is probably why
there is no traceback: it happened outside the influence of the Fortran runtime.

Is it repeatable? You are using OpenMP, so a measure of non-determinism is present.

What happens if you turn off optimisation or OpenMP?

Regards,

Arjen
mecej4
名誉コントリビューター III
3,113件の閲覧回数
That message is from the supporting C runtime library, in the C function malloc(), which is a memory allocator for uninitialized memory. The specific message says that some pointer in the code that exercises a memory allocation algorithm failed to satisfy an assumption/requirement that the pointer should be 4-byte-aligned (32-bit-aligned).

This is not an error caught in the Fortran runtime, and you should not expect to see it described in the Fortran documentation.
nglam
ビギナー
3,113件の閲覧回数
Thanks guys. I think I found the problem: allocating array(Nmax) but when asigning array(j) some values of j are bigger than Nmax.
Lam
返信