* okay via Gcc-help: > #0 0x00007faad574d2a7 in raise () from /lib64/libc.so.6 > #1 0x00007faad574e67a in abort () from /lib64/libc.so.6 > #2 0x00007faad578c4f4 in __libc_message () from /lib64/libc.so.6 > #3 0x00007faad5791966 in malloc_printerr () from /lib64/libc.so.6 > #4 0x00007faad5791d02 in malloc_consolidate () from /lib64/libc.so.6 > #5 0x00007faad5792753 in _int_free () from /lib64/libc.so.6 > #6 0x00007faad5782bb9 in fclose@@GLIBC_2.2.5 () from /lib64/libc.so.6 > > From the above core stack, because i can't see the parameter(file pointer, abbrv fp) value of fclose at frame 6, so fp exists the following possible condition: > 1) fp is NULL > 2) fp is changed during running time > 3) call fclose(fp) twice continuously > 4) others reason haven't guessed. > > So i want to ask what's the possible condition can cause the above core? It can also be the result of some form of heap corruption, say after a heap buffer overflow. Thanks, Florian