Forse lo hai già chiuso e qui lo stai chiudendo di nuovo.
Il backtrace comunque non ha nulla di speciale: anche se per la maggior parte degli indirizzi non è riportata la procedura relativa, si può fare un "educated guess" a proposito:
codice:======= Backtrace: ========= /lib/tls/i686/cmov/libc.so.6[0x32cff1] <-- altro helper di free /lib/tls/i686/cmov/libc.so.6[0x32e6f2] <-- helper di free /lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0x3317cd] <-- free per liberare la memoria relativa alle strutture a cui punta il FILE * /lib/tls/i686/cmov/libc.so.6(fclose+0x14a)[0x31d50a] <-- fclose ./interpolation[0x804883a] <-- tua procedura (o al massimo stub della CRT per fclose, ma è improbabile vista la vicinanza di indirizzo alla precedente) ./interpolation[0x804875a] <-- tua procedura ./interpolation[0x804933d] <-- main /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x2d8b56] <-- codice di inizializzazione della CRT ./interpolation[0x8048691] <-- entrypoint dell'eseguibile