Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CVise fills temp directory on Windows #144

Open
jketema opened this issue Jun 13, 2024 · 1 comment
Open

CVise fills temp directory on Windows #144

jketema opened this issue Jun 13, 2024 · 1 comment

Comments

@jketema
Copy link
Contributor

jketema commented Jun 13, 2024

I'm running into an issue where CVise fills up the temp directory on my Windows system completely and where I have to wipe it manually. It looks like CVise is not very good at immediately cleaning up the temporary directories it's creating, which leaves a lot of data behind. With some long running passes this sometimes means my disk fills up completely. The passes are long running, because I'm trying to reduce a C++ source file that is about 30MB in size.

At the moment, for example, I see a directory cvise-ClangBinarySearchPass-replace-function-def-with-decl-qw57m91m which is about 70GB in size, and contains more than 4000 subdirectories.

I happily help debug and fix the problem, but I'll need some pointers on where to start with that.

@marxin
Copy link
Owner

marxin commented Jun 26, 2024

Again, thanks for the report, it's great to have somebody who runs C-Vise on Windows target which is experimental right now. I would start here:

assert 'cvise' in str(name)
try:
shutil.rmtree(name)
except OSError:
pass

where I would remove the except block and catch potential issues. The function itself should be called here:

def release_folders(self):
for future in self.futures:
self.release_folder(future)
assert not self.temporary_folders

Hopefully, we can make some progress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants