| Summary: | REGRESSION(264515@main): [GStreamer] m_player WeakPtr is accessed from non-main threads | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Alicia Boya García <aboya> |
| Component: | Web Template Framework | Assignee: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bugs-noreply, emilio, jean-yves.avenard, mcatanzaro, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: |
https://bugs.webkit.org/show_bug.cgi?id=254954 https://bugs.webkit.org/show_bug.cgi?id=258129 |
||
|
Description
Alicia Boya García
2023-06-13 06:31:54 PDT
I'm pretty sure it's not safe even with only one thread in the mix, see: https://bugs.webkit.org/show_bug.cgi?id=254954#c3 When the GC thread runs, the main thread is suspended. So it's not unsafe here. The issue at hand, is that WeakPtr::get() allows for it to be called on the GC threads [1], but not the operator->() [2] [1] https://searchfox.org/wubkat/rev/49a9b51cd3f2e1941aa86570e9948012b4c1cbfa/Source/WTF/wtf/WeakPtr.h#123-128 [2] https://searchfox.org/wubkat/rev/49a9b51cd3f2e1941aa86570e9948012b4c1cbfa/Source/WTF/wtf/WeakPtr.h#137-141 Pull request: https://github.com/WebKit/WebKit/pull/14994 Committed 265233@main (c234d2219797): <https://commits.webkit.org/265233@main> Reviewed commits have been landed. Closing PR #14994 and removing active labels. |