Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29246 Discussions

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

nglam
Débutant
3 115 Visites
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 Compliments
3 Réponses
Arjen_Markus
Contributeur émérite II
3 115 Visites
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
0 Compliments
mecej4
Contributeur émérite III
3 115 Visites
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.
0 Compliments
nglam
Débutant
3 115 Visites
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
0 Compliments
Répondre