-
Notifications
You must be signed in to change notification settings - Fork 18
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
bug: shared directory output (e.g. clang crashreports) fails with racing #19
Comments
I've rolled back the change but there are some technical difficulties on our end which is preventing github from picking up the change. However, this did spark some discussions on shared output directories. Our initial thinking is we may not want to support this. If you have any opinions on this topic feel free to leave a comment as we haven't come to a conclusion on how we should handle these cases yet. |
Wow, that was quick! Thank you! My opinion is that for the The question is -- is it worth it? I don't know how useful the |
Time to dreg up old bugs... I suppose it isn't out of the question for some build to arbitrarily say that multiple actions have the same output directory (and not just for clang crash reports). There are a few other options that might be worth considering as well:
I wonder if doing the file moving in this kind of manner might help performance on windows, as it has some... different... filesystem performance compared to linux. Creating and moving directories is less performant. |
35813b8 introduced a directory type output to clang actions, which is shared among all actions of this type (with a
-fcrash-diagnostics-dir
option on). However, inracing
strategy, this results in the following error:This is because here we're trying to use
os.Rename
to move the output directory from the temporaryracing
directory, and the directory already exists, because it was populated by a different action.I'm not sure what is the intended behavior of the shared output directory -- as I understand the current code, any output gets removed before it is downloaded, so it looks to me like the behavior is badly defined when multiple actions share an output directory.
If the intended behavior was to aggregate outputs from multiple actions in the same
../../tools/clang/crashreports
directory, then this will need to be fixed both in the SDK and Reclient, IIUC.The text was updated successfully, but these errors were encountered: