Size: a a a

2020 December 29

d

dl in graalvm_ru
Alex
Можно запустить с jvm агентом обычное приложение, он соберёт статистику по рефлекшену и тд, потом с этими данными собрать уже нейтив имейдж
Спасибо! И ведь даже про него читал еще до того, как дошел до текущего состояния, но вылетело из головы.
источник

d

dl in graalvm_ru
λoλdog
Только нужно не забыть, чтобы приложение прошло по всему графу с этим рефлекшином)
Да, это понятно, спасибо. Эх, с Excelsior-ом было намного удобнее.
источник

A

Alex in graalvm_ru
λoλdog
Только нужно не забыть, чтобы приложение прошло по всему графу с этим рефлекшином)
Даже если не пройдёт, то все равно часть опишет уже :) все же не все ручками
источник

λ

λoλdog in graalvm_ru
Alex
Даже если не пройдёт, то все равно часть опишет уже :) все же не все ручками
Ну да, несколько итерации и аппенд помогут)
источник

d

dl in graalvm_ru
Хм, похоже, приехали. Пока читал доку, запустил еще раз сборку, добавив в reflectconfig.json класс org.apache.logging.log4j.core.impl.Log4jContextFactory, и получил
Fatal error:com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing org.graalvm.home.HomeFinder.getInstance()
Parsing context:
 parsing org.graalvm.polyglot.Engine.getVersion(Engine.java:203)
 parsing com.oracle.truffle.js.scriptengine.GraalJSEngineFactory.getEngineVersion(GraalJSEngineFactory.java:132)
 parsing com.oracle.truffle.js.scriptengine.GraalJSEngineFactory.getParameter(GraalJSEngineFactory.java:168)
 parsing org.apache.logging.log4j.core.script.ScriptManager.<init>(ScriptManager.java:84)
 parsing org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:219)
 parsing org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288)
 parsing org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:618)
 parsing org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:691)
 parsing org.apache.logging.log4j.core.LoggerContext.setConfigLocation(LoggerContext.java:676)
 parsing org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:219)
 parsing org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:135)
 parsing org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:200)
 parsing com.oracle.svm.reflect.Log4jContextFactory_getContext_ff3c1b010760d32b1db2a47afcac92751d7ec73e_39.invoke(Unknown Source)
 parsing java.lang.reflect.Method.invoke(Method.java:498)
 parsing com.primavera.integration.client.Session.a(Session.java:388)
 parsing com.primavera.integration.client.Session.login(Session.java:376)
 parsing ApiTest.login(ApiTest.java:115)
 parsing ApiTest.run(ApiTest.java:125)
 parsing ApiTest.main(ApiTest.java:34)
 parsing com.oracle.svm.core.JavaMainWrapper.runCore(JavaMainWrapper.java:146)
 parsing com.oracle.svm.core.JavaMainWrapper.run(JavaMainWrapper.java:182)
 parsing com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)

 at com.oracle.graal.pointsto.util.AnalysisError.parsingError(AnalysisError.java:138)
 at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:331)
 at com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureParsed(MethodTypeFlow.java:302)
 at com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:103)
 at com.oracle.graal.pointsto.flow.StaticInvokeTypeFlow.update(InvokeTypeFlow.java:434)
 at com.oracle.graal.pointsto.BigBang$2.run(BigBang.java:547)
 at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$execute$0(CompletionExecutor.java:173)
 at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
 at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
 at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
 at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
 at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
Caused by: com.oracle.svm.core.util.UserError$UserException: ImageSingletons do not contain key org.graalvm.home.HomeFinder
источник

d

dl in graalvm_ru
источник

OS

Oleg Shelajev in graalvm_ru
Это интересно, это надо сделать issue
источник

OS

Oleg Shelajev in graalvm_ru
Это не про логгер
источник

OS

Oleg Shelajev in graalvm_ru
А если добавить --language:js к аргументам native-image команды ничего не меняется?
источник

d

dl in graalvm_ru
Oleg Shelajev
А если добавить --language:js к аргументам native-image команды ничего не меняется?
Запустил, посмотрим. Но при чем тут js?
источник

OS

Oleg Shelajev in graalvm_ru
Не знаю, я вижу там graaljsenginefactory
источник

OS

Oleg Shelajev in graalvm_ru
А самом верху простыни вот той
источник

d

dl in graalvm_ru
Oleg Shelajev
Не знаю, я вижу там graaljsenginefactory
А, точно. И оно собралось, но тут я совсем не понимаю, что произошло.
источник

OS

Oleg Shelajev in graalvm_ru
В смысле?
источник

d

dl in graalvm_ru
Oleg Shelajev
В смысле?
Откуда вообще вылез JS. Это баг парсера грааля или еще чего?
источник

OS

Oleg Shelajev in graalvm_ru
Я думаю вы его используете? Сделай ишшуе пожалуйста
источник

OS

Oleg Shelajev in graalvm_ru
источник

OS

Oleg Shelajev in graalvm_ru
А может его лог4дж использует типа насхорна
источник

d

dl in graalvm_ru
Oleg Shelajev
Я думаю вы его используете? Сделай ишшуе пожалуйста
Точно не используем, приложение всего-то в пару строк. Да и как его использовать в чистой яве?
источник

d

dl in graalvm_ru
issue пока рано, надо сначала будет локализовать проблему
источник