Fix RemoteException that happens in JPS with compiler daemon

Recently, the container for "lookups" has changed to THashSet
And it lead to exception:
java.io.InvalidClassException: gnu.trove.THashSet;
local class incompatible: stream classdesc
serialVersionUID = -8659895033752433145,
local class serialVersionUID = -1699000958968314003

The reasons for different versions of THashSet are unknown
(though likely related to a slightly different classpathes),
but the fix is rather straight-forward

 #KT-26011 Fixed
This commit is contained in:
Denis Zharkov
2018-08-10 16:34:33 +07:00
parent 0d2b888bdd
commit 8063db5f80
@@ -53,7 +53,8 @@ class RemoteLookupTrackerClient(val facade: CompilerCallbackServicesFacade, even
if (isDoNothing || lookups.isEmpty()) return
profiler.withMeasure(this) {
facade.lookupTracker_record(lookups)
// Converting to list is intentional because THashSet may lead to serialization-related problems
facade.lookupTracker_record(lookups.toList())
}
lookups.clear()