-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
Affects Version/s: 3.1.7
-
Component/s: JavaScript
-
None
-
Fully Compatible
-
ALL
-
Platform 7 08/10/15
-
0
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Migrating to SpiderMonkey had a necessary but unfortunate implementation side effect of adding a thread in between the the scope cache and the actual scopes it caches. We added that thread because SpiderMonkey strictly requires that runtime's only be accessed by one thread across their entire lifetime.
It seems that LSAN can't track reachability across this thread, which is a problem because the scope cache is global. Our lack of clean shutdown prevents the cache from ever being cleaned up, which then looks to LSAN like a leak.
Let's fix that by dropping the cache in shutdownServer