platonai / PulsarRPAPro

PulsarRPA Pro Edition: Empower Your Workflows with AI-Driven Web Data Extraction.
92 stars 25 forks source link

demo报错 是否能升级到最新pulsar版本 #22

Open sharfy opened 2 months ago

sharfy commented 2 months ago

mac 跑demo发现闪退,前面用 pulsar 1.13.2 跑可以,用 PulsarRPAPro跑报错,是否是PulsarRPAPro 使用pulsar老版本问题

2024-08-02 16:01:31.860 WARN [main] a.p.p.p.b.d.c.ChromeDevtoolsBrowser - ai.platon.pulsar.crawl.fetch.driver.WebDriverException: createDevTools at ai.platon.pulsar.protocol.browser.driver.cdt.ChromeDevtoolsBrowser.createDevTools(ChromeDevtoolsBrowser.kt:221) at ai.platon.pulsar.protocol.browser.driver.cdt.ChromeDevtoolsBrowser.newDriver(ChromeDevtoolsBrowser.kt:141) at ai.platon.pulsar.protocol.browser.driver.cdt.ChromeDevtoolsBrowser.newDriver(ChromeDevtoolsBrowser.kt:64) at ai.platon.pulsar.protocol.browser.driver.cdt.ChromeDevtoolsBrowser.newDriver(ChromeDevtoolsBrowser.kt:19) at ai.platon.pulsar.protocol.browser.driver.LoadingWebDriverPool.computeBrowserAndDriver0(LoadingWebDriverPool.kt:402) at ai.platon.pulsar.protocol.browser.driver.LoadingWebDriverPool.computeBrowserAndDriver(LoadingWebDriverPool.kt:356) at ai.platon.pulsar.protocol.browser.driver.LoadingWebDriverPool.resourceSafeCreateDriverIfNecessary(LoadingWebDriverPool.kt:346) at ai.platon.pulsar.protocol.browser.driver.LoadingWebDriverPool.pollWebDriver(LoadingWebDriverPool.kt:322) at ai.platon.pulsar.protocol.browser.driver.LoadingWebDriverPool.poll(LoadingWebDriverPool.kt:209) at ai.platon.pulsar.protocol.browser.driver.LoadingWebDriverPool.poll(LoadingWebDriverPool.kt:204) at ai.platon.pulsar.protocol.browser.driver.LoadingWebDriverPool.pollWithEvents(LoadingWebDriverPool.kt:312) at ai.platon.pulsar.protocol.browser.driver.LoadingWebDriverPool.poll(LoadingWebDriverPool.kt:231) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager.runWithDriverPool(WebDriverPoolManager.kt:482) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager.access$runWithDriverPool(WebDriverPoolManager.kt:32) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager$runWithDriverPool$2.invokeSuspend(WebDriverPoolManager.kt:450) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager$runWithDriverPool$2.invoke(WebDriverPoolManager.kt) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager$runWithDriverPool$2.invoke(WebDriverPoolManager.kt) at ai.platon.pulsar.common.PreemptChannelSupport.whenNormalDeferred(PreemptChannelSupport.kt:62) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager.runWithDriverPool(WebDriverPoolManager.kt:438) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager.doRun(WebDriverPoolManager.kt:419) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager.run(WebDriverPoolManager.kt:158) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager.run(WebDriverPoolManager.kt:137) at ai.platon.pulsar.protocol.browser.emulator.context.WebDriverContext.run(WebDriverContext.kt:76) at ai.platon.pulsar.protocol.browser.emulator.context.BrowserPrivacyContext.doRun$suspendImpl(BrowserPrivacyContext.kt:65) at ai.platon.pulsar.protocol.browser.emulator.context.BrowserPrivacyContext.doRun(BrowserPrivacyContext.kt) at ai.platon.pulsar.crawl.fetch.privacy.PrivacyContext.run$suspendImpl(PrivacyContext.kt:285) at ai.platon.pulsar.crawl.fetch.privacy.PrivacyContext.run(PrivacyContext.kt) at ai.platon.pulsar.protocol.browser.emulator.context.BasicPrivacyContextManager.run1(BasicPrivacyContextManager.kt:96) at ai.platon.pulsar.protocol.browser.emulator.context.BasicPrivacyContextManager.run0(BasicPrivacyContextManager.kt:84) at ai.platon.pulsar.protocol.browser.emulator.context.BasicPrivacyContextManager.run(BasicPrivacyContextManager.kt:35) at ai.platon.pulsar.protocol.browser.emulator.impl.BrowserEmulatedFetcherImpl.fetchTaskDeferred(BrowserEmulatedFetcherImpl.kt:102) at ai.platon.pulsar.protocol.browser.emulator.impl.BrowserEmulatedFetcherImpl.fetchContentDeferred$suspendImpl(BrowserEmulatedFetcherImpl.kt:87) at ai.platon.pulsar.protocol.browser.emulator.impl.BrowserEmulatedFetcherImpl.fetchContentDeferred(BrowserEmulatedFetcherImpl.kt) at ai.platon.pulsar.protocol.browser.emulator.impl.BrowserEmulatedFetcherImpl$fetchContent$1.invokeSuspend(BrowserEmulatedFetcherImpl.kt:61) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85) at kotlinx.coroutines.BuildersKtBuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKtBuildersKt.runBlocking$default(Builders.kt:38) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at ai.platon.pulsar.protocol.browser.emulator.impl.BrowserEmulatedFetcherImpl.fetchContent(BrowserEmulatedFetcherImpl.kt:60) at ai.platon.pulsar.protocol.browser.BrowserEmulatorProtocol.getResponse(BrowserEmulatorProtocol.kt:45) at ai.platon.pulsar.crawl.protocol.http.AbstractHttpProtocol.getProtocolOutputWithRetry(AbstractHttpProtocol.kt:119) at ai.platon.pulsar.crawl.protocol.http.AbstractHttpProtocol.getProtocolOutput(AbstractHttpProtocol.kt:88) at ai.platon.pulsar.crawl.component.FetchComponent.fetchContent0(FetchComponent.kt:114) at ai.platon.pulsar.crawl.component.FetchComponent.fetchContent(FetchComponent.kt:78) at ai.platon.pulsar.crawl.component.LoadComponent.fetchContent(LoadComponent.kt:577) at ai.platon.pulsar.crawl.component.LoadComponent.fetchContentIfNecessary(LoadComponent.kt:336) at ai.platon.pulsar.crawl.component.LoadComponent.load1(LoadComponent.kt:300) at ai.platon.pulsar.crawl.component.LoadComponent.load0(LoadComponent.kt:293) at ai.platon.pulsar.crawl.component.LoadComponent.loadWithRetry(LoadComponent.kt:193) at ai.platon.pulsar.crawl.component.LoadComponent.load(LoadComponent.kt:161) at ai.platon.pulsar.context.support.AbstractPulsarContext.load(AbstractPulsarContext.kt:382) at ai.platon.pulsar.session.AbstractPulsarSession.loadAndCache(AbstractPulsarSession.kt:480) at ai.platon.pulsar.session.AbstractPulsarSession.load(AbstractPulsarSession.kt:179) at ai.platon.pulsar.session.AbstractPulsarSession.loadDocument(AbstractPulsarSession.kt:318) at ai.platon.pulsar.session.AbstractPulsarSession.loadOutPages0(AbstractPulsarSession.kt:564) at ai.platon.pulsar.session.AbstractPulsarSession.loadOutPages(AbstractPulsarSession.kt:272) at ai.platon.pulsar.session.AbstractPulsarSession.loadOutPages(AbstractPulsarSession.kt:268) at ai.platon.pulsar.session.AbstractPulsarSession.loadOutPages(AbstractPulsarSession.kt:266) at ai.platon.exotic.examples.sites.ec.patpat.PatpatCrawlerKt.main(PatpatCrawler.kt:8) at ai.platon.exotic.examples.sites.ec.patpat.PatpatCrawlerKt.main(PatpatCrawler.kt) Caused by: java.lang.RuntimeException: Failed creating proxy from abstract class at ai.platon.pulsar.browser.driver.chrome.util.ProxyClasses.createProxyFromAbstract(Reflects.kt:47) at ai.platon.pulsar.browser.driver.chrome.impl.ChromeImpl.createDevTools0(ChromeImpl.kt:134) at ai.platon.pulsar.browser.driver.chrome.impl.ChromeImpl.access$createDevTools0(ChromeImpl.kt:21) at ai.platon.pulsar.browser.driver.chrome.impl.ChromeImpl$createDevTools$1.invoke(ChromeImpl.kt:92) at ai.platon.pulsar.browser.driver.chrome.impl.ChromeImpl$createDevTools$1.invoke(ChromeImpl.kt:92) at ai.platon.pulsar.browser.driver.chrome.impl.ChromeImpl.createDevTools$lambda$0(ChromeImpl.kt:92) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) at ai.platon.pulsar.browser.driver.chrome.impl.ChromeImpl.createDevTools(ChromeImpl.kt:92) at ai.platon.pulsar.protocol.browser.driver.cdt.ChromeDevtoolsBrowser.createDevTools(ChromeDevtoolsBrowser.kt:220) ... 63 more Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @266374ef 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 javassist.util.proxy.SecurityActions.setAccessible(SecurityActions.java:102) at javassist.util.proxy.FactoryHelper.toClass2(FactoryHelper.java:180) at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:163) at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:501) at javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:486) at javassist.util.proxy.ProxyFactory.createClass1(ProxyFactory.java:422) at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:394) at javassist.util.proxy.ProxyFactory.create(ProxyFactory.java:649) at javassist.util.proxy.ProxyFactory.create(ProxyFactory.java:634) at ai.platon.pulsar.browser.driver.chrome.util.ProxyClasses.createProxyFromAbstract(Reflects.kt:42) ... 71 more

platonai commented 2 months ago

Upgraded, please pull the latest main branch.