|Anonymous | Login | Signup for a new account||05-29-2023 10:41 PDT|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Simple Details [ Jump to Notes ]||[ View Advanced ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0003882||[Resin]||minor||always||02-09-10 09:23||02-09-10 09:32|
|Summary||0003882: EnvironmentLogger getHandlers must not return null|
(rep by Knut Forkalsrud)
I believe I have found a bug.
The situation is a webapp with BerkeleyDB (from Sleepycat software,
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 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, 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
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.
|02-09-10 09:23||ferg||New Issue|
|02-09-10 09:32||ferg||Note Added: 0004420|
|02-09-10 09:32||ferg||Assigned To||=> ferg|
|02-09-10 09:32||ferg||Status||new => closed|
|02-09-10 09:32||ferg||Resolution||open => fixed|
|02-09-10 09:32||ferg||Fixed in Version||=> 4.0.4|
| Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
28 total queries executed.|
25 unique queries executed.