Closed LisaAlmarode closed 3 years ago
Martin and I ran into an issue that sounds like what you hit. There is a situation where RSR can deadlock due to an interaction w/ Ephemeron finalization. The deadlock occurs in a critical section which is growing a Dictionary. The Dictionary growth is enough to trigger the GC causing the issue. There is a ticket over in the RSR project to work around this problem. See: https://github.com/GemTalk/RemoteServiceReplication/issues/108
Note, the only limit on size of collection should be memory. RSR doesn't have an explicit upper-bound on size of an object.
If this was the Ephemeron deadlock (which seems likely), Allen merged the prerequisite fix to the base today -- http://kermit.gemtalksystems.com/bug?bug=49415. RSR work is still needed, as Kurt indicated.
I think this is fixed, at least I can inspect a 10000-element Array in the debugger without problem. Please re-open if the GroverCollection example still fails.
I tested with this code:
| array |
array := (1 to: 1000) collect: [:index | 'Element ' , index printString ].
^ array at: 0.
I put a halt in a method, and then attempted to examine the collection. When I click on the little arrows of any of the far left objects, nothing happens. I believe it's trying to do something. There are 244 objects in the collection.
I wait for a few minutes, then log out, and I get a Broken Promise exception which (sounds very sad).