Mantis Bugtracker

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
Reporter ferg View Status public  
Assigned To ferg
Priority normal Resolution fixed  
Status closed   Product Version 4.0.3
Summary 0003882: EnvironmentLogger getHandlers must not return null
Description (rep by Knut Forkalsrud)

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

   _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.
Additional Information
Attached Files

- Relationships

- Notes
02-09-10 09:32


- Issue History
Date Modified Username Field Change
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.
Powered by Mantis Bugtracker