[Ecls-list] Threaded MSVC broken.
Samium Gromoff
_deepfire at feelingofgreen.ru
Wed Jun 25 14:14:03 UTC 2008
From: "Juan Jose Garcia-Ripoll" <juanjose.garciaripoll at googlemail.com>
> Hi Samium,
>
> sorry for the delay. It will take me some time to get back to the
> multithreaded MSVC build, but thanks for the information. The fact
> that the signal is produced in the garbage collector is no good
> symptom -- may be that the garbage collector is running out of memory.
Okay, I think I've got the gist of it:
DllMain()
GC_init()
GC_init_inner(), sets GC_all_inferior_pointers to 1
GC_init_bl(), does its init according to GC_a_i_p being 1
....
main()
cl_boot()
init_alloc(), sets GC_all_inferior_pointers to 0
GC_init()
GC_init_inner(), sees GC_is_initialised, bails out
... GC_init_bl() is never called again ...
.... a part of GC is left configured with GC_a_i_p set to 0
some code (in the init_threads()) calls cl_alloc(), trips up...
Now, question is who gets to call GC_init() -- DllMain() or cl_boot()...
regards, Samium Gromoff
More information about the ecl-devel
mailing list