Dear Cognoscenti, I believe I have found a bug. The situation is a webapp with BerkeleyDB[1] (from Sleepycat software, now Oracle). Running it in Resin 3.1.8 fails during initialization and the culprit is the method com.caucho.log.EnvironmentLogger.getHandlers(). BerkeleyDB plays around with the loggers (java.util.logging) and the expectation[2] in the code base is that an array is always returned from getHandlers(), never null. That seems to be a valid assumption, the method in EnvironmentLogger overrides a method in java.util.logging.Logger[3], which does indeed make sure return an empty array instead of null.
>From what I can tell the fix is relatively simple, unless I am mistaken it is just a matter of making the default value an empty array. In other words the constructor of EnvironmentLogger should call: _localHandlers.setGlobal(new Handler[0]); That approach could affect how "parent" environments work, so maybe the fix should be a little bit more like the implementation in java.util.logging.Logger. I don't understand the code well enough to make that judgement. The workaround is not entirely simple, I ended up grabbing all 8 loggers used by BerkeleyDB in this configuration and add a dummy handler to each of them. Thanks, Knut Forkalsrud [1]: http://download.oracle.com/maven/com/sleepycat/je/4.0.92/je-4.0.92.jar [2]: https://www.docjar.com/html/api/com/sleepycat/je/utilint/LoggerUtils.java.html#151 [3]: http://www.docjar.com/html/api/java/util/logging/Logger.java.html#1211 _______________________________________________ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest