Article - CS275805
Windchill PDMLink Background MethodServer JVM enters full Garbage Collection (GC) and exits every time a particularly large Interference Detection (CLASH) Job is processed
Modified: 19-Dec-2017
Applies To
- Windchill PDMLink 10.0 to 11.1
- Creo View Adapters 1.0 to 4.2
- Windchill Visualization Services (WVS)
- Windchill Interference Management Services (Batch Interference Detection)
- Interference Engine (PVSCLASH)
Description
-
- The JVM will initially start to output warnings indicating that it is entering the low memory state:
WARN [Service Thread] wt.method.MemoryUsageRedirectStrategy - Entering low memory state
. . .
WARN [Service Thread] wt.jmx.notif.memory - Time=2017-11-10 15:15:46.401 +0100, Name=MemoryNotifier, SourceObjectName=com.ptc:wt.subsystem=Monitors,wt.monitorType=Memory, class=class javax.management.Notification, type=java.management.memory.collection.threshold.exceeded, userData=[count=17,poolName=PS Old Gen,usage=[committed=4294967296,init=4294967296,max=4294967296,used=4294493016]], message=Memory usage exceeds collection usage threshold, JVM Name=18108@<id>, Threshold
. . .
. . .
WARN [Service Thread] wt.jmx.notif.memory - Time=2017-11-10 15:15:46.401 +0100, Name=MemoryNotifier, SourceObjectName=com.ptc:wt.subsystem=Monitors,wt.monitorType=Memory, class=class javax.management.Notification, type=java.management.memory.collection.threshold.exceeded, userData=[count=17,poolName=PS Old Gen,usage=[committed=4294967296,init=4294967296,max=4294967296,used=4294493016]], message=Memory usage exceeds collection usage threshold, JVM Name=18108@<id>, Threshold
. . .
- Before it ultimately exits, the JVM will enter Full Garbage Collection (GC) and start to output periodic stack traces
- These stack traces show the Clash Queue Polling Thread stack gradually consuming all available memory (Bytes allocated):
"PublisherQueueCLASH1.PollingThread" Id=135 prio=5 RUNNABLE
Blocked (cnt): 49; Waited (cnt): 54
CPU nanos: 46437732600; User nanos: 40670734600; Bytes allocated: 5253773176
Method context: 2z5syc;j9ttcvhq;18108;wm0cs4;3589; DB session: 1308
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:272)
at org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown Source)
at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.scanContent(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanContent(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
at wt.util.xml.NonValidatingXML4jAdapter.createDOMDocument(NonValidatingXML4jAdapter.java:147)
at com.ptc.wvs.common.util.SimpleXml.getDocument(SimpleXml.java:210)
at com.ptc.wvs.common.util.SimpleXml.getDocument(SimpleXml.java:188)
at com.ptc.wvs.server.publish.InterferenceDetectionHelper.processInterferenceReport(InterferenceDetectionHelper.java:483)
at com.ptc.wvs.server.publish.CadConvertCLASH.storeComponentRepresentation(CadConvertCLASH.java:360)
at com.ptc.wvs.server.publish.ClashJob.executeClashJob(ClashJob.java:310)
at com.ptc.wvs.server.publish.ClashJob.processJob(ClashJob.java:125)
at com.ptc.wvs.server.publish.WVSProcessingJob.doMyJob(WVSProcessingJob.java:549)
at com.ptc.wvs.server.publish.WVSProcessingJob.doJobInternal(WVSProcessingJob.java:510)
at com.ptc.wvs.server.publish.WVSProcessingJob.doJob(WVSProcessingJob.java:480)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at wt.queue.QueueEntry.execute(QueueEntry.java:224)
at wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:285)
at wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:901)
at wt.queue.PollingQueueThread.run(PollingQueueThread.java:99)
Blocked (cnt): 49; Waited (cnt): 54
CPU nanos: 46437732600; User nanos: 40670734600; Bytes allocated: 5253773176
Method context: 2z5syc;j9ttcvhq;18108;wm0cs4;3589; DB session: 1308
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:272)
at org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown Source)
at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.scanContent(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanContent(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
at wt.util.xml.NonValidatingXML4jAdapter.createDOMDocument(NonValidatingXML4jAdapter.java:147)
at com.ptc.wvs.common.util.SimpleXml.getDocument(SimpleXml.java:210)
at com.ptc.wvs.common.util.SimpleXml.getDocument(SimpleXml.java:188)
at com.ptc.wvs.server.publish.InterferenceDetectionHelper.processInterferenceReport(InterferenceDetectionHelper.java:483)
at com.ptc.wvs.server.publish.CadConvertCLASH.storeComponentRepresentation(CadConvertCLASH.java:360)
at com.ptc.wvs.server.publish.ClashJob.executeClashJob(ClashJob.java:310)
at com.ptc.wvs.server.publish.ClashJob.processJob(ClashJob.java:125)
at com.ptc.wvs.server.publish.WVSProcessingJob.doMyJob(WVSProcessingJob.java:549)
at com.ptc.wvs.server.publish.WVSProcessingJob.doJobInternal(WVSProcessingJob.java:510)
at com.ptc.wvs.server.publish.WVSProcessingJob.doJob(WVSProcessingJob.java:480)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at wt.queue.QueueEntry.execute(QueueEntry.java:224)
at wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:285)
at wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:901)
at wt.queue.PollingQueueThread.run(PollingQueueThread.java:99)
- The JVM will ultimately and abruptly exit without further messages
- WVS BGM crashes with full GC each time we submit a Interference Detection job for a large assembly
This is a printer-friendly version of Article 275805 and may be out of date. For the latest version click CS275805