Here is the stack http://pastebin.com/UVz7GHkz
Thanks, Jason Tesser dotCMS Lead Development Manager 1-305-858-1422 On Mon, Jun 21, 2010 at 2:38 PM, Nathan Bubna <[email protected]> wrote: > It happens during init? Is there any chance you could show me the > relevant stack trace? That would really help me understand this. > > On Mon, Jun 21, 2010 at 7:21 AM, Jason Tesser <[email protected]> > wrote: > > OK so a few clarifications > > > > 1. We do init in our own init servlet. this happens before any web > request > > private synchronized static void init(){ > > if(ve != null) > > return; > > ve = new VelocityEngine(); > > try{ > > ve.init(SystemProperties.getProperties()); > > dotResourceLoaderClassName = > > SystemProperties.get(SystemProperties.get("resource.loader") + > > ".resource.loader.class"); > > Logger.info(VelocityUtil.class, > > SystemProperties.getProperties().toString()); > > }catch (Exception e) { > > Logger.error(VelocityUtil.class,e.getMessage(),e); > > } > > } > > > > 2. The actual issue is that the init within velocity runtimeservers is > > messed up. The init method is being run because initialize is set to > true > > in that class. It gets a null pointer. Basically we catch it and make > the > > init run again by setting initialized and initializing to false and > making > > it run again. > > > > This happens on one server always but our fix makes the server work. We > > were unable to reproduce this in any other environment. > > > > The environoment is Linux > > /opt/java-dotcms/bin/java -version > > java version "1.5.0_18" > > Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_18-b02) > > Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_18-b02, mixed mode) > > > > We did have another scenario with the issue we reproduced locally but > that > > one we fixed by extending rendertool and set the engine. > > > > Thanks, > > Jason Tesser > > dotCMS Lead Development Manager > > 1-305-858-1422 > > > > > > On Mon, Jun 21, 2010 at 10:04 AM, Nathan Bubna <[email protected]> wrote: > > > >> Hmm. All you did was add an additional check of a particular > >> subsystem using double-checked locking, and try/catch logging errors. > >> Not an ideal fix. I would love to know a little more about what > >> exactly you are doing when you get the NPE. Can i see the relevant > >> portions of the stack trace? > >> > >> Also, barring a fix on our end, my recommended fix would be to just > >> manually call init(). The auto-init feature was only meant as a > >> convenience feature and was never really recommended for advanced > >> users, particularly in single-threaded situations. For multi-threaded > >> things like webapps, i would always recommend you do your init at app > >> startup (servlet/filter init), and not let it wait until runtime. > >> > >> PS diffs are easier to read when there aren't dozens of useless style > >> tweaks included > >> > >> On Mon, Jun 21, 2010 at 6:50 AM, Jason Tesser <[email protected]> > >> wrote: > >> > Here is the DIFF > >> > > >> > http://pastebin.com/jh13sXgt > >> > > >> > Java 1.5 and 1.6 experienced on Linux server and Local OSX > >> > > >> > It automatically inits I believe. > >> > > >> > Thanks, > >> > Jason Tesser > >> > dotCMS Lead Development Manager > >> > 1-305-858-1422 > >> > > >> > > >> > On Mon, Jun 21, 2010 at 9:46 AM, Nathan Bubna <[email protected]> > wrote: > >> > > >> >> I think the mailing list stripped the diff off. So, what Java > >> >> version are you using? Are you manually calling init() or letting > >> >> your Engine instance automatically call it when needed? > >> >> > >> >> On Mon, Jun 21, 2010 at 6:43 AM, Jason Tesser <[email protected] > > > >> >> wrote: > >> >> > OK I know 1.6.4 was released but I didn't see anything in it that > >> would > >> >> fix > >> >> > this. > >> >> > > >> >> > We were getting initialized = true in the runtimeservices but the > >> >> parserpool > >> >> > would be null > >> >> > > >> >> > Attached is the diff we used to prevent the issue. What do you > guys > >> >> think? > >> >> > > >> >> > The whole thing seems weird to me as the init is synced. > >> >> > > >> >> > Thanks, > >> >> > Jason Tesser > >> >> > dotCMS Lead Development Manager > >> >> > 1-305-858-1422 > >> >> > > >> >> > > >> >> > > --------------------------------------------------------------------- > >> >> > To unsubscribe, e-mail: [email protected] > >> >> > For additional commands, e-mail: [email protected] > >> >> > > >> >> > >> >> --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: [email protected] > >> >> For additional commands, e-mail: [email protected] > >> >> > >> >> > >> > > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [email protected] > >> For additional commands, e-mail: [email protected] > >> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
