I dare say, I would consider elevating this, especially as it's a feature being used by an end user and is pretty serious if a multi-threaded program can sometimes freeze due to a race hazard.
Unfortunately, I don't use threads enough to know for sure how the underlying classes work, otherwise I'd take it on myself. Gareth aka. Kit On Fri 15/02/19 11:52 , "Luca Olivetti" [email protected] sent: El 6/2/19 a les 18:51, Sven Barth via fpc-devel ha escrit: > > Would you nevertheless try with 3.2, please? Just in case it happens to > be the problem I had fixed in regards to Queue(). > With fpc from the fixes_3_2 branch, revision 41310, and lazarus from the fixes_2_0 branch revision 60414 it has been running for hours with no issue. Mind me, that's not an absolute guarantee that it's working: I had the same program compiled with fpc 3.0.4/lazarus 1.8.4 running all night without triggering the issue, then I tried to introduce some randomness in the companion test program (that simulates an hardware I/O module I use in the field) and I could trigger it in a few minutes. However, even if it's really fixed, I'm still worried: the changes in the threading code should only be relevant for Queue, not for Synchronize. I hope it's not just luck and there are fixes in other areas of the compiler/rtl/lazarus that are affecting the outcome. Bye -- Luca _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel [1]">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel Links: ------ [1] http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
