Parser errors for G1GC String deduplication messages in gc logs
The viewer is ignoring String deduplication messages and throwing UnknownGCTypeException in the Parser tab.
-XX:+UseStringDeduplication along with G1GC turns on String Dedup.
INFO [DataReaderSun1_6_0G1]: CommandLine flags: -XX:+AggressiveOpts -XX:+AggressiveUnboxing -XX:ConcGCThreads=12 -XX:+FlightRecorder -XX:FreqInlineSize=1024 -XX:InitialHeapSize=2147483648 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ManagementServer -XX:MaxBCEAEstimateSize=1024 -XX:MaxGCPauseMillis=100 -XX:MaxHeapSize=75161927680 -XX:MaxInlineLevel=22 -XX:MaxInlineSize=256 -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:ReservedCodeCacheSize=1073741824 -XX:-ResizePLAB -XX:+UnlockCommercialFeatures -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+UseStringDeduplication
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 34: 2016-05-17T00:47:55.980-0400: 1.046: [GC concurrent-string-deduplication, 492.5K->381.4K(111.1K), avg 22.6%, 0.0019638 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 65: 2016-05-17T00:47:56.058-0400: 1.124: [GC concurrent-string-deduplication, 24.8K->22.7K(2120.0B), avg 21.9%, 0.0008329 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 96: 2016-05-17T00:47:56.149-0400: 1.216: [GC concurrent-string-deduplication, 0.0B->0.0B(0.0B), avg 21.9%, 0.0000045 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 157: 2016-05-17T00:47:57.521-0400: 2.587: [GC concurrent-string-deduplication, 148.5K->119.8K(28.7K), avg 21.3%, 0.0007789 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 238: 2016-05-17T00:48:02.852-0400: 7.918: [GC concurrent-string-deduplication, 10.1M->8481.9K(1835.8K), avg 18.0%, 0.1861676 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 389: 2016-05-17T00:48:10.407-0400: 15.481: [GC concurrent-string-deduplication, 308.9M->15.1M(293.8M), avg 92.5%, 3.9991173 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 420: 2016-05-17T00:48:11.720-0400: 16.786: [GC concurrent-string-deduplication, 95.3M->6168.7K(89.3M), avg 92.8%, 0.8381088 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 1141: 2016-05-17T00:49:14.126-0400: 79.192: [GC concurrent-string-deduplication, 2870.5M->143.0M(2727.5M), avg 94.7%, 34.5286816 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 1172: 2016-05-17T00:49:15.312-0400: 80.378: [GC concurrent-string-deduplication, 21.5K->2504.0B(19.1K), avg 94.7%, 0.0003661 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 1203: 2016-05-17T00:49:17.761-0400: 82.827: [GC concurrent-string-deduplication, 10.6K->1160.0B(9736.0B), avg 94.7%, 0.0001772 secs]
Hi George,
Thank you for reporting this! Do you happen to know, what part of the heap is referenced in the memory part of these events?
@chewiebug See http://openjdk.java.net/jeps/192 for details Specifically,
An object is considered a deduplication candidate if all of the following statements are true:
The object is an instance of String,
The object is being evacuated from a young heap region, and
The object is being evacuated to a young/survivor heap region and the object's age is equal to the deduplication age threshold, or the object is being evacuated to an old heap region and the object's age is less than the deduplication age threshold.