Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] 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 Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 4.0.4 Product Version 4.0.3
  Product Build
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
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.
Steps To Reproduce
Additional Information
Attached Files

- Relationships

- Notes
(0004420)
ferg
02-09-10 09:32

server/025l
 

- 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