On Tue, 25 May 2010, Bee Jay wrote:

On 25 Mei 2010, at 17:36, Michael Van Canneyt wrote:

Here I can reliably reproduce the memory corruption. It crashes the output
regularly. (with random use, it happens 10-15 times a day, in a test 
enviromnent).

Would you share the test code?

Unfortunately I can't; it's an internal app :/

(and would take very long to set up since it needs a complicated database)


The bug is in the garbage collector, which attempts to free objects that have 
already been freed, but were not removed from the garbage collector list.

Again, which part of the code?

I checked, but I can't show that any more; the garbage collector was reworked
completely it seems. I have not tried with the latest version, and since I switched to fcl-web anyway, there is no point any more in using ExtPascal.

But maybe the new garbage collector no longer has the problem; in that case,
my remarks are void.


I know that the garbage collector was reworked, but the correct
implementation would have been to remove the garbage collector
altogether and use TComponent decsendents instead.

Because the high demand of it, some of us could convince Wanderlan that it 
would make ExtPascal better in the long run. Wanderlan is considering to do 
exactly that. See... ;)

Glad to hear that. Tell him he should also get rid of the one-thread-per-session
model, because it is simply not correct in many circumstances. It is visible
in the use of threadvars.

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to