dcSpark / milkomeda-c1-evm-passive

Milkomeda evm node configurations for partners wanting to connect to the evm nodes p2p network
MIT License
15 stars 5 forks source link

Logging permissions #14

Closed tropicalrussian closed 2 years ago

tropicalrussian commented 2 years ago

I'm trying to get the node running on a fresh server, and on running ./start.sh -n c1-mainnet -r -t get this followed by a crash:

Unable to create file /tmp/besu/besu-localhost.log java.io.IOException: Permission denied besu_1 | at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method) besu_1 | at java.base/java.io.File.createNewFile(File.java:1035) besu_1 | at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:733) besu_1 | at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:716) besu_1 | at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:144) besu_1 | at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100) besu_1 | at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217) besu_1 | at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146) besu_1 | at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62) besu_1 | at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651) besu_1 | at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:41) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295) besu_1 | at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621) besu_1 | at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694) besu_1 | at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711) besu_1 | at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253) besu_1 | at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155) besu_1 | at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47) besu_1 | at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196) besu_1 | at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137) besu_1 | at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:55) besu_1 | at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47) besu_1 | at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33) besu_1 | at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358) besu_1 | at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383) besu_1 | at org.hyperledger.besu.Besu.setupLogging(Besu.java:70) besu_1 | at org.hyperledger.besu.Besu.main(Besu.java:36) besu_1 | besu_1 | 2022-06-15 16:30:37,506 main ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateException: ManagerFactory [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@49c7b90e] unable to create manager for [/tmp/besu/besu-localhost.log] with data [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@10d307f1[pattern=/tmp/besu/besu-localhost-%i.log, append=true, bufferedIO=true, bufferSize=8192, policy=CompositeTriggeringPolicy(policies=[SizeBasedTriggeringPolicy(size=10485760)]), strategy=DefaultRolloverStrategy(min=1, max=7, useMax=true), advertiseURI=null, layout={"timestamp":"%d{ISO8601}","container":"localhost","level":"%level","thread":"%t","class":"%c{1}","message":"%msg","throwable":"%enc{%throwable}{JSON}"}%n, filePermissions=null, fileOwner=null]] java.lang.IllegalStateException: ManagerFactory [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@49c7b90e] unable to create manager for [/tmp/besu/besu-localhost.log] with data [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@10d307f1[pattern=/tmp/besu/besu-localhost-%i.log, append=true, bufferedIO=true, bufferSize=8192, policy=CompositeTriggeringPolicy(policies=[SizeBasedTriggeringPolicy(size=10485760)]), strategy=DefaultRolloverStrategy(min=1, max=7, useMax=true), advertiseURI=null, layout={"timestamp":"%d{ISO8601}","container":"localhost","level":"%level","thread":"%t","class":"%c{1}","message":"%msg","throwable":"%enc{%throwable}{JSON}"}%n, filePermissions=null, fileOwner=null]] besu_1 | at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:146) besu_1 | at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100) besu_1 | at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217) besu_1 | at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146) besu_1 | at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62) besu_1 | at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651) besu_1 | at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:41) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295) besu_1 | at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621) besu_1 | at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694) besu_1 | at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711) besu_1 | at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253) besu_1 | at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155) besu_1 | at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47) besu_1 | at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196) besu_1 | at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137) besu_1 | at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:55) besu_1 | at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47) besu_1 | at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33) besu_1 | at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358) besu_1 | at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383) besu_1 | at org.hyperledger.besu.Besu.setupLogging(Besu.java:70) besu_1 | at org.hyperledger.besu.Besu.main(Besu.java:36) besu_1 | besu_1 | 2022-06-15 16:30:37,510 main ERROR Unable to invoke factory method in class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender besu_1 | at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:238) besu_1 | at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:136) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651) besu_1 | at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:41) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295) besu_1 | at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621) besu_1 | at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694) besu_1 | at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711) besu_1 | at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253) besu_1 | at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155) besu_1 | at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47) besu_1 | at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196) besu_1 | at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137) besu_1 | at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:55) besu_1 | at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47) besu_1 | at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33) besu_1 | at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358) besu_1 | at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383) besu_1 | at org.hyperledger.besu.Besu.setupLogging(Besu.java:70) besu_1 | at org.hyperledger.besu.Besu.main(Besu.java:36) besu_1 | besu_1 | 2022-06-15 16:30:37,512 main ERROR Null object returned for RollingFile in Appenders. besu_1 | 2022-06-15 16:30:37,519 main ERROR Unable to locate appender "RollingFile" for logger config "root" besu_1 | 2022-06-15 16:30:37,620 main INFO Registered Log4j as the java.util.logging.LogManager. besu_1 | 2022-06-15 16:30:38,681 main ERROR Unable to create file /tmp/besu/besu-localhost.log java.io.IOException: Permission denied besu_1 | at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method) besu_1 | at java.base/java.io.File.createNewFile(File.java:1035) besu_1 | at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:733) besu_1 | at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:716) besu_1 | at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:144) besu_1 | at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100) besu_1 | at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217) besu_1 | at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146) besu_1 | at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62) besu_1 | at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651) besu_1 | at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:41) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249) besu_1 | at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295) besu_1 | at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621) besu_1 | at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694) besu_1 | at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711) besu_1 | at org.hyperledger.besu.util.Log4j2ConfiguratorUtil.reconfigure(Log4j2ConfiguratorUtil.java:96) besu_1 | at org.hyperledger.besu.cli.BesuCommand.configureLogging(BesuCommand.java:1608) besu_1 | at org.hyperledger.besu.cli.BesuCommand.run(BesuCommand.java:1334) besu_1 | at picocli.CommandLine.executeUserObject(CommandLine.java:1939) besu_1 | at picocli.CommandLine.access$1300(CommandLine.java:145) besu_1 | at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358) besu_1 | at picocli.CommandLine$RunLast.handle(CommandLine.java:2352) besu_1 | at picocli.CommandLine$RunLast.handle(CommandLine.java:2314) besu_1 | at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:2172) besu_1 | at picocli.CommandLine.parseWithHandlers(CommandLine.java:2559) besu_1 | at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:54) besu_1 | at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:31) besu_1 | at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:2172) besu_1 | at picocli.CommandLine.parseWithHandlers(CommandLine.java:2559) besu_1 | at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1518) besu_1 | at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1327) besu_1 | at org.hyperledger.besu.Besu.main(Besu.java:49)

I encountered this when I previously ran the node on another server, and was able to fix by changing the permissions in /tmp/besu and /opt/besu. However I've done that this time and haven't been able to solve:

[/tmp] drwxrwxrwx 2 root root 4096 Jun 14 16:55 besu [/opt] drwxrwxrwx 3 root root 4096 Jun 14 17:00 besu

I'm running the script as root currently, but I've also tried chowning the user and group to docker:docker and running as the docker user, as well as changing the owner group to users, etc, with no difference in result.

I know this is basically a Docker issue rather than one with the node...but I'm at my wit's end with this. Any ideas?

rinor commented 2 years ago

https://github.com/dcSpark/milkomeda-evm-passive#permission-denied should be enough

tropicalrussian commented 2 years ago

Thanks @rinor that worked.