-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Update references to tsan state #42440
Conversation
The tsan state got moved into the task struct, but references to it were not updated. This fixed the build, though the exectuable itself crashes in LLVM when run. I haven't looked into that yet.
FWIW, just as a record, I can get around
with $ grep TSAN_OPTIONS Make.user
export TSAN_OPTIONS=suppressions=$(BUILDROOT)/tsan-suppressions
$ cat tsan-suppressions
deadlock:llvm but I still get another failure
|
Which lock was that? I maintain a hierarchy document, and I'm only aware of one bad case (modules) that may violate it, but others are hopefully readily fixable. |
Here's the longer output (with the Make.user in #42444)
|
Yes, this is the failure I'm looking into. Looks like a reference to |
I'm gonna go ahead and merge this, so @tkf can play with the CI setup, since at least it builds with this. It might still be wrong, since it didn't get far enough in the run to actually exercise the task system, but I can fix that as a follow up if so. |
is what it's trying to compile - not sure what it's trying to do there. |
@tkf I found the LLVM issue. Somebody dropped llvm/llvm-project@66b0cebf7f736 during an overeager refactoring. Would you be willing to submit a patch upstream to re-enable it and add a test (use the |
Ah, thanks! Yes, indeed, I was just using LLVM from BB. I'll try it with the custom build.
I'm afraid I'm not familiar at all with that part of LLVM (not that there are parts of the mainline LLVM that I know reasonably well, though). |
That's why I proposed this one, it should be very easy. You literally just need to re-apply that patch to fix it :). For the test, I think just adding |
Right, I had to apply the patch to |
Great, I'd
|
Yeah, llvm-lit was the first thing I tried. I posted it to https://reviews.llvm.org/D110979. Let me know if there are more details to fill. (I guess I now need to find reviewers...) |
The tsan state got moved into the task struct, but references to it were not updated. This fixed the build, though the exectuable itself crashes in LLVM when run. I haven't looked into that yet.
This reverts commit 15772ba "Update references to tsan state (JuliaLang#42440)", and fixes integration. Looks like JuliaLang#36929 got reverted when trying to simplify the code, but it now isn't legal. Since these must be inlined in the right point in the runtime call/return context, use a macro to ensure that.
The tsan state got moved into the task struct, but references to it were not updated. This fixed the build, though the exectuable itself crashes in LLVM when run. I haven't looked into that yet.
This reverts commit 15772ba "Update references to tsan state (JuliaLang#42440)", and fixes integration. Looks like JuliaLang#36929 got reverted when trying to simplify the code, but it now isn't legal. Since these must be inlined in the right point in the runtime call/return context, use a macro to ensure that.
The tsan state got moved into the task struct, but references
to it were not updated. This fixed the build, though the exectuable
itself crashes in LLVM when run. I haven't looked into that yet.
cc @ianatol