CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Bugs (
-   -   Error using fixedGradient patch (

sangoi87 September 7, 2011 09:32

Error using fixedGradient patch
Hi everyone,

I'm having troubles with a new solver. I built it without problems, and I ran it on a 2D mesh. For my program to work properly I have to use a fixedGradient patch. It gave me back this error:

*** glibc detected *** double free or corruption (out)

(followed by the usual memory map and backtrace...)

I tried to debug and I found that the error was generated by this instruction in fixedGradientfvPatchField.C:

this->patchInternalField() + gradient_/this->patch().deltaCoeffs()

This command recall the following operator from Field.C (line 653), and generate a memory error.

// This is dodgy stuff, don't try it at home.
Field* fieldPtr = rhs.ptr();
delete fieldPtr;

I'd like to implement the same command in an alternative way.
Does anyone know if there's a way to change this "dodgy stuff"?

Thanks to all,

sangoi87 September 8, 2011 10:14

fixedGradient error - update
Hi guys,

I've tried to solve my problem and I've discovered that the memory error is ought to this command in the List.C file (line 392):

delete[] this->v_;

The memory address at the end of the "**** glibc detected ****" message is the same pointed by this->v_.
I don't know why but deallocating this memory causes the solver to crash...

Any idea?


All times are GMT -4. The time now is 06:42.