pharo-vcs / iceberg

Iceberg is the main toolset for handling VCS in Pharo.
MIT License
133 stars 83 forks source link

iceberg keeps files open #1394

Open SabineMa opened 3 years ago

SabineMa commented 3 years ago

while looking for this issue: https://github.com/pharo-project/pharo/issues/7960 I detect, that iceberg keeps a lot of files open. This does not make problems currently but I think that this should not be.

Bildschirmfoto 2020-12-10 um 13 40 12

Pharo 8 on mac

Image

/Users/sabine/Documents/Pharo/images/Pharo 8.0 - 64bit (16)/Pharo 8.0 - 64bit (16).image Pharo8.0.0 Build information: Pharo-8.0.0+build.1124.sha.0932da82f08175e906b0e2a8052120c823374e9f (64 Bit) Unnamed

Image Commandline Parameters

none

Image Sources

SourceFileArray SourceFile(/Users/sabine/Documents/Pharo/images/Pharo 8.0 - 64bit (16)/Pharo8.0-32bit-0932da8.sources) SourceFile(/Users/sabine/Documents/Pharo/images/Pharo 8.0 - 64bit (16)/Pharo 8.0 - 64bit (16).changes)

Monticello Repositories

/Users/sabine/Documents/Pharo/images/Pharo 8.0 - 64bit (16)/pharo-local/package-cache github://pharo-vcs/tonel:v1.0.15 github://pharo-spec/Commander2:v2.1.x/src github://pharo-vcs/iceberg:v1.6.5 github://pharo-vcs/tonel:v1.0.13 github://pharo-vcs/libgit2-pharo-bindings:v1.5.8 filetree:///Users/Sabine/iceberg/spesenfuchsGitlabCom

Monticello Working Copies

AST-Core (tonel.1) AST-Core-Tests (tonel.1) AST-Core-Traits (tonel.1) AWS-CloudFront (CompatibleUserName.1590685357) AWS-Core (CompatibleUserName.1590685357) AWS-DynamoDB (CompatibleUserName.1590685357) AWS-ElasticTranscoder (CompatibleUserName.1590685357) AWS-S3 (CompatibleUserName.1590685357) AWS-SNS (CompatibleUserName.1590685357) AWS-STS (CompatibleUserName.1590685357) Alien-Core (tonel.1) Announcements-Core (tonel.1) Announcements-Core-Tests (tonel.1) Announcements-Help (tonel.1) Artefact-Core (CompatibleUserName.1545217264) Artefact-Examples (CompatibleUserName.1545217264) Artefact-Tests (CompatibleUserName.1545217264) Athens-Balloon (tonel.1) Athens-Cairo (tonel.1) Athens-Cairo-Tests (tonel.1) Athens-Core (tonel.1) Athens-Examples (tonel.1) Athens-Morphic (tonel.1) Athens-Text (tonel.1) Balloon (tonel.1) Balloon-Tests (tonel.1) BaselineOfAWS (CompatibleUserName.1590685357) BaselineOfArtefact (CompatibleUserName.1545217264) BaselineOfAthens (tonel.1) BaselineOfBaseLibraries (tonel.1) BaselineOfBasicTools (tonel.1) BaselineOfBeacon (tonel.1) BaselineOfBitmapCharacterSet (CompatibleUserName.1574013471) BaselineOfBlueInk (tonel.1) BaselineOfCalypso (tonel.1) BaselineOfCatalog (tonel.1) BaselineOfClap (tonel.1) BaselineOfClassAnnotation (tonel.1) BaselineOfClassParser (tonel.1) BaselineOfCommander (tonel.1) BaselineOfCommander2 (tonel.1) BaselineOfCryptography (CompatibleUserName.1562316564) BaselineOfDependencyAnalyzer (tonel.1) BaselineOfDisplay (tonel.1) BaselineOfDrTests (tonel.1) BaselineOfEnlumineurFormatter (tonel.1) BaselineOfEpicea (tonel.1) BaselineOfExceptionReport (CompatibleUserName.1541499885) BaselineOfFFICHeaderExtractor (CompatibleUserName.1607093886) BaselineOfFileLibraryHelper (CompatibleUserName.1570801779) BaselineOfFixedDecimal (CompatibleUserName.1545958497) BaselineOfFlashback (tonel.1) BaselineOfFuel (tonel.1) BaselineOfFuzzyMatcher (tonel.1) BaselineOfGeneralHelp (tonel.1) BaselineOfGeneralTests (tonel.1) BaselineOfGrease (CompatibleUserName.1596189679) BaselineOfIDE (tonel.1) BaselineOfIceberg (tonel.1) BaselineOfJSON (CompatibleUserName.1581717313) BaselineOfKernelTests (tonel.1) BaselineOfLibGit (cypress.1) BaselineOfMagritte (CompatibleUserName.1592506948) BaselineOfManifest (tonel.1) BaselineOfMaterialColors (CompatibleUserName.1540149114) BaselineOfMaterialDesignLite (CompatibleUserName.1596114643) BaselineOfMenuRegistration (tonel.1) BaselineOfMetacello (tonel.1) BaselineOfMisc (tonel.1) BaselineOfMongoTalk (CompatibleUserName.1595427374) BaselineOfMonticello (tonel.1) BaselineOfMorphic (tonel.1) BaselineOfMorphicCore (tonel.1) BaselineOfMustache (CompatibleUserName.1533910024) BaselineOfNeoCSV (CompatibleUserName.1601990061) BaselineOfNeoJSON (CompatibleUserName.1551110229) BaselineOfOSProcess (CompatibleUserName.1559260349) BaselineOfOSSubprocess (CompatibleUserName.1607374629) BaselineOfOSWindow (tonel.1) BaselineOfOrderPreservingDictionary (CompatibleUserName.1574013009) BaselineOfParametrizedTests (tonel.1) BaselineOfPharo (tonel.1) BaselineOfPharoBootstrap (tonel.1) BaselineOfPharoGT (tonel.1) BaselineOfPharoGlamour (tonel.1) BaselineOfPunycode (CompatibleUserName.1580142518) BaselineOfQA (tonel.1) BaselineOfQualityAssistant (tonel.1) BaselineOfRKA24 (cypress.1) BaselineOfRefactoring (tonel.1) BaselineOfRefactoring2 (tonel.1) BaselineOfReferenceFinder (tonel.1) BaselineOfReflectionMirrors (tonel.1) BaselineOfReflectivity (tonel.1) BaselineOfRing (tonel.1) BaselineOfSUnit (tonel.1) BaselineOfScheduler (CompatibleUserName.1590048997) BaselineOfSeaside3 (CompatibleUserName.1607253817) BaselineOfSeasideGenerationTester (CompatibleUserName.1570803885) BaselineOfShift (tonel.1) BaselineOfShout (tonel.1) BaselineOfSlot (tonel.1) BaselineOfSortFunctions (tonel.1) BaselineOfSpec (tonel.1) BaselineOfSpec2 (tonel.1) BaselineOfStylesheet (CompatibleUserName.1538671745) BaselineOfSystemCommands (tonel.1) BaselineOfTelePharoSupport (tonel.1) BaselineOfTonel (cypress.1) BaselineOfTraits (tonel.1) BaselineOfUI (tonel.1) BaselineOfUnicode (CompatibleUserName.1585749967) BaselineOfUnifiedFFI (tonel.1) BaselineOfUnits (CompatibleUserName.1540986418) BaselineOfVoyage (CompatibleUserName.1595430063) BaselineOfXMLParser (CompatibleUserName.1590047542) BaselineOfXMLWriter (CompatibleUserName.1574019376) BaselineOfZTimestamp (CompatibleUserName.1540753118) BaselineOfZincHTTPComponents (CompatibleUserName.1598033096) BaselineOfZodiac (tonel.1) Beacon-Core (tonel.1) Beacon-Core-Tests (tonel.1) BlueInk-Core (tonel.1) BlueInk-Extras (tonel.1) BlueInk-Tests (tonel.1) Calypso-Browser (tonel.1) Calypso-NavigationModel (tonel.1) Calypso-NavigationModel-Tests (tonel.1) Calypso-Ring (tonel.1) Calypso-SystemPlugins-ClassScripts-Browser (tonel.1) Calypso-SystemPlugins-ClassScripts-Queries (tonel.1) Calypso-SystemPlugins-ClassScripts-Queries-Tests (tonel.1) Calypso-SystemPlugins-Critic-Browser (tonel.1) Calypso-SystemPlugins-Critic-Queries (tonel.1) Calypso-SystemPlugins-Critic-Queries-Tests (tonel.1) Calypso-SystemPlugins-DependencyAnalyser-Browser (tonel.1) Calypso-SystemPlugins-Deprecation-Browser (tonel.1) Calypso-SystemPlugins-Deprecation-Queries (tonel.1) Calypso-SystemPlugins-Deprecation-Queries-Tests (tonel.1) Calypso-SystemPlugins-FFI-Browser (tonel.1) Calypso-SystemPlugins-FFI-Queries (tonel.1) Calypso-SystemPlugins-FFI-Queries-Tests (tonel.1) Calypso-SystemPlugins-FileOut-Browser (tonel.1) Calypso-SystemPlugins-FileOut-Queries (tonel.1) Calypso-SystemPlugins-Flags-Browser (tonel.1) Calypso-SystemPlugins-Flags-Queries (tonel.1) Calypso-SystemPlugins-Flags-Queries-Tests (tonel.1) Calypso-SystemPlugins-InheritanceAnalysis-Browser (tonel.1) Calypso-SystemPlugins-InheritanceAnalysis-Queries (tonel.1) Calypso-SystemPlugins-InheritanceAnalysis-Queries-Tests (tonel.1) Calypso-SystemPlugins-MethodDiffTool (tonel.1) Calypso-SystemPlugins-Monticello-Browser (tonel.1) Calypso-SystemPlugins-Monticello-Queries (tonel.1) Calypso-SystemPlugins-Reflectivity-Browser (tonel.1) Calypso-SystemPlugins-Reflectivity-Browser-Tests (tonel.1) Calypso-SystemPlugins-Reflectivity-Queries (tonel.1) Calypso-SystemPlugins-Reflectivity-Queries-Tests (tonel.1) Calypso-SystemPlugins-SUnit-Browser (tonel.1) Calypso-SystemPlugins-SUnit-Queries (tonel.1) Calypso-SystemPlugins-SUnit-Queries-Tests (tonel.1) Calypso-SystemPlugins-Spotter (tonel.1) Calypso-SystemPlugins-Traits-Browser (tonel.1) Calypso-SystemPlugins-Traits-Queries (tonel.1) Calypso-SystemPlugins-Traits-Queries-Tests (tonel.1) Calypso-SystemPlugins-Traits-Queries-Tests-PExtendingTrait (tonel.1) Calypso-SystemPlugins-Traits-Queries-Tests-PWithTraits (tonel.1) Calypso-SystemPlugins-Undeclared-Browser (tonel.1) Calypso-SystemPlugins-Undeclared-Queries (tonel.1) Calypso-SystemPlugins-Undeclared-Queries-Tests (tonel.1) Calypso-SystemQueries (tonel.1) Calypso-SystemQueries-Tests (tonel.1) Calypso-SystemQueries-Tests-P1WithHierarchy (tonel.1) Calypso-SystemQueries-Tests-P2WithSubclassFromP1 (tonel.1) Calypso-SystemQueries-Tests-P3WithSubclassFromP2 (tonel.1) Calypso-SystemQueries-Tests-P5WithTags (tonel.1) Calypso-SystemQueries-Tests-PExtendedByP1 (tonel.1) Calypso-SystemQueries-Tests-PExtendedByP5 (tonel.1) Calypso-SystemQueries-Tests-PWithSingleClass (tonel.1) Calypso-SystemTools-Core (tonel.1) Calypso-SystemTools-FullBrowser (tonel.1) Calypso-SystemTools-FullBrowser-Tests (tonel.1) Calypso-SystemTools-OldToolCompatibillity (tonel.1) Calypso-SystemTools-QueryBrowser (tonel.1) Calypso-SystemTools-QueryBrowser-Tests (tonel.1) Clap-CommandLine (tonel.1) Clap-Commands-Pharo (tonel.1) Clap-Core (tonel.1) Clap-Examples (tonel.1) Clap-Tests (tonel.1) ClassAnnotation (tonel.1) ClassAnnotation-Tests (tonel.1) ClassParser (tonel.1) ClassParser-Tests (tonel.1) CodeExport (tonel.1) CodeExport-Traits (tonel.1) CodeImport (tonel.1) CodeImport-Tests (tonel.1) CodeImport-Traits (tonel.1) CodeImportCommandLineHandlers (tonel.1)

Virtual Machine

/Users/sabine/Documents/Pharo/vms/80-x64/Pharo.app/Contents/MacOS/Pharo CoInterpreter VMMaker-CompatibleUserName.1580983506 uuid: 7aff73cb-5a2e-5002-a356-37de4e762a49 Feb 12 2020 StackToRegisterMappingCogit VMMaker-CompatibleUserName.1580983506 uuid: 7aff73cb-5a2e-5002-a356-37de4e762a49 Feb 12 2020 VM: 202002121007 https://github.com/pharo-project/opensmalltalk-vm.git Date: Wed Feb 12 11:07:12 2020 CommitHash: 2bd9e39 Plugins: 202002121007 https://github.com/pharo-project/opensmalltalk-vm.git

Mac OS X built on Feb 12 2020 10:23:42 UTC Compiler: 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31) VMMaker versionString VM: 202002121007 https://github.com/pharo-project/opensmalltalk-vm.git Date: Wed Feb 12 11:07:12 2020 CommitHash: 2bd9e39 Plugins: 202002121007 https://github.com/pharo-project/opensmalltalk-vm.git CoInterpreter VMMaker-CompatibleUserName.1580983506 uuid: 7aff73cb-5a2e-5002-a356-37de4e762a49 Feb 12 2020 StackToRegisterMappingCogit VMMaker-CompatibleUserName.1580983506 uuid: 7aff73cb-5a2e-5002-a356-37de4e762a49 Feb 12 2020

Virtual Machine Commandline Options

none

Loaded VM Modules

/Users/sabine/Documents/Pharo/vms/80-x64/Pharo.app/Contents/MacOS/Plugins/libgit2.dylib B2DPlugin VMMaker.oscog-eem.2480 (i) BitBltPlugin VMMaker.oscog-eem.2493 (i) DSAPrims CryptographyPlugins-eem.14 (i) FileAttributesPlugin FileAttributesPlugin.oscog-akg.49 (i) FilePlugin VMMaker.oscog-eem.2498 (i) FloatArrayPlugin VMMaker.oscog-eem.2480 (i) IA32ABI VMMaker.oscog-eem.2480 (i) JPEGReadWriter2Plugin VMMaker.oscog-eem.2493 (e) JPEGReaderPlugin VMMaker.oscog-eem.2480 (e) LargeIntegers v2.0 VMMaker.oscog-eem.2495 (i) LocalePlugin VMMaker.oscog-eem.2495 (e) Matrix2x3Plugin VMMaker.oscog-eem.2480 (i) MiscPrimitivePlugin VMMaker.oscog-eem.2480 (i) SecurityPlugin VMMaker.oscog-eem.2480 (i) SocketPlugin VMMaker.oscog-eem.2495 (i) SqueakFFIPrims SqueakSSL VMMaker.oscog-eem.2480 (e) SurfacePlugin Feb 12 2020 (e) UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-dtl.66 (i) ZipPlugin VMMaker.oscog-eem.2480 (i) libc.dylib libfreetype.dylib

VM Built-in Modules

ADPCMCodecPlugin VMMaker.oscog-eem.2480 (i) AioPlugin VMConstruction-Plugins-AioPlugin-eem.22 (i) AsynchFilePlugin VMMaker.oscog-eem.2493 (i) B2DPlugin VMMaker.oscog-eem.2480 (i) BMPReadWriterPlugin VMMaker.oscog-eem.2480 (i) BitBltPlugin VMMaker.oscog-eem.2493 (i) DSAPrims CryptographyPlugins-eem.14 (i) DropPlugin VMMaker.oscog-eem.2480 (i) FFTPlugin VMMaker.oscog-eem.2480 (i) FileAttributesPlugin FileAttributesPlugin.oscog-akg.49 (i) FilePlugin VMMaker.oscog-eem.2498 (i) FloatArrayPlugin VMMaker.oscog-eem.2480 (i) GeniePlugin v2.0 18 December 2018 VMMaker.oscog-eem.2493 (i) HostWindowPlugin VMMaker.oscog-eem.2493 (i) IA32ABI VMMaker.oscog-eem.2480 (i) LargeIntegers v2.0 VMMaker.oscog-eem.2495 (i) Matrix2x3Plugin VMMaker.oscog-eem.2480 (i) MiscPrimitivePlugin VMMaker.oscog-eem.2480 (i) SecurityPlugin VMMaker.oscog-eem.2480 (i) SocketPlugin VMMaker.oscog-eem.2495 (i) SoundCodecPrims VMMaker.oscog-eem.2480 (i) SoundGenerationPlugin VMMaker.oscog-eem.2480 (i) SoundPlugin VMMaker.oscog-eem.2495 (i) SqueakFFIPrims StarSqueakPlugin VMMaker.oscog-eem.2480 (i) UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-dtl.66 (i) VMProfileMacSupportPlugin VMMaker.oscog-eem.2480 (i) ZipPlugin VMMaker.oscog-eem.2480 (i)

Virtual Machine Parameters

1 229738272 end (v3)/size(Spur) of old-space (0-based, read-only)

2 1463512 end (v3)/size(Spur) of young/new-space (read-only)

3 238690304 end (v3)/size(Spur) of heap (read-only)

4 nil nil (was allocationCount (read-only))

5 nil nil (was allocations between GCs (read-write)

6 0 survivor count tenuring threshold (read-write)

7 156 full GCs since startup (read-only)

8 36030 total milliseconds in full GCs since startup (read-only)

9 45070 incremental GCs (SqueakV3) or scavenges (Spur) since startup (read-only)

10 39012 total milliseconds in incremental GCs (SqueakV3) or scavenges (Spur) since startup (read-only)

11 136357300 tenures of surving objects since startup (read-only)

12 0 12-20 were specific to ikp's JITTER VM, now 12-19 are open for use

13 0 12-20 were specific to ikp's JITTER VM, now 12-19 are open for use

14 0 12-20 were specific to ikp's JITTER VM, now 12-19 are open for use

15 0 12-20 were specific to ikp's JITTER VM, now 12-19 are open for use

16 15243133777 12-20 were specific to ikp's JITTER VM, now 12-19 are open for use

17 0 12-20 were specific to ikp's JITTER VM, now 12-19 are open for use

18 16485 12-20 were specific to ikp's JITTER VM, now 12-19 are open for use

19 5135773 12-20 were specific to ikp's JITTER VM, now 12-19 are open for use

20 3785039130821609 utc microseconds at VM start-up (actually at time initialization, which precedes image load).

21 146 root table size (read-only)

22 0 root table overflows since startup (read-only)

23 0 bytes of extra memory to reserve for VM buffers, plugins, etc (stored in image file header).

24 33554432 memory threshold above which shrinking object memory (rw)

25 16777216 memory headroom when growing object memory (rw)

26 2 interruptChecksEveryNms - force an ioProcessEvents every N milliseconds (rw) 27 number of times mark loop iterated for current IGC/FGC (read-only) includes ALL marking

28 0 number of times sweep loop iterated for current IGC/FGC (read-only)

29 0 number of times make forward loop iterated for current IGC/FGC (read-only) 30 number of times compact move loop iterated for current IGC/FGC (read-only)

31 411 number of grow memory requests (read-only)

32 140 number of shrink memory requests (read-only)

33 145 number of root table entries used for current IGC/FGC (read-only)

34 234242175176 number of allocations done before current IGC/FGC (read-only)

35 2138 number of survivor objects after current IGC/FGC (read-only)

36 116939736 millisecond clock when current IGC/FGC completed (read-only)

37 0 number of marked objects for Roots of the world, not including Root Table entries for current IGC/FGC (read-only)

38 0 milliseconds taken by current IGC (read-only)

39 0 Number of finalization signals for Weak Objects pending when current IGC/FGC completed (read-only)

40 8 BytesPerOop for this image

41 68021 imageFormatVersion for the VM

42 50 number of stack pages in use

43 0 desired number of stack pages (stored in image file header, max 65535)

44 6854880 size of eden, in bytes

45 0 desired size of eden, in bytes (stored in image file header)

46 1433600 machine code zone size, in bytes (Cog only; otherwise nil)

47 0 desired machine code zone size (stored in image file header; Cog only; otherwise nil)

48 0 various header flags. See getCogVMFlags.

49 512 max size the image promises to grow the external semaphore table to (0 sets to default, which is 256 as of writing)

50 nil nil; reserved for VM parameters that persist in the image (such as eden above)

51 nil nil; reserved for VM parameters that persist in the image (such as eden above)

52 131072 root table capacity

53 4 number of segments (Spur only; otherwise nil)

54 19254104 total size of free old space (Spur only, otherwise nil)

55 0.33333298563957214 ratio of growth and image size at or above which a GC will be performed post scavenge

56 8689334 number of process switches since startup (read-only)

57 795008 number of ioProcessEvents calls since startup (read-only)

58 8567501 number of ForceInterruptCheck calls since startup (read-only)

59 2498479 number of check event calls since startup (read-only)

60 39835091 number of stack page overflows since startup (read-only)

61 11754 number of stack page divorces since startup (read-only) 62 compiled code compactions since startup (read-only; Cog only; otherwise nil)

63 9121 total milliseconds in compiled code compactions since startup (read-only; Cog only; otherwise nil)

64 3033 the number of methods that currently have jitted machine-code

65 3 whether the VM supports a certain feature, MULTIPLE_BYTECODE_SETS is bit 0, IMMTABILITY is bit 1

66 4096 the byte size of a stack page

67 0 the max allowed size of old space (Spur only; nil otherwise; 0 implies no limit except that of the underlying platform)

68 43.167268961262174 the average number of live stack pages when scanned by GC (at scavenge/gc/become et al)

69 50 the maximum number of live stack pages when scanned by GC (at scavenge/gc/become et al)

70 1 the vmProxyMajorVersion (the interpreterProxy VM_MAJOR_VERSION)

71 15 the vmProxyMinorVersion (the interpreterProxy VM_MINOR_VERSION)

Virtual Machine Statistics

uptime 4h55m38s memory 238,690,304 bytes old 229,738,272 bytes (96.2%) young 1,954,048 bytes (0.8%) used 207,537,384 bytes (86.9%) free 24,154,936 bytes (10.100000000000001%) GCs 45,226 (392ms between GCs) full 156 totalling 36,030ms (0.2% uptime), avg 231.0ms incr 45070 totalling 39,012ms (0.2% uptime), avg 0.9ms tenures 136,357,300 (avg 0 GCs/tenure) Since last view 8 (55ms between GCs) uptime 0.4s full 0 totalling 0ms (0.0% uptime) incr 8 totalling 2ms (0.5% uptime), avg 0.30000000000000004ms tenures 0

Operating System/Hardware

Mac OS 1015.7 x64

Operating System Environment

DISPLAY=/private/tmp/com.apple.launchd.EoPQk0PiLN/org.macosforge.xquartz:0 HOME=/Users/sabine LOGNAME=sabine PATH=/opt/local/bin:/opt/local/sbin:/Users/sabine/Documents/Mongo_341/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/Sabine/Desktop/uitesting:/opt/X11/bin PWD=/Users/sabine/Documents/Pharo/images/Pharo 8.0 - 64bit (16) SHELL=/bin/bash SHLVL=1 SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.H7VRlO1GLd/Listeners TMPDIR=/var/folders/g9/tvqk_4d941b_kbxgc19_4p640000gn/T/ USER=sabine XPC_FLAGS=0x0 XPC_SERVICENAME=org.pharo.PharoLauncher.30028 =/Users/sabine/Documents/Pharo/vms/80-x64/Pharo.app/Contents/MacOS/Pharo __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x3

SabineMa commented 3 years ago

@guillep was answering in discord:

I saw it and I agree that it should be fixed
it seems that opening a repository keeps the git metadata files open
that is managed internally by libgit and we don't have too much to do about it
what we could do from an iceberg perspective is to not keep repositories open
instead, we should open them when required and close them after
I cannot estimate what is the effort required to do that, mainly because I smell that the opening of the repositories is triggered by Iceberg's UI (it's done in a lazy fashion, that I'm sure)
thing is also that iceberg is going through a UI migration to Spec 2
tinchodias commented 3 years ago

Hi! I enabled CI on Windows platform and get errors that I suspect are caused by this issue.

The tests raise "CannotDeleteFileException: Could not delete file File. Check the file is not open.", which happens when tearDown try to clean up test directories but the files are still open. (ref).

For the record, I observed that test cases that raise the error in windows have in common the use of one fixture. This snippet shows it:

"This create one more file open (in MacOS)".
f1 := IceClonedFromRemoteFixture inGit.
f1 setUp.
f1 tearDown.

"No new files here:"
f2 := IceWithRemoteAndLocalCommitAndUpstreamFixture inGit.
f2 setUp.
f2 tearDown.

I did some tries without success, to isolate where is the leak.