咨询下大佬,运行一段时间后报错:java.lang.RuntimeException: Error creating extended parser class: Could not determine whether class 'org.pegdown.Parser$$parboiled' has already been loaded

2022-02-16 11:30:41 INFO [Crawler.742.parsePageContext] currentContentHash=bcd5d4e0a158d01a4b2e1889d2002e49 lastContentHash=bcd5d4e0a158d01a4b2e1889d2002e49
2022-02-16 11:30:41 INFO [Crawler.746.parsePageContext] ui not change
2022-02-16 11:30:41 INFO [Crawler.1201.saveDom] save to 20220216112920_com.brick.breaker.royal.king/19_com.brick.breaker.royal.king.UnityPlayerActivity.tag=Back.depth=2.id=Back.name=Back.clicked.xml
2022-02-16 11:30:41 INFO [URIElementStore.90.saveResDom] save resDom to 19
2022-02-16 11:30:41 INFO [ReportPlugin.33.$anonfun$afterElementAction$1] generate test report
2022-02-16 11:30:41 INFO [ReportPlugin.78.generateReport] reportPath=D:\craw\20220216112920_com.brick.breaker.royal.king
2022-02-16 11:30:41 INFO [ScalaTestRuntime.15.genTestCase] save testcase
2022-02-16 11:30:41 INFO [ReportFactory$.33.initReportPath] reportPath=D:\craw\20220216112920_com.brick.breaker.royal.king
2022-02-16 11:30:41 INFO [ReportFactory$.35.initReportPath] testcaseDir=D:\craw\20220216112920_com.brick.breaker.royal.king/tmp/
2022-02-16 11:30:41 INFO [ScalaTestRuntime.22.$anonfun$genTestCase$2] gen testcase class com.brick.breaker.royal.king.UnityPlayerActivity
2022-02-16 11:30:41 TRACE [SuiteToClass$.41.genTestCaseClass] classNameFormat=com.brick.breaker.royal.king.UnityPlayerActivity
2022-02-16 11:30:41 TRACE [SuiteToClass$.57.genTestCaseClass] uri_$eq(“com.brick.breaker.royal.king.UnityPlayerActivity”);
name_$eq(“com.brick.breaker.royal.king.UnityPlayerActivity”);
2022-02-16 11:30:41 DEBUG [SuiteToClass$.61.genTestCaseClass] write to D:\craw\20220216112920_com.brick.breaker.royal.king/tmp/
2022-02-16 11:30:41 INFO [ScalaTestRuntime.22.$anonfun$genTestCase$2] gen testcase class Steps
2022-02-16 11:30:41 TRACE [SuiteToClass$.41.genTestCaseClass] classNameFormat=Steps
2022-02-16 11:30:41 TRACE [SuiteToClass$.57.genTestCaseClass] uri_$eq(“Steps”);
name_$eq(“Steps”);
2022-02-16 11:30:41 DEBUG [SuiteToClass$.61.genTestCaseClass] write to D:\craw\20220216112920_com.brick.breaker.royal.king/tmp/
2022-02-16 11:30:41 DEBUG [ScalaTestRuntime.42.runTestCase] -RD:\craw\20220216112920_com.brick.breaker.royal.king/tmp/-oF-uD:\craw\20220216112920_com.brick.breaker.royal.king-hD:\craw\20220216112920_com.brick.breaker.royal.king
2022-02-16 11:30:41 INFO [ScalaTestRuntime.59.runTestCase] run -R D:\craw\20220216112920_com.brick.breaker.royal.king/tmp/ -oF -u D:\craw\20220216112920_com.brick.breaker.royal.king -h D:\craw\20220216112920_com.brick.breaker.royal.king
An exception or error caused a run to abort. This may have been caused by a problematic custom reporter.
java.lang.RuntimeException: Error creating extended parser class: Could not determine whether class ‘org.pegdown.Parser$$parboiled’ has already been loaded
at org.parboiled.Parboiled.createParser(Parboiled.java:58)
at org.pegdown.PegDownProcessor.(PegDownProcessor.java:94)
at org.pegdown.PegDownProcessor.(PegDownProcessor.java:73)
at org.pegdown.PegDownProcessor.(PegDownProcessor.java:54)
at org.pegdown.PegDownProcessor.(PegDownProcessor.java:47)
at org.scalatest.tools.HtmlReporter.(HtmlReporter.scala:117)
at org.scalatest.tools.ReporterFactory.createHtmlReporter(ReporterFactory.scala:192)
at org.scalatest.tools.ReporterFactory.getReporterFromConfiguration(ReporterFactory.scala:239)
at org.scalatest.tools.ReporterFactory.$anonfun$createReportersFromConfigurations$1(ReporterFactory.scala:248)
at scala.collection.Iterator$$anon$9.next(Iterator.scala:575)
at scala.collection.immutable.List.prependedAll(List.scala:156)
at scala.collection.immutable.List$.from(List.scala:651)
at scala.collection.immutable.List$.from(List.scala:648)
at scala.collection.SeqFactory$Delegate.from(Factory.scala:306)
at scala.collection.immutable.Seq$.from(Seq.scala:42)
at scala.collection.immutable.Seq$.from(Seq.scala:39)
at scala.collection.IterableOps.map(Iterable.scala:671)
at scala.collection.IterableOps.map$(Iterable.scala:671)
at org.scalatest.tools.ReporterConfigurations.map(ReporterConfiguration.scala:42)
at org.scalatest.tools.ReporterFactory.createReportersFromConfigurations(ReporterFactory.scala:247)
at org.scalatest.tools.ReporterFactory.getDispatchReporter(ReporterFactory.scala:251)
at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1507)
at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1011)
at org.scalatest.tools.Runner$.run(Runner.scala:850)
at com.ceshiren.appcrawler.plugin.scalatest.ScalaTestRuntime.runTestCase(ScalaTestRuntime.scala:60)
at com.ceshiren.appcrawler.plugin.ReportPlugin.generateReport(ReportPlugin.scala:82)
at com.ceshiren.appcrawler.plugin.ReportPlugin.$anonfun$afterElementAction$1(ReportPlugin.scala:35)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at com.ceshiren.appcrawler.utils.LogicUtils$$anon$1.call(LogicUtils.scala:69)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.RuntimeException: Could not determine whether class ‘org.pegdown.Parser$$parboiled’ has already been loaded
at org.parboiled.transform.AsmUtils.findLoadedClass(AsmUtils.java:213)
at org.parboiled.transform.ParserTransformer.transformParser(ParserTransformer.java:35)
at org.parboiled.Parboiled.createParser(Parboiled.java:54)
… 32 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.findLoadedClass(java.lang.String) accessible: module java.base does not “opens java.lang” to unnamed module @36902638
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at org.parboiled.transform.AsmUtils.findLoadedClass(AsmUtils.java:206)
… 34 more
2022-02-16 11:32:41 INFO [LogicUtils$.91.asyncTask] use time 120.001 seconds name=report result=error
2022-02-16 11:32:43 ERROR [Crawler.221.crawlWithRetry] crawl not finish, return with exception
2022-02-16 11:32:43 ERROR [Crawler.222.crawlWithRetry] null
2022-02-16 11:32:43 ERROR [Crawler.223.crawlWithRetry] TimeoutException:
2022-02-16 11:32:43 ERROR [Crawler.224.crawlWithRetry] java.util.concurrent.TimeoutException
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] java.util.concurrent.TimeoutException
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.utils.LogicUtils$.$anonfun$asyncTask$1(LogicUtils.scala:75)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at scala.util.Try$.apply(Try.scala:210)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.utils.LogicUtils$.asyncTask(LogicUtils.scala:66)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.plugin.ReportPlugin.afterElementAction(ReportPlugin.scala:32)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.$anonfun$afterElementAction$2(Crawler.scala:803)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.$anonfun$afterElementAction$2$adapted(Crawler.scala:803)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at scala.collection.AbstractIterable.foreach(Iterable.scala:919)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.afterElementAction(Crawler.scala:803)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.crawl(Crawler.scala:1024)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.$anonfun$crawlWithRetry$1(Crawler.scala:214)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at scala.util.Try$.apply(Try.scala:210)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.crawlWithRetry(Crawler.scala:214)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.core.Crawler.start(Crawler.scala:171)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:319)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:286)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler$.main(AppCrawler.scala:73)
2022-02-16 11:32:43 ERROR [Crawler.225.$anonfun$crawlWithRetry$2] at com.ceshiren.appcrawler.AppCrawler.main(AppCrawler.scala)
2022-02-16 11:32:43 ERROR [Crawler.226.crawlWithRetry] create new session
Exception in thread “main” java.util.concurrent.TimeoutException
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204)
at com.ceshiren.appcrawler.utils.LogicUtils$.$anonfun$asyncTask$1(LogicUtils.scala:75)
at scala.util.Try$.apply(Try.scala:210)
at com.ceshiren.appcrawler.utils.LogicUtils$.asyncTask(LogicUtils.scala:66)
at com.ceshiren.appcrawler.plugin.ReportPlugin.afterElementAction(ReportPlugin.scala:32)
at com.ceshiren.appcrawler.core.Crawler.$anonfun$afterElementAction$2(Crawler.scala:803)
at com.ceshiren.appcrawler.core.Crawler.$anonfun$afterElementAction$2$adapted(Crawler.scala:803)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterable.foreach(Iterable.scala:919)
at com.ceshiren.appcrawler.core.Crawler.afterElementAction(Crawler.scala:803)
at com.ceshiren.appcrawler.core.Crawler.crawl(Crawler.scala:1024)
at com.ceshiren.appcrawler.core.Crawler.$anonfun$crawlWithRetry$1(Crawler.scala:214)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at scala.util.Try$.apply(Try.scala:210)
at com.ceshiren.appcrawler.core.Crawler.crawlWithRetry(Crawler.scala:214)
at com.ceshiren.appcrawler.core.Crawler.start(Crawler.scala:171)
at com.ceshiren.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:319)
at com.ceshiren.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:286)
at com.ceshiren.appcrawler.AppCrawler$.main(AppCrawler.scala:73)
at com.ceshiren.appcrawler.AppCrawler.main(AppCrawler.scala)

运行一段时间后报错,查了一会不知道是什么原因,想问问大佬

这个问题貌似是第一次遇到,可能跟特殊符号有关

好的,谢谢大佬回复, 我自己再查查看

老哥,问下你这个问题解决了嘛?怎么解决的?

大家解决了没有呀

没,你那里好了嘛

你的java版本是多少呀

如果是java16的话,尝试更换版本试试


https://github.com/sirthias/parboiled/issues/175
https://github.com/lightbend/paradox/issues/491

好的,我的就是16,谢谢~

我的是java18,也出现这个问题,请问是怎么解决的

也发下报错信息和java版本截图吧

可以临时降低下版本,java18我还没测试过。我十一期间会再更新一版。

好的,感谢大佬 :pray:

切换到java 17后可以跑了

关闭