-
Enhancement
-
Resolution: Fixed
-
P3
-
None
-
b14
VisibleClasses can take very long on high delay networks. The issue is that visibleClasses does not include signatures in its response, and when we on the client side cache the result we need the signature. So for classes that are not previously cached we will do sequential remote calls to load their signature. Those remote calls are what causes the client to "hang" for several minutes.
Worth noting is that most classes will already be cached, with signatures, by either an initial allClasses call, or by the internal event handler. But those only cache classes that are prepared, so this is a problem for unprepared classes.
The ideal solution to this would be to add a new visibleClassesWithSignatures the JDWP spec, which includes signatures.
Another way to fix this (in a hackish way) would be to stop caching some classes. Either caching could be skipped entirely for visibleClasses, or only classes that do not have a signature provided could be skipped. Or, as Martin Entlicher has suggested inJDK-6457137, caching can be removed entirely from JDI.
Worth noting is that most classes will already be cached, with signatures, by either an initial allClasses call, or by the internal event handler. But those only cache classes that are prepared, so this is a problem for unprepared classes.
The ideal solution to this would be to add a new visibleClassesWithSignatures the JDWP spec, which includes signatures.
Another way to fix this (in a hackish way) would be to stop caching some classes. Either caching could be skipped entirely for visibleClasses, or only classes that do not have a signature provided could be skipped. Or, as Martin Entlicher has suggested in
- duplicates
-
JDK-8140515 Remote debugging session hangs for several minutes when calling visibleClasses()
- Closed
- relates to
-
JDK-8221513 Add vmTestbase/nsk/jdb/eval/eval001/eval001.java to ProblemList.txt
- Resolved
-
JDK-8221503 vmTestbase/nsk/jdb/eval/eval001/eval001.java fails with: com.sun.jdi.InvalidTypeException: Can't assign double[][][] to double[][][]
- Resolved
-
JDK-8241958 Slow ClassLoaderReferenceImpl.findType
- Resolved
-
JDK-6457137 Traffic of ClassPrepareRequests
- Closed