java.lang.IllegalStateException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • With a default logback.xml containing this <?xml version="1.0" encoding="UTF-8"?> <configuration> <contextName>Foo</contextName> [..] </configuration> reloading the Logback configuration by means of private static void initLogbackConfig(URL configUrl) { ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory(); if(loggerFactory instanceof LoggerContext) { LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); // reset previous configuration initially loaded from logback.xml loggerContext.reset(); JoranConfigurator configurator = new JoranConfigurator(); configurator.setContext(loggerContext); try { configurator.doConfigure(configUrl); StatusPrinter.print(loggerContext); } catch(JoranException ex) { StatusPrinter.print(loggerContext); } } } with a file containing <?xml version="1.0" encoding="UTF-8"?> <configuration> <contextName>Foobar</contextName> [..] </configuration> produces the following error: 12:21:28,919 |-ERROR in ch.qos.logback.classic.joran.action.ContextNameAction - Failed to rename context [Foo] as [Foobar] java.lang.IllegalStateException: Context has been already given a name at java.lang.IllegalStateException: Context has been already given a name at at ch.qos.logback.core.ContextBase.setName(ContextBase.java:128) at at ch.qos.logback.classic.LoggerContext.setName(LoggerContext.java:107) at at ch.qos.logback.classic.joran.action.ContextNameAction.body(ContextNameAction.java:31) at at ch.qos.logback.core.joran.spi.Interpreter.callBodyAction(Interpreter.java:296) at at ch.qos.logback.core.joran.spi.Interpreter.characters(Interpreter.java:176) at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:57) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:157) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:143) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:106) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:56) Is this expected behavior? After all, loggerContext.reset() has been called and I'd assume that this would also reset the contextName. Feels like a bug.
    via by Joern Huxhorn,
  • With a default logback.xml containing this <?xml version="1.0" encoding="UTF-8"?> <configuration> <contextName>Foo</contextName> [..] </configuration> reloading the Logback configuration by means of private static void initLogbackConfig(URL configUrl) { ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory(); if(loggerFactory instanceof LoggerContext) { LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); // reset previous configuration initially loaded from logback.xml loggerContext.reset(); JoranConfigurator configurator = new JoranConfigurator(); configurator.setContext(loggerContext); try { configurator.doConfigure(configUrl); StatusPrinter.print(loggerContext); } catch(JoranException ex) { StatusPrinter.print(loggerContext); } } } with a file containing <?xml version="1.0" encoding="UTF-8"?> <configuration> <contextName>Foobar</contextName> [..] </configuration> produces the following error: 12:21:28,919 |-ERROR in ch.qos.logback.classic.joran.action.ContextNameAction - Failed to rename context [Foo] as [Foobar] java.lang.IllegalStateException: Context has been already given a name at java.lang.IllegalStateException: Context has been already given a name at at ch.qos.logback.core.ContextBase.setName(ContextBase.java:128) at at ch.qos.logback.classic.LoggerContext.setName(LoggerContext.java:107) at at ch.qos.logback.classic.joran.action.ContextNameAction.body(ContextNameAction.java:31) at at ch.qos.logback.core.joran.spi.Interpreter.callBodyAction(Interpreter.java:296) at at ch.qos.logback.core.joran.spi.Interpreter.characters(Interpreter.java:176) at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:57) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:157) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:143) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:106) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:56) Is this expected behavior? After all, loggerContext.reset() has been called and I'd assume that this would also reset the contextName. Feels like a bug.
    via by Joern Huxhorn,
    • java.lang.IllegalStateException: Context has been already given a name at ch.qos.logback.core.ContextBase.setName(ContextBase.java:128) at ch.qos.logback.classic.LoggerContext.setName(LoggerContext.java:107) at ch.qos.logback.classic.joran.action.ContextNameAction.body(ContextNameAction.java:31) at ch.qos.logback.core.joran.spi.Interpreter.callBodyAction(Interpreter.java:296) at ch.qos.logback.core.joran.spi.Interpreter.characters(Interpreter.java:176) at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:57) at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:157) at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:143) at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:106) at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:56)
    No Bugmate found.