Hello Raphael,
2014-10-09 19:29 GMT+02:00 Raphael Mack <address@hidden>:
last days I digged into the code to understand what eiffeldoc currently
fails and in my eyes it turns out to be GC related.
Great! I know there are problems with the GC but I never could pinpoint
them. New eyes are a boon.
I guess it is the same problem, why eiffeltest recently failed. Locally I
tried also with the SmartEiffel GC (which I somehow don't want see dying)
(neither do I)
and it seems to be the very same problem also. Some object only referenced
by a weak reference is collected and accessed afterwards. The interesting
thing is that it happens with both collectors. On 32 bit systems it somehow
looks different but still doesn't work (maybe we see a another bug there).
So my question is whether you remember some "recent" change in the weak
reference handling (maybe related to threading) or a date, when these
"random" faults started - We already saw these topics before you started to
integrate BDW. What is your feeling? Was this the same problem back then?
I think so. The problem is quite old; maybe even before LibertyEiffel (I
don't remember).
How important/heavily used are weak references? - Could we easily
(temporary) remove their use from the core tools?
The weak references are used to allow to free memory when the GC is in
used. It is used quite a lot in the core libs to ensure that they work as
well with and without GC, without wasting memory (no GC), and without
memory retention (with GC).
I am not sure how easy it would be to remove them.
How stable have the weak references been in the HEAD of SmartEiffel repo?
Actually I don't remember. I guess we should checkout the repo and check.
Cheers,
Cyril