Hi Guille, On Tue, 2 Apr 2019 at 13:40, Guillermo Polito <[email protected]> wrote: > > Hi all, Esteban, > > In the last sprint with Pablo and Pierre we have detected several > misbehaviours with files. > The issue was particular reproducible when trying to run iceberg tests: the > VM kind of ran out of slots for opening files. The strangest thing is that > the leaks seemed to happen when deleting directories, so we had a look at the > changes done to iterate directories, get file attributes and so on. > > While on the FileReference code everything seemed ok, we have observerd with > `lsof` that still several directories remained open even after deleting them. > > Latest VM fixes this issue but contains another one related to Metal > rendering, which prevents rendering in OSX versions < than High Sierra. > > Tracking the issue a bit, this seems to be a bug in the FileAttributes plugin > that was fixed by this PR by alistair > (https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a838346b1a67712cc28298534dafbd0c26ea34fb). > > We have tested that particular commit > (a838346b1a67712cc28298534dafbd0c26ea34fb) and this one contains Alistair's > fixes but not yet the new rendering using Metal. We have been testing that VM > since yesterday and it seems stable, what do you think about marking it > stable for Pharo8? > > Regarding Pharo7, Pharo7's stable VM is the same as Pharo8's, so it contains > the same issue. However, since on the image side the code does not use the > problematic primitives, we do not think we need to change the VM for Pharo7 > (yet). However, there is seemingly a fix for directories containing blanks, > maybe Alistair can give us some input here? :)
Cyril has already reported this issue in Pharo 8, so I agree that an updated VM for Pharo 8 would be nice. As you say, this doesn't affect Pharo 7 (or earlier). There is another, similar, issue that does affect Pharo 7 and earlier: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/368 which is resolved by: commit e9fee6facb61c1163e820673bd8734b59a831535 Author: AlistairGrant <[email protected]> Date: Wed Feb 6 08:23:32 2019 +0100 FilePlugin: reopen the directory when jumping around In dir_Lookup, when jumping around, i.e. index ~= lastIndex+1, reopen the directory rather than rewinding. This is required as the open directory caches entries (at least with CIFS mounted file system), and if files are deleted between calls the wrong answer will be returned. Issue: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/368 This issue doesn't affect Pharo 8 since dir_Lookup() isn't used anymore. I'm only aware of this being reported once, and the issue has probably been there since 2010, or maybe even earlier. It is worthwhile being aware of it, but probably not enough to force a new VM for Pharo 7 immediately. Cheers, Alistair
