Unix systems put a limit on how many files that can be kept open at any given time. Snowman on the other hand tries to read all of the existing cache files before building a project causing certain large projects to fail. Snowman should close these files correctly and only keep their contents in memory.
An alternative to just fixing the bug itself is to make Snowman only read cache files when needed and keep them in memory after that moment, this is especially useful in situations where you don't want to invalidate unused cache items, wouldn't slow down the build, and could save some memory for users.
Unix systems put a limit on how many files that can be kept open at any given time. Snowman on the other hand tries to read all of the existing cache files before building a project causing certain large projects to fail. Snowman should close these files correctly and only keep their contents in memory.
An alternative to just fixing the bug itself is to make Snowman only read cache files when needed and keep them in memory after that moment, this is especially useful in situations where you don't want to invalidate unused cache items, wouldn't slow down the build, and could save some memory for users.