【问题标题】:Kubernetes CrashLoopBackOff InvocationTargetExceptionKubernetes CrashLoopBackOff InvocationTargetException
【发布时间】:2022-08-08 21:24:35
【问题描述】:

当尝试启动我的 Spring Boot 应用程序 pod 时,我陷入了以下错误:

2022-06-02 14:07:21,189 main DEBUG Apache Log4j Core 2.17.1 initializing configuration XmlConfiguration[location=jar:file:/usr/app/api-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/log4j2.xml]
2022-06-02 14:07:21,201 main DEBUG Installed 0 script engines
2022-06-02 14:07:21,201 main DEBUG PluginManager \'Core\' found 127 plugins
2022-06-02 14:07:21,201 main DEBUG PluginManager \'Level\' found 0 plugins
2022-06-02 14:07:21,204 main DEBUG PluginManager \'Lookup\' found 16 plugins
2022-06-02 14:07:21,218 main DEBUG Building Plugin[name=layout, class=org.apache.logging.log4j.core.layout.PatternLayout].
2022-06-02 14:07:21,230 main DEBUG PluginManager \'TypeConverter\' found 26 plugins
2022-06-02 14:07:21,241 main DEBUG PatternLayout$Builder(pattern=\"%highlight{%-5p|%d{ISO8601}{GMT}|thread id:%tid|%X{Slf4jMDCFilter.UUID}| [%t] %logger{36} - %msg%n}{FATAL=red blink, ERROR=red, WARN=yellow bold, INFO=blue, DEBUG=green bold, TRACE=blue}\", PatternSelector=null, Configuration(jar:file:/usr/app/api-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/log4j2.xml), Replace=null, charset=\"UTF-8\", alwaysWriteExceptions=\"null\", disableAnsi=\"false\", noConsoleNoAnsi=\"null\", header=\"null\", footer=\"null\")
2022-06-02 14:07:21,241 main DEBUG PluginManager \'Converter\' found 48 plugins
2022-06-02 14:07:21,288 main DEBUG Building Plugin[name=appender, class=org.apache.logging.log4j.core.appender.ConsoleAppender].
2022-06-02 14:07:21,295 main DEBUG ConsoleAppender$Builder(target=\"SYSTEM_OUT\", follow=\"null\", direct=\"null\", bufferedIo=\"null\", bufferSize=\"null\", immediateFlush=\"null\", ignoreExceptions=\"null\", PatternLayout(%highlight{%-5p|%d{ISO8601}{GMT}|thread id:%tid|%X{Slf4jMDCFilter.UUID}| [%t] %logger{36} - %msg%n}{FATAL=red blink, ERROR=red, WARN=yellow bold, INFO=blue, DEBUG=green bold, TRACE=blue}), name=\"LogToConsole\", Configuration(jar:file:/usr/app/api-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/log4j2.xml), Filter=null, ={})
2022-06-02 14:07:21,298 main DEBUG Starting OutputStreamManager SYSTEM_OUT.false.false
2022-06-02 14:07:21,298 main DEBUG Building Plugin[name=appenders, class=org.apache.logging.log4j.core.config.AppendersPlugin].
2022-06-02 14:07:21,298 main DEBUG createAppenders(={LogToConsole})
2022-06-02 14:07:21,299 main DEBUG Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
2022-06-02 14:07:21,301 main DEBUG createAppenderRef(ref=\"LogToConsole\", level=\"null\", Filter=null)
2022-06-02 14:07:21,302 main DEBUG Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
2022-06-02 14:07:21,303 main DEBUG createLogger(additivity=\"false\", level=\"INFO\", name=\"com.obs.dqsc.api\", includeLocation=\"null\", ={LogToConsole}, ={}, Configuration(jar:file:/usr/app/api-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/log4j2.xml), Filter=null)
2022-06-02 14:07:21,305 main DEBUG Building Plugin[name=AppenderRef, class=org.apache.logging.log4j.core.config.AppenderRef].
2022-06-02 14:07:21,305 main DEBUG createAppenderRef(ref=\"LogToConsole\", level=\"null\", Filter=null)
2022-06-02 14:07:21,305 main DEBUG Building Plugin[name=root, class=org.apache.logging.log4j.core.config.LoggerConfig$RootLogger].
2022-06-02 14:07:21,306 main DEBUG createLogger(additivity=\"false\", level=\"INFO\", includeLocation=\"null\", ={LogToConsole}, ={}, Configuration(jar:file:/usr/app/api-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/log4j2.xml), Filter=null)
2022-06-02 14:07:21,306 main DEBUG Building Plugin[name=loggers, class=org.apache.logging.log4j.core.config.LoggersPlugin].
2022-06-02 14:07:21,307 main DEBUG createLoggers(={com.obs.dqsc.api, root})
2022-06-02 14:07:21,308 main DEBUG Configuration XmlConfiguration[location=jar:file:/usr/app/api-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/log4j2.xml] initialized
2022-06-02 14:07:21,308 main DEBUG Starting configuration XmlConfiguration[location=jar:file:/usr/app/api-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/log4j2.xml]
2022-06-02 14:07:21,308 main DEBUG Started configuration XmlConfiguration[location=jar:file:/usr/app/api-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/log4j2.xml] OK.
2022-06-02 14:07:21,310 main DEBUG Shutting down OutputStreamManager SYSTEM_OUT.false.false-1
2022-06-02 14:07:21,310 main DEBUG OutputStream closed
2022-06-02 14:07:21,310 main DEBUG Shut down OutputStreamManager SYSTEM_OUT.false.false-1, all resources released: true
2022-06-02 14:07:21,310 main DEBUG Appender DefaultConsole-1 stopped with status true
2022-06-02 14:07:21,311 main DEBUG Stopped org.apache.logging.log4j.core.config.DefaultConfiguration@6073f712 OK
Exception in thread \"main\" java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: java.lang.InternalError: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.platform.Metrics.systemMetrics(Metrics.java:65)
        at java.base/jdk.internal.platform.Container.metrics(Container.java:43)
        at jdk.management/com.sun.management.internal.OperatingSystemImpl.<init>(OperatingSystemImpl.java:48)
        at jdk.management/com.sun.management.internal.PlatformMBeanProviderImpl.getOperatingSystemMXBean(PlatformMBeanProviderImpl.java:279)
        at jdk.management/com.sun.management.internal.PlatformMBeanProviderImpl$3.nameToMBeanMap(PlatformMBeanProviderImpl.java:198)
        at java.management/java.lang.management.ManagementFactory.lambda$getPlatformMBeanServer$0(ManagementFactory.java:487)
        at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1766)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at java.management/java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:488)
        at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:140)
        at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:637)
        at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:699)
        at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:716)
        at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:270)
        at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
        at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
        at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
        at org.apache.commons.logging.LogAdapter$Log4jLog.<clinit>(LogAdapter.java:155)
        at org.apache.commons.logging.LogAdapter$Log4jAdapter.createLog(LogAdapter.java:122)
        at org.apache.commons.logging.LogAdapter.createLog(LogAdapter.java:89)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:67)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:59)
        at org.springframework.boot.SpringApplication.<clinit>(SpringApplication.java:201)
        at com.obs.dqsc.api.ApiApplication.main(ApiApplication.java:37)
        ... 8 more
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at java.base/jdk.internal.platform.Metrics.systemMetrics(Metrics.java:61)
        ... 38 more
Caused by: java.lang.ExceptionInInitializerError
        at java.base/jdk.internal.platform.CgroupSubsystemFactory.create(CgroupSubsystemFactory.java:107)
        at java.base/jdk.internal.platform.CgroupMetrics.getInstance(CgroupMetrics.java:167)
        ... 43 more
Caused by: java.lang.NullPointerException
        at java.base/java.util.Objects.requireNonNull(Objects.java:208)
        at java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:260)
        at java.base/java.nio.file.Path.of(Path.java:147)
        at java.base/java.nio.file.Paths.get(Paths.java:69)
        at java.base/jdk.internal.platform.CgroupUtil.lambda$readStringValue$1(CgroupUtil.java:66)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
        at java.base/jdk.internal.platform.CgroupUtil.readStringValue(CgroupUtil.java:68)
        at java.base/jdk.internal.platform.CgroupSubsystemController.getStringValue(CgroupSubsystemController.java:65)
        at java.base/jdk.internal.platform.CgroupSubsystemController.getLongValue(CgroupSubsystemController.java:124)
        at java.base/jdk.internal.platform.cgroupv1.CgroupV1Subsystem.getLongValue(CgroupV1Subsystem.java:272)
        at java.base/jdk.internal.platform.cgroupv1.CgroupV1Subsystem.getHierarchical(CgroupV1Subsystem.java:218)
        at java.base/jdk.internal.platform.cgroupv1.CgroupV1Subsystem.setPath(CgroupV1Subsystem.java:201)
        at java.base/jdk.internal.platform.cgroupv1.CgroupV1Subsystem.setSubSystemControllerPath(CgroupV1Subsystem.java:173)
        at java.base/jdk.internal.platform.cgroupv1.CgroupV1Subsystem.lambda$initSubSystem$5(CgroupV1Subsystem.java:113)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
        at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at java.base/jdk.internal.platform.cgroupv1.CgroupV1Subsystem.initSubSystem(CgroupV1Subsystem.java:113)
        at java.base/jdk.internal.platform.cgroupv1.CgroupV1Subsystem.<clinit>(CgroupV1Subsystem.java:47)

我想知道这是否可能是因为我在 springAOP 中使用 log4j2 以及使用 Reflection api 来跟踪日志的通用方法。

这个错误偶尔会发生,有时它会自动更正,我不知道为什么,在异常中也提到了 UnixFileSystem.java 但我不知道这是什么意思,这可能是一个问题服务器与应用程序无关?

  • 通常,此类问题会通过指向 bugs.openjdk.org/browse/JDK-8272124 的链接来回答。但是,我遇到了这个问题,在那里提到的文件中没有第三个冒号。不过,您可以签入您的 pod。

标签: java spring docker kubernetes kubectl


【解决方案1】:

我也在一个使用 log4j 的完全不相关的项目中遇到了这个问题。你有没有找到解决这个问题的方法?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 2018-09-02
    • 2020-10-28
    • 2018-08-02
    • 2019-05-02
    • 1970-01-01
    • 2020-12-11
    相关资源
    最近更新 更多