Bug 243963
| Summary: | [libpas] FreeBSD displays a lot of warning when thread exits | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Basuke Suzuki <basuke> |
| Component: | Platform | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Basuke Suzuki
> Thread 8807027e0 has exited with leftover thread-specific data after 4 destructor iterations
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Basuke Suzuki
The reason might be here:
https://github.com/WebKit/WebKit/blob/main/Source/bmalloc/libpas/src/libpas/pas_thread_local_cache.c#L137-L145
It calls thread_setspecific from destructor to mark the thread has been exited already. Then FreeBSD's _thread_cleanupspecific reports error here:
https://github.com/freebsd/freebsd-src/blob/373ffc62c158e52cde86a5b934ab4a51307f9f2e/lib/libthr/thread/thr_spec.c#L163-L167
Are there any other way to set the flag to tell the thread is exiting ?
Basuke Suzuki
Apple platforms have `pthread_self_is_exiting_np()` to detect this situation.
Radar WebKit Bug Importer
<rdar://problem/99006058>