You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pooled `SkyKeyInterner` assumes that there is only one pool existing in the blaze program, so setting the pool to some container or `null` happens sequentially without synchronization concern. However, this assumption is broken if multiple `PackageLoader` instances are being used with concurrent Skyframe evaluations for other programs than blaze.
It is possible that one `PackageLoader` tries to access some SkyKey in the globalPool, but the pool has already been reset by the other `PackageLoader`. In order to avoid this, we disable pooled `SkyKeyInterner` for `PackageLoader` and `SkyKey`s will revert to use the naive weak interner.
PiperOrigin-RevId: 531318564
Change-Id: Ie2c7793c3fdc1ad3b6677c13f0d8c00ca8f4125e
0 commit comments