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

Improper garbage collection in SquirrelTemp on Windows #1263

Closed
ashthespy opened this issue Mar 5, 2018 · 6 comments
Closed

Improper garbage collection in SquirrelTemp on Windows #1263

ashthespy opened this issue Mar 5, 2018 · 6 comments

Comments

@ashthespy
Copy link

Was looking at my SquirrelTemp folder on Windows, and was surprised to see ~900MB of files from leftover atom installations.

I see some other issues(#1195, #577) related to this but should it be Squirrel, the application's or the users's responsibility to clear out failed/old installations?

PS: Cross ref: atom/atom#16883

Additional Information

Contents of `AppData/Local/SquirrelTemp`

.
├── SquirrelSetup.log
├── tempa
│   ├── atom.nuspec
│   ├── [Content_Types].xml
│   └── lib
│       └── net45
│           ├── atom.exe.bsdiff
│           ├── atom_ExecutionStub.exe.diff
│           ├── atom_ExecutionStub.exe.shasum
│           ├── atom.exe.diff
│           ├── atom.exe.shasum
│           ├── blink_image_resources_200_percent.pak.diff
│           ├── blink_image_resources_200_percent.pak.shasum
│           ├── content_resources_200_percent.pak.diff
│           ├── content_resources_200_percent.pak.shasum
│           ├── content_shell.pak.diff
│           ├── content_shell.pak.shasum
│           ├── d3dcompiler_47.dll.diff
│           ├── d3dcompiler_47.dll.shasum
│           ├── ffmpeg.dll.diff
│           ├── ffmpeg.dll.shasum
│           ├── icudtl.dat.diff
│           ├── icudtl.dat.shasum
│           ├── libEGL.dll.diff
│           ├── libEGL.dll.shasum
│           ├── libGLESv2.dll.diff
│           ├── libGLESv2.dll.shasum
│           ├── LICENSE.diff
│           ├── LICENSE.shasum
│           ├── locales
│           ├── natives_blob.bin.diff
│           ├── natives_blob.bin.shasum
│           ├── node.dll.diff
│           ├── node.dll.shasum
│           ├── resources
│           ├── snapshot_blob.bin.diff
│           ├── snapshot_blob.bin.shasum
│           ├── squirrel.exe.diff
│           ├── squirrel.exe.shasum
│           ├── ui_resources_200_percent.pak.diff
│           ├── ui_resources_200_percent.pak.shasum
│           ├── views_resources_200_percent.pak.diff
│           ├── views_resources_200_percent.pak.shasum
│           ├── xinput1_3.dll.diff
│           └── xinput1_3.dll.shasum
├── tempb
├── tempc
│   ├── atom.nuspec
│   ├── [Content_Types].xml
│   ├── lib
│   │   └── net45
│   │       ├── atom.exe.bsdiff
│   │       ├── atom_ExecutionStub.exe.diff
│   │       ├── atom_ExecutionStub.exe.shasum
│   │       ├── atom.exe.diff
│   │       ├── atom.exe.shasum
│   │       ├── blink_image_resources_200_percent.pak.diff
│   │       ├── blink_image_resources_200_percent.pak.shasum
│   │       ├── content_resources_200_percent.pak.diff
│   │       ├── content_resources_200_percent.pak.shasum
│   │       ├── content_shell.pak.diff
│   │       ├── content_shell.pak.shasum
│   │       ├── d3dcompiler_47.dll.diff
│   │       ├── d3dcompiler_47.dll.shasum
│   │       ├── ffmpeg.dll.diff
│   │       ├── ffmpeg.dll.shasum
│   │       ├── icudtl.dat.diff
│   │       ├── icudtl.dat.shasum
│   │       ├── libEGL.dll.diff
│   │       ├── libEGL.dll.shasum
│   │       ├── libGLESv2.dll.diff
│   │       ├── libGLESv2.dll.shasum
│   │       ├── LICENSE.diff
│   │       ├── LICENSE.shasum
│   │       ├── locales
│   │       ├── natives_blob.bin.diff
│   │       ├── natives_blob.bin.shasum
│   │       ├── node.dll.diff
│   │       ├── node.dll.shasum
│   │       ├── resources
│   │       ├── snapshot_blob.bin.bsdiff
│   │       ├── snapshot_blob.bin.diff
│   │       ├── snapshot_blob.bin.shasum
│   │       ├── squirrel.exe.diff
│   │       ├── squirrel.exe.shasum
│   │       ├── ui_resources_200_percent.pak.diff
│   │       ├── ui_resources_200_percent.pak.shasum
│   │       ├── views_resources_200_percent.pak.diff
│   │       ├── views_resources_200_percent.pak.shasum
│   │       ├── xinput1_3.dll.diff
│   │       └── xinput1_3.dll.shasum
│   ├── package
│   │   └── services
│   │       └── metadata
│   └── _rels
├── tempd
│   ├── atom.nuspec
│   ├── [Content_Types].xml
│   └── lib
│       └── net45
│           ├── atom.exe
│           ├── atom_ExecutionStub.exe
│           ├── blink_image_resources_200_percent.pak
│           ├── content_resources_200_percent.pak
│           ├── content_shell.pak
│           ├── d3dcompiler_47.dll
│           ├── ffmpeg.dll
│           ├── icudtl.dat
│           ├── libEGL.dll
│           ├── libGLESv2.dll
│           ├── LICENSE
│           ├── locales
│           ├── natives_blob.bin
│           ├── node.dll
│           ├── resources
│           ├── snapshot_blob.bin
│           ├── squirrel.exe
│           ├── ui_resources_200_percent.pak
│           ├── views_resources_200_percent.pak
│           └── xinput1_3.dll
├── tempe
│   ├── atom.nuspec
│   ├── [Content_Types].xml
│   ├── lib
│   │   └── net45
│   │       ├── atom.exe.bsdiff
│   │       ├── atom_ExecutionStub.exe.diff
│   │       ├── atom_ExecutionStub.exe.shasum
│   │       ├── atom.exe.diff
│   │       ├── atom.exe.shasum
│   │       ├── blink_image_resources_200_percent.pak.diff
│   │       ├── blink_image_resources_200_percent.pak.shasum
│   │       ├── content_resources_200_percent.pak.diff
│   │       ├── content_resources_200_percent.pak.shasum
│   │       ├── content_shell.pak.diff
│   │       ├── content_shell.pak.shasum
│   │       ├── d3dcompiler_47.dll.diff
│   │       ├── d3dcompiler_47.dll.shasum
│   │       ├── ffmpeg.dll.diff
│   │       ├── ffmpeg.dll.shasum
│   │       ├── icudtl.dat.diff
│   │       ├── icudtl.dat.shasum
│   │       ├── libEGL.dll.diff
│   │       ├── libEGL.dll.shasum
│   │       ├── libGLESv2.dll.diff
│   │       ├── libGLESv2.dll.shasum
│   │       ├── LICENSE.diff
│   │       ├── LICENSE.shasum
│   │       ├── locales
│   │       ├── natives_blob.bin.diff
│   │       ├── natives_blob.bin.shasum
│   │       ├── node.dll.diff
│   │       ├── node.dll.shasum
│   │       ├── resources
│   │       ├── snapshot_blob.bin.bsdiff
│   │       ├── snapshot_blob.bin.diff
│   │       ├── snapshot_blob.bin.shasum
│   │       ├── squirrel.exe.diff
│   │       ├── squirrel.exe.shasum
│   │       ├── ui_resources_200_percent.pak.diff
│   │       ├── ui_resources_200_percent.pak.shasum
│   │       ├── views_resources_200_percent.pak.diff
│   │       ├── views_resources_200_percent.pak.shasum
│   │       ├── xinput1_3.dll.diff
│   │       └── xinput1_3.dll.shasum
│   ├── package
│   │   └── services
│   │       └── metadata
│   └── _rels
├── tempf
│   ├── atom.nuspec
│   ├── [Content_Types].xml
│   └── lib
│       └── net45
│           ├── atom.exe
│           ├── atom_ExecutionStub.exe
│           ├── blink_image_resources_200_percent.pak
│           ├── content_resources_200_percent.pak
│           ├── content_shell.pak
│           ├── d3dcompiler_47.dll
│           ├── ffmpeg.dll
│           ├── icudtl.dat
│           ├── libEGL.dll
│           ├── libGLESv2.dll
│           ├── LICENSE
│           ├── locales
│           ├── natives_blob.bin
│           ├── node.dll
│           ├── resources
│           ├── snapshot_blob.bin
│           ├── squirrel.exe
│           ├── ui_resources_200_percent.pak
│           ├── views_resources_200_percent.pak
│           └── xinput1_3.dll
├── tempg
│   ├── atom.nuspec
│   ├── [Content_Types].xml
│   ├── lib
│   │   └── net45
│   │       ├── atom.exe.bsdiff
│   │       ├── atom_ExecutionStub.exe.diff
│   │       ├── atom_ExecutionStub.exe.shasum
│   │       ├── atom.exe.diff
│   │       ├── atom.exe.shasum
│   │       ├── blink_image_resources_200_percent.pak.diff
│   │       ├── blink_image_resources_200_percent.pak.shasum
│   │       ├── content_resources_200_percent.pak.diff
│   │       ├── content_resources_200_percent.pak.shasum
│   │       ├── content_shell.pak.diff
│   │       ├── content_shell.pak.shasum
│   │       ├── d3dcompiler_47.dll.diff
│   │       ├── d3dcompiler_47.dll.shasum
│   │       ├── ffmpeg.dll.diff
│   │       ├── ffmpeg.dll.shasum
│   │       ├── icudtl.dat.diff
│   │       ├── icudtl.dat.shasum
│   │       ├── libEGL.dll.diff
│   │       ├── libEGL.dll.shasum
│   │       ├── libGLESv2.dll.diff
│   │       ├── libGLESv2.dll.shasum
│   │       ├── LICENSE.diff
│   │       ├── LICENSE.shasum
│   │       ├── locales
│   │       ├── natives_blob.bin.diff
│   │       ├── natives_blob.bin.shasum
│   │       ├── node.dll.diff
│   │       ├── node.dll.shasum
│   │       ├── resources
│   │       ├── snapshot_blob.bin.bsdiff
│   │       ├── snapshot_blob.bin.diff
│   │       ├── snapshot_blob.bin.shasum
│   │       ├── squirrel.exe.diff
│   │       ├── squirrel.exe.shasum
│   │       ├── ui_resources_200_percent.pak.diff
│   │       ├── ui_resources_200_percent.pak.shasum
│   │       ├── views_resources_200_percent.pak.diff
│   │       ├── views_resources_200_percent.pak.shasum
│   │       ├── xinput1_3.dll.diff
│   │       └── xinput1_3.dll.shasum
│   ├── package
│   │   └── services
│   │       └── metadata
│   └── _rels
└── temph
    ├── atom.nuspec
    ├── [Content_Types].xml
    └── lib
        └── net45
            ├── atom.exe
            ├── atom_ExecutionStub.exe
            ├── blink_image_resources_200_percent.pak
            ├── content_resources_200_percent.pak
            ├── content_shell.pak
            ├── d3dcompiler_47.dll
            ├── ffmpeg.dll
            ├── icudtl.dat
            ├── libEGL.dll
            ├── libGLESv2.dll
            ├── LICENSE
            ├── locales
            ├── natives_blob.bin
            ├── node.dll
            ├── resources
            ├── snapshot_blob.bin
            ├── squirrel.exe
            ├── ui_resources_200_percent.pak
            ├── views_resources_200_percent.pak
            └── xinput1_3.dll

48 directories, 220 files

@anaisbetts
Copy link
Contributor

This probably means Squirrel crashed or was killed halfway through updates, you can clean this manually.

@lainverse
Copy link

Shouldn't it clean that folder up after itself on the next run? I just found ~2 Gb there when were looking for a free space on my system drive.

@igitthatalot
Copy link

igitthatalot commented Aug 22, 2018

Hi can you please fix your installer? i dont know exactly why you need to create so many temp files, but if i have a machine with 43 users logged into it and they each have 2gb temp files, well now the disk is full. I am seeing this all over the company lately. I see references to slack, microsoft teams, etc.

Not sure what exactly squirreltemp is, but it obviously has a bug. i have the same problem that i have tempa tempb etc... I would disagree that the folder "cleans itself up" but can you tell me how to trigger that please?
I am attaching an example logfile.

SquirrelSetup.log

image

@denised
Copy link

denised commented Aug 9, 2019

I was just looking for stuff to delete on my full C: drive and discovered 4.6 GB in the SquirrelTemp folder, with creation dates spanning years. I am an end user, I'd never even heard of SquirrelTemp --- I don't consider this an acceptable situation. The very least you could do would be to put a file at the top level of the folder informing people who stumble across it that they can safely delete everything within. But really there should be some sort of automatic cleanup.

@anaisbetts
Copy link
Contributor

@denised SquirrelTemp is cleaned by default, if you're seeing things accumulate there it's because Something Went Wrong.

Squirrel can't automatically delete this folder because Squirrel is a library and more than one app on your computer uses Squirrel - they don't know about each other. If you have both Slack and Teams, and Slack is busy updating and Teams decided to say "Oh time to blindly clean up SquirrelTemp!", it would be Bad

Putting a "README.txt" file in the root isn't a bad idea though, you should submit a PR to do something to this effect.

@denised
Copy link

denised commented Aug 9, 2019

@anaisbetts Thanks for the quick reply! OK, too bad I didn't save some of the files to see what went wrong --- if more accumulate, I'll take a look. Then I can go pester the offending software package instead :-)
I will take you up on the PR.

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

5 participants