IllegalStateException Ошибка при создании файлов информации об узле - PullRequest
0 голосов
/ 03 октября 2018

У меня возникает следующая проблема при выполнении команды gradle clean deployNodes на компьютере с AWS Ubuntu для проекта Corda:

Error while generating node info files 

Я использую библиотеки Corda ENT.

И что интереснотот же проект Corda работает на компьютере с Windows, но не работает на компьютере с AWS.

JDK 1.8.181 и Gradle 4.10.2 на компьютере с AWS и Windows.

Он просит проверить файлы журналов, но журналы показываютничего не связано с ошибкой ...

Не могли бы вы помочь с этой проблемой?

Это дает исключение для:

if (!process.waitFor(3, TimeUnit.MINUTES)) {
    process.destroyForcibly()
    throw IllegalStateException("Error while generating node info file. Please check the logs in $logsDir.")
}

Я понял, что этот блок кодаИз вышеупомянутого метода всегда выдается исключение, когда время, затрачиваемое задачей deployNodes, превышает 3 минуты.

У меня 8 узлов в сети Corda, и я пытаюсь создать эти узлы с помощью команды gradle clean deployNodes.

Может ли кто-нибудь помочь с этим?

Причина: java.lang.IllegalStateException: Ошибка при создании файла информации об узле.Пожалуйста, проверьте журналы в / home / ubuntu / xxx / build / node / nodeA / logs.в net.corda.nodeapi.internal.network.NetworkBootstrapper $ Companion.generateNodeInfo (NetworkBootstrapper.kt: 112) в net.corda.nodeapi.internal.network.NetworkBootstrapper $ Companion.access $ generateNodeInfo (NetworkBootstrapper.kt: 71):.corda.nodeapi.internal.network.NetworkBootstrapper $ Companion $ generateNodeInfos $ 1 $ 1.invoke (NetworkBootstrapper.kt: 95) в сети net.corda.nodeapi.internal.network.NetworkBootstrapper $ Companion $ generateNodeInfos $ 1 $ 1.ootstra (71) в net.corda.core.internal.concurrent.ValueOrException $ DefaultImpls.capture (CordaFutureImpl.kt: 140) в net.corda.core.internal.concurrent.OpenFuture $ DefaultImpls.capture (CordaFutureImpl.kt) в сети..core.internal.concurrent.CordaFutureImpl.capture (CordaFutureImpl.kt: 152)

1 Ответ

0 голосов
/ 03 октября 2018

Как предложено Каисом и Стефано, ниже приведен ответ на поставленный выше вопрос.

Используйте эти шаги для настройки JVM для использования / dev / urandom: -

  1. Откройте файл $ JAVA_HOME / jre / lib / security / java.security в текстовом редакторе.

    на моей машине: /usr/lib/jvm/java-8-oracle/jre/lib/security/java.security

  2. Измените строку « securerandom.source = file: / dev / random

    читать следующим образом: securerandom.source = file: / dev /./ urandom

  3. Сохраните изменения и выйдите из текстового редактора.

И поскольку в JDK есть ошибка, когда вы используете / dev / urandom, вы должны установить ее как / dev /./urandom

В качестве альтернативы вы можете использовать: -

Вы также можете установить системное свойство «java.security.egd», которое переопределит параметр securerandom.source.-Djava.security.egd = file: / dev /./ urandom

в командной строке при запуске прохода начальной загрузки: -Djava.security.egd=file:/dev/./urandom

Проверьте ниже URL для получения дополнительной информации.

http://ruleoftech.com/2016/avoiding-jvm-delays-caused-by-random-number-generation

...