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

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

nglam
Beginner
2,112 Views
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 Kudos
3 Replies
Arjen_Markus
Honored Contributor I
2,112 Views
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 Kudos
mecej4
Honored Contributor III
2,112 Views
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 Kudos
nglam
Beginner
2,112 Views
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 Kudos
Reply