>> I'm totally at loss why and how
>> protocols can become null. JVM bug perhaps? This is Tomcat 6 running on
>> Ubuntu 8.10, and my webapp uses BlazeDS.
>>
>> Any ideas? Could this be due to improper synchronization somewhere in my
>> app?
>
> It does sound like a JVM bug.
>
> If you're using gcj (might be the default on an Ubuntu install, I don't
> remember), throw it away; every time I've seen "impossible" NPEs like
> this it's been because of gcj bugs.
I'm in fact using Sun JVM 1.6.0.10. I think you're right about gcj being the
default - that was one of the first things I scrapped.
I added a bunch more synchronized (mutex) blocks in my code to avoid
getConnection being called simultaneously from multiple threads (why isnt
that method synchronized anyway?) - so far so good... keeping fingers
crossed. Maybe should have just subclassed PGSimpleDataSource...
Peter