-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
vm/{adb,isolated}: fail to clean up temp files #2831
Comments
I have encountered a similar problem:
The temporary solution is:
|
These problems occur frequently, are there currently any ways to avoid them?
|
The following patch seems to fix the problem:
I am not sure the |
@a-nogikh was curious what the broken file looks like:
|
ramosian-glider
added a commit
that referenced
this issue
Dec 1, 2023
When fuzzing Android, the executor sometimes leaves broken symlinks that point to non-existent directories. The command that adb.go was using to delete the leftover symlinks: `find /data/syzkaller* -type l -exec unlink {} \;` actually choked on such files and led to syzkaller rebooting the device indefinitely. Parse the output of `find /data/syzkaller*` to obtain the list of broken symlinks and pass them to `unlink` one by one. Fixes #2831.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
vm/adb does "rm -Rf /data/syzkaller*" between reboots:
syzkaller/vm/adb/adb.go
Line 161 in 418a00e
because devices are not re-imaged between crashes (removing files at least frees up some space).
rm can't remove everything and it started failing recently after cgroup changes:
#2827 fixes this by unlinking symlinks.
But we need to do this for other VM impls (not really specific to adb) and use the more comprehensive executor remove_dir logic:
syzkaller/executor/common_linux.h
Line 4169 in 24dc29d
I think we need remove these dirs as part of executor "setup" invocation (it runs exactly once after boot). We probably need a separate setup verb ("purge") because some tools (syz-execprog?) may not need this on every invocation.
The text was updated successfully, but these errors were encountered: