race:BytecodeDecoder::RacyDecodeEmbeddedFeedbackLeszek SwirskiThere is a [data race issue](https://issues.chromium.org/issues/460174987) flagged by fuzzer. Should we consider going back to a TSAN-friendly implementation, or mark this issue as `Intended behavior`? @les...@chromium.org
Wei, Yuhengthis sounds like the suppression is not working? maybe it doesn't handle namespaces well?
Wei, YuhengThis rule works for the `v8_linux64_tsan_rel` try bot; The clusterfuzz does consume a `tsan_suppression.txt`:
```
[Environment] TSAN_OPTIONS=...:suppressions=/mnt/scratch0/clusterfuzz/src/appengine/config/suppressions/tsan_suppressions.txt:...
```Maybe the fuzzer didn't correctly read this one? I'm not sureπ€.
Leszek Swirskimaybe it doesn't handle namespaces well?
Would changing from `race:BytecodeDecoder::RacyDecodeEmbeddedFeedback` to `race:v8::internal::interpreter::BytecodeDecoder::RacyDecodeEmbeddedFeedback` make it happy?
Wei, YuhengI don't know, you'll have to try it.
Leszek SwirskiMarked as resolved.
Wei, YuhengCan you please check before submitting?
Wei, YuhengSure. I will try it locally first.
Leszek SwirskiThe [issue provided build](https://clusterfuzz.com/testcase-detail/6014179009822720) and current suppression rule (`race:BytecodeDecoder::RacyDecodeEmbeddedFeedback`)works fine on my local machine.
Maybe the fuzzer didn't correctly read this one?
I think this is the problem.
Wei, YuhengDoes it successfully fail if you don't give it the suppression rule? If yes, then we have to adjust how our fuzzer does this suppression.
Leszek SwirskiYes, I try to remove this rule from the suppression file and the data race is reported as expected. Adding this suppression rule removes the errors
Wei, Yuhengdoes it work to annotate that function with DISABLE_TSAN instead of suppressing? It's apparently tricky to pass our suppressions to the fuzzer :/
Upload [patchset3..6](https://chromium-review.googlesource.com/c/v8/v8/+/7148333/3..6) to apply `DISABLE_TSAN`; This works for `v8_linux64_tsan_rel` tryjob, and I expect it will also works for fuzzer. Please help take a look!
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
@leszek Could you please take a look if this solution works? Thanks!
| Code-Review | +1 |
race:BytecodeDecoder::RacyDecodeEmbeddedFeedback| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Reland "Embedding feedback in BytecodeArray for StrictEqual"
This is a reland of commit f0fed41e48b1966e3e565ae278d018da538ef123
Original change's description:
> Embedding feedback in BytecodeArray for StrictEqual
>
> This CL removes the feedback vector slot for StrictEqual and stores its feedback values directly in the BytecodeArray. Optimized compilers will now access the type feedback from the BytecodeArray.
>
> Before:
> 75 04 00 TestEqualStrict a1, [0]
>
> After:
> 75 04 00 00 TestEqualStrict a1, #0
>
> This change saves moemory by reducing FeedbackVector size, and is part of the Sparkplug+ optimization effort.
>
> Bug: chromium:429351411
> Change-Id: I24390811c12755b0a19beaefe2b0319d75ceaf6c
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6986847
> Reviewed-by: Xu, Hao A <hao....@intel.com>
> Commit-Queue: Wei, Yuheng <yuhen...@intel.com>
> Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#103656}
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Thanks! Let's wait for the test bots. If it doesn't work, maybe we can fix it without reverting the entire CL, since this is not the reason for reverting the original CL.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |