技术文章 - CS431114

JxBrowser 在 Integrity Lifecycle Manager/PTC RV&S 中尝试加载拼写检查器时卡住了

已修改: 09-Oct-2025   


注意:本文已使用机器翻译软件翻译,以方便非英语客户阅读。但翻译内容可能包含语法错误或不准确之处。请注意, PTC对本文所含信息的翻译准确性及使用后果不承担任何责任。请在 此处 查看本文的英文原始版本以便参考。有关机器翻译的更多详情,请单击 此处
感谢您告诉我们。我们将尽快审阅此译文。

适用于

  • PTC RV&S (formerly Integrity Lifecycle Manager) 13.1 to 13.2

说明

  • 在某些情况下,JxBrowser 可能会卡住,导致用户需要长时间等待才能修改富文本字段。附件客户端堆栈跟踪文件中的AWT-EventQueue-0线程在尝试加载拼写检查器的语言时始终卡住。客户端日志还显示尝试加载某些语言文件时出错:
2024-03-22 09:26:02,433 DEBUG [mks.IntegrityClient] (AWT-EventQueue-0) DEBUG(10): propertyChange: property=focusOwner,old=null,new=mks.ic.ci.ui.swing.documentview.DocumentTablePanel$EmbeddedDocumentTable
2024-03-22 09:26:10,217 INFO  [mks.IntegrityClient] 3/22/24 9:26 AM:(AWT-EventQueue-0) GENERAL(0) com.teamdev.jxbrowser.spellcheck.LanguageNotAvailableException:(AWT-EventQueue-0) com.teamdev.jxbrowser.spellcheck.LanguageNotAvailableException: Failed to initialize dictionary for en-GB languages
    at com.teamdev.jxbrowser.spellcheck.internal.SpellCheckerImpl.addLanguage(SpellCheckerImpl.java:105)
    at com.ptc.ic.common.ui.swing.richcontent.JxBrowserEngineProvider.addSpellCheckLanguage(JxBrowserEngineProvider.java:49)
    at com.ptc.ic.common.ui.swing.richcontent.JxBrowserEngineProvider.generateEngine(JxBrowserEngineProvider.java:89)
    at mks.ic.ci.ui.swing.richcontent.TinyMCE$TinyMCEEditor.<init>(TinyMCE.java:4076)
    at mks.ic.ci.ui.swing.richcontent.TinyMCE$TinyMCEEditor.getInstance(TinyMCE.java:4184)
    at mks.ic.ci.ui.swing.richcontent.TinyMCE.addTinyMCEEditor(TinyMCE.java:306)
    at mks.ic.ci.ui.swing.richcontent.TinyMCE.addEditorComponentInTable(TinyMCE.java:3245)
    at mks.ic.ci.ui.swing.EditFieldComponentLongText.getTableCellEditorComponent(EditFieldComponentLongText.java:841)
    at mks.ic.ci.ui.swing.DocumentTableCellRendererEditor.getFieldEditor(DocumentTableCellRendererEditor.java:1649)
    at mks.ic.ci.ui.swing.DocumentTableCellRendererEditor.getTableCellEditorComponent(DocumentTableCellRendererEditor.java:1478)
    at java.desktop/javax.swing.JTable.prepareEditor(JTable.java:5812)
    at java.desktop/javax.swing.JTable.editCellAt(JTable.java:3508)
    at mks.ic.ci.ui.swing.itemsview.ItemsTableBase.editCellAtImpl(ItemsTableBase.java:3888)
    at mks.ic.ci.ui.swing.IssuesJTable.editCellAtImpl(IssuesJTable.java:1451)
    at mks.ic.ci.ui.swing.GenericDocumentTable.editCellAtImpl(GenericDocumentTable.java:1564)
    at mks.ic.ci.ui.swing.itemsview.ItemsTableMouseMotionHandler.mouseRelatedImpl(ItemsTableMouseMotionHandler.java:131)
    at mks.ic.ci.ui.swing.itemsview.ItemsTableMouseMotionHandler.mouseReleased(ItemsTableMouseMotionHandler.java:103)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
...
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
2024-03-22 09:26:10,217 ERROR [mks.IntegrityClient] (AWT-EventQueue-0) ERROR(0): Error while creating engine in JxBrowser
  • 人们认为这会导致加载拼写检查语言时出现问题,并导致客户端线程卡住:
"AWT-EventQueue-0" tid=0x1a in WAITING
    Blocked: 316[-1ms], Waited: 3198[-1ms]
    User CPU: 9s765ms
    Allocated Bytes: 2588176896
    at jdk.internal.misc.Unsafe.park(Native Method)
     - waiting on <0x77d0f0f2> (a java.util.concurrent.CountDownLatch$Sync)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1039)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1345)
     at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
     at com.teamdev.jxbrowser.internal.rpc.transport.CommonThreadResponseConsumer.await(CommonThreadResponseConsumer.java:49)
     at com.teamdev.jxbrowser.internal.rpc.transport.CommonThreadCallExecutor.execute(CommonThreadCallExecutor.java:29)
     at com.teamdev.jxbrowser.internal.rpc.ServiceConnectionImpl.invoke(ServiceConnectionImpl.java:213)
     at com.teamdev.jxbrowser.spellcheck.internal.SpellCheckerImpl.addLanguage(SpellCheckerImpl.java:103)
     at com.ptc.ic.common.ui.swing.richcontent.JxBrowserEngineProvider.addSpellCheckLanguage(JxBrowserEngineProvider.java:46)
     at com.ptc.ic.common.ui.swing.richcontent.JxBrowserEngineProvider.generateEngine(JxBrowserEngineProvider.java:89)
     at mks.ic.ci.ui.swing.richcontent.TinyMCE$TinyMCEEditor.<init>(TinyMCE.java:4076)
     at mks.ic.ci.ui.swing.richcontent.TinyMCE$TinyMCEEditor.getInstance(TinyMCE.java:4184)
     - locked <0xf4242a4> (a java.lang.Class)
     at mks.ic.ci.ui.swing.richcontent.TinyMCE.addTinyMCEEditor(TinyMCE.java:306)
     at mks.ic.ci.ui.swing.richcontent.TinyMCE.addEditorComponentInTable(TinyMCE.java:3245)
     at mks.ic.ci.ui.swing.EditFieldComponentLongText.getTableCellEditorComponent(EditFieldComponentLongText.java:841)
     at mks.ic.ci.ui.swing.DocumentTableCellRendererEditor.getFieldEditor(DocumentTableCellRendererEditor.java:1649)
     at mks.ic.ci.ui.swing.DocumentTableCellRendererEditor.getTableCellEditorComponent(DocumentTableCellRendererEditor.java:1478)
     at javax.swing.JTable.prepareEditor(JTable.java:5812)
...
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
     at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

 

 

"PrivateActionProcessor-im.dv#doc.id=23185298@1726626278806" tid=0x62 in WAITING
    Blocked: 8[-1ms], Waited: 15[-1ms]
    User CPU: 15ms
    Allocated Bytes: 3507208
     at java.lang.Object.wait(Native Method)
     - waiting on <AWT-EventQueue-0> (a java.awt.EventQueue$1AWTInvocationLock)
     at java.lang.Object.wait(Object.java:328)
     at java.awt.EventQueue.invokeAndWait(EventQueue.java:1361)
     at java.awt.EventQueue.invokeAndWait(EventQueue.java:1342)
     at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1480)
     at mks.frame.app.ui.swing.ActionProcessor.perform(ActionProcessor.java:437)
     at mks.frame.app.ui.swing.ActionProcessor$Dequeuer.run(ActionProcessor.java:747)
     at java.lang.Thread.run(Thread.java:829)
  • Chromium Process Logger 线程也没有进展:
"Chromium Process Logger" tid=0x6d in RUNNABLE (running in native)
    Blocked: 0[-1ms], Waited: 0[-1ms]
    User CPU: 0ns
    Allocated Bytes: 29536
     at java.io.FileInputStream.readBytes(Native Method)
     at java.io.FileInputStream.read(FileInputStream.java:279)
     at java.io.BufferedInputStream.read1(BufferedInputStream.java:290)
     at java.io.BufferedInputStream.read(BufferedInputStream.java:351)
     - locked <0x3663c8ac> (a java.io.BufferedInputStream)
     at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
     at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
     at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
     - locked <0x132af1a9> (a java.io.InputStreamReader)
     at java.io.InputStreamReader.read(InputStreamReader.java:181)
     at java.io.BufferedReader.fill(BufferedReader.java:161)
     at java.io.BufferedReader.readLine(BufferedReader.java:326)
     - locked <0x132af1a9> (a java.io.InputStreamReader)
     at java.io.BufferedReader.readLine(BufferedReader.java:392)
     at com.teamdev.jxbrowser.internal.ChromiumProcessLogger.lambda$startLogging$0(ChromiumProcessLogger.java:27)
     at com.teamdev.jxbrowser.internal.ChromiumProcessLogger$$Lambda$307/0x0000000800c50c40.run(Unknown Source)
     at java.lang.Thread.run(Thread.java:829)
  • ​​​​​​​​​​​​​​未使用自定义拼写检查词典
这是文章 431114 的 PDF 版本,可能已过期。最新版本 CS431114