I noticed that many crash happen in testSendTimeout.
This test is organizing a race:
- Smalltalk fill the socket send buffer
- the OS tries to drain
The other thing I noticed is that [SocketTest suite run] takes 7 to 8s on macos while only 2 to 3s on ubuntu and windows
So it might be that some test times out on macos, while it doesn't on other OS.
This would explain that many crash also happen in JITted Timer loop, and that we cannot observe it in other OSes.
The access to OS ressources and the race may also explain some randomization of the crash...
So one idea would be to make the test timeout in linux too, see if we can make it crash then try using rr.
Maybe it's possible with a huge Socket buffer, a smaller image side buffer (we could reduce the size from 1000 to 1 so as to increase overhead).