You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Ben Sommerville <be...@bulletproof.com.au> on 2007/07/11 07:52:21 UTC

RE: T5: NPE in Base64InputStream and locked/waitingCheckForUpdatesFilter

If you are running under jdk 6u1 and tapestry 5.0.5 (or greater) then
there is
a jvm bug that can cause a deadlock.

The bug report is at
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6571733.  
It is supposed to be fixed in jdk 6u2 (which was release recently) but I 
haven't had a chance to test it yet.

cheers
Ben

> -----Original Message-----
> From: Martin Grotzke [mailto:martin.grotzke@javakaffee.de] 
> Sent: Wednesday, 11 July 2007 9:06 AM
> To: Tapestry users
> Subject: Re: T5: NPE in Base64InputStream and 
> locked/waitingCheckForUpdatesFilter
> 
> The NPE seems to be caused by a missing t:formdata request parameter.
> 
> I just "reproduced" this (weird) situation by removing the hidden form
> field "t:formdata" with firebug, so that I could produce the NPE.
> 
> Although, following request went through well, and the number 
> of request
> processing threads did not increase.
> 
> So there seems to be no (direct) interrelationship between the NPE
> and the locked threads.
> 
> Cheers,
> Martin
> 
> 
> 
> On Tue, 2007-07-10 at 23:43 +0200, Martin Grotzke wrote:
> > Hi,
> > 
> > we had an issue with our deployed application that did not respond
> > anymore. This happened two or three times in the last 4 days, but
> > I was not able to reproduce it until now.
> > 
> > The analysis of the logs showed, that there was a NPE in
> > Base64InputStream, and afterwards the application did not respond
> > anymore.
> > 
> > When I triggered a thread dump, all 200 tomcat threads were 
> in status
> > WAITING, like this one:
> > 
> > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00 
> nid=0x3f05 waiting on condition 
> [0x000000004459e000..0x000000004459fbc0]
> >    java.lang.Thread.State: WAITING (parking)
> >         at sun.misc.Unsafe.park(Native Method)
> >         - parking to wait for  <0x00002aaab8228360> (a 
> java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> >         at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> heckInterrupt(AbstractQueuedSynchronizer.java:712)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> eShared(AbstractQueuedSynchronizer.java:842)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> hared(AbstractQueuedSynchronizer.java:1162)
> >         at 
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
k(ReentrantReadWriteLock.java:594)
> >         at 
> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> ad(ConcurrentBarrier.java:70)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> rvice(CheckForUpdatesFilter.java:110)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$11.service(Tapestr
yModule.java:1044)
> >         at 
> $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
uestHandler_1139c29ae40.java)
> >         at 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:235)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:206)
> >         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:230)
> >         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:175)
> >         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:128)
> >         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:104)
> >         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java:109)
> >         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> ter.java:261)
> >         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:844)
> >         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
r.process(Http11Protocol.java:581)
> >         at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
java:447)
> >         at java.lang.Thread.run(Thread.java:619)
> > 
> > I'm not sure if the NPE that happened before is the reason 
> for this, as I don't
> > see the relationship between both issues (apart from the 
> correlation of events/time).
> > 
> > Hopefully someone closer to the code can have a look at 
> this and tell what's the
> > problem here? Then I'd like to submit a bug report / help 
> fixing(?)...
> > 
> > More output of the logs you find at the end of this email.
> > 
> > Thanx a lot in advance,
> > cheers,
> > Martin
> > 
> > 
> > 
> > [INFO ] 2007-07-09 11:56:35,513 TP-Processor1 
> org.comp.proj.search.presentation.pages.Search.onActivate:
> > Got invoked args hose, cat:Herrenbekleidung, n, 100
> > 
> > [INFO ] 2007-07-09 11:56:35,518 TP-Processor1 
> org.comp.proj.search.presentation.pages.Search.setupRender:
> > Starting search...
> > 
> > [DEBUG] 2007-07-09 11:56:35,520 TP-Processor1 
> org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > Starting query:
> > 
> q=hose;score+desc&fq=cat:Herrenbekleidung&start=0&rows=100&fac
et=true&facet.field=cat&facet.field=brand&facet.field=type&facet>
.field=color&facet
> > 
> .field=price&facet.limit=5&facet.zeros=false&facet.missing=fal
se&version=2.2
> > 
> > [DEBUG] 2007-07-09 11:56:35,610 TP-Processor1 
> org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > Got response: numFound: 207, queryTime: 43
> > 
> > [INFO ] 2007-07-09 11:56:35,803 TP-Processor1 
> org.comp.proj.search.presentation.services.AppModule.TimingFil
> ter.service:
> > Request time: 292 ms
> > 
> > [INFO ] 2007-07-09 11:57:05,982 TP-Processor5 
> org.comp.proj.search.presentation.pages.Search.onActivate:
> > Got invoked args hose, n, 100
> > 
> > [INFO ] 2007-07-09 11:57:05,988 TP-Processor5 
> org.comp.proj.search.presentation.pages.Search.setupRender:
> > Starting search...
> > 
> > [DEBUG] 2007-07-09 11:57:05,989 TP-Processor5 
> org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > Starting query:
> > 
> q=hose;score+desc&start=0&rows=100&facet=true&facet.field=cat&
facet.field=brand&facet.field=type&facet.field=color&facet.field>
=price&facet.limit
> > =5&facet.zeros=false&facet.missing=false&version=2.2
> > 
> > [DEBUG] 2007-07-09 11:57:06,078 TP-Processor5 
> org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > Got response: numFound: 2001, queryTime: 44
> > 
> > [INFO ] 2007-07-09 11:57:06,276 TP-Processor5 
> org.comp.proj.search.presentation.services.AppModule.TimingFil
> ter.service:
> > Request time: 296 ms
> > 
> > [INFO ] 2007-07-09 12:07:22,379 TP-Processor5 
> org.comp.proj.search.presentation.pages.Search.onActivate:
> > Got invoked args
> > 
> > [INFO ] 2007-07-09 12:07:22,382 TP-Processor5 
> org.comp.proj.search.presentation.services.AppModule.TimingFil
> ter.service:
> > Request time: 605041 ms
> > ^^^^^^^^^^^^^^^^^^^^^^^ --> 10 minutes?!
> > 
> > [ERROR] 2007-07-09 12:07:22,382 TP-Processor5 
> org.apache.tapestry.internal.services.InternalModule.RequestEx
> ceptionHandler.handleRequestExceptio
> > n:
> > Processing of request failed with uncaught exception: 
> org.apache.tapestry.ioc.internal.util.TapestryException
> > 
> > org.apache.tapestry.ioc.internal.util.TapestryException
> >         at 
> org.apache.tapestry.corelib.components.Form.onAction(Form.java:375)
> >         at 
> org.apache.tapestry.corelib.components.Form.handleComponentEve
> nt(Form.java)
> >         at 
> org.apache.tapestry.internal.structure.ComponentPageElementImp
> l.handleEvent(ComponentPageElementImpl.java:893)
> >         at 
> org.apache.tapestry.internal.structure.ComponentPageElementImp
> l.triggerEvent(ComponentPageElementImpl.java:998)
> >         at 
> org.apache.tapestry.internal.services.ComponentActionRequestHa
> ndlerImpl.handle(ComponentActionRequestHandlerImpl.java:81)
> >         at 
> org.apache.tapestry.internal.services.InternalModule$11.handle
(InternalModule.java:541)
> >         at 
> $ComponentActionRequestHandler_1139c29ae5a.handle($ComponentAc
tionRequestHandler_1139c29ae5a.java)
> >         at 
> $ComponentActionRequestHandler_1139c29ae55.handle($ComponentAc
tionRequestHandler_1139c29ae55.java)
> >         at 
> org.apache.tapestry.internal.services.ComponentActionDispatche
> r.dispatch(ComponentActionDispatcher.java:116)
> >         at 
> $Dispatcher_1139c29ae57.dispatch($Dispatcher_1139c29ae57.java)
> >         at 
> $Dispatcher_1139c29ae49.dispatch($Dispatcher_1139c29ae49.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$12.service(Tapestr
yModule.java:1066)
> >         at 
> org.comp.proj.search.presentation.services.AppModule$2.service
(AppModule.java:117)
> >         at 
> $RequestFilter_1139c29ae48.service($RequestFilter_1139c29ae48.java)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> org.comp.proj.search.presentation.services.AppModule$1.service
(AppModule.java:76)
> >         at 
> $RequestFilter_1139c29ae47.service($RequestFilter_1139c29ae47.java)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> org.apache.tapestry.internal.services.LocalizationFilter.servi
> ce(LocalizationFilter.java:43)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$2.service(Tapestry
Module.java:657)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> org.apache.tapestry.internal.services.StaticFilesFilter.servic
> e(StaticFilesFilter.java:63)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
invoke(CheckForUpdatesFilter.java:97)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
invoke(CheckForUpdatesFilter.java:88)
> >         at 
> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> ad(ConcurrentBarrier.java:77)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> rvice(CheckForUpdatesFilter.java:110)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$11.service(Tapestr
yModule.java:1044)
> >         at 
> $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
uestHandler_1139c29ae40.java)
> >         at 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:235)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:206)
> >         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:230)
> >         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:175)
> >         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:128)
> >         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:104)
> >         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java:109)
> >         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> ter.java:261)
> >         at 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> >         at 
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> >         at 
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> >         at 
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> cket.java:697)
> >         at 
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
nelSocket.java:889)
> >         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:686)
> >         at java.lang.Thread.run(Thread.java:619)
> > Caused by: java.lang.NullPointerException
> >         at 
> org.apache.tapestry.internal.util.Base64InputStream.decode(Bas
> e64InputStream.java:34)
> >         at 
> org.apache.tapestry.internal.util.Base64InputStream.<init>(Bas
> e64InputStream.java:29)
> >         at 
> org.apache.tapestry.internal.util.Base64ObjectInputStream.<ini
> t>(Base64ObjectInputStream.java:30)
> >         at 
> org.apache.tapestry.corelib.components.Form.onAction(Form.java:355)
> >         ... 47 more
> > Jul 9, 2007 2:27:57 PM 
> org.apache.tomcat.util.threads.ThreadPool logFull
> > SEVERE: All threads (200) are currently busy, waiting. 
> Increase maxThreads (200) or check the servlet status
> > 2007-07-09 17:13:35
> > Full thread dump Java HotSpot(TM) 64-Bit Server VM 
> (1.6.0_01-b06 mixed mode):
> > 
> > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00 
> nid=0x3f05 waiting on condition 
> [0x000000004459e000..0x000000004459fbc0]
> >    java.lang.Thread.State: WAITING (parking)
> >         at sun.misc.Unsafe.park(Native Method)
> >         - parking to wait for  <0x00002aaab8228360> (a 
> java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> >         at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> heckInterrupt(AbstractQueuedSynchronizer.java:712)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> eShared(AbstractQueuedSynchronizer.java:842)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> hared(AbstractQueuedSynchronizer.java:1162)
> >         at 
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
k(ReentrantReadWriteLock.java:594)
> >         at 
> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> ad(ConcurrentBarrier.java:70)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> rvice(CheckForUpdatesFilter.java:110)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$11.service(Tapestr
yModule.java:1044)
> >         at 
> $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
uestHandler_1139c29ae40.java)
> >         at 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:235)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:206)
> >         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:230)
> >         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:175)
> >         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:128)
> >         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:104)
> >         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java:109)
> >         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> ter.java:261)
> >         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:844)
> >         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
r.process(Http11Protocol.java:581)
> >         at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
java:447)
> >         at java.lang.Thread.run(Thread.java:619)
> > 
> > "TP-Processor200" daemon prio=10 tid=0x00002aaaf8896400 
> nid=0x3ce9 waiting on condition 
> [0x000000004455d000..0x000000004455ec40]
> >    java.lang.Thread.State: WAITING (parking)
> >         at sun.misc.Unsafe.park(Native Method)
> >         - parking to wait for  <0x00002aaab8228360> (a 
> java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> >         at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> heckInterrupt(AbstractQueuedSynchronizer.java:712)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> eShared(AbstractQueuedSynchronizer.java:842)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> hared(AbstractQueuedSynchronizer.java:1162)
> >         at 
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
k(ReentrantReadWriteLock.java:594)
> >         at 
> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> ad(ConcurrentBarrier.java:70)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> rvice(CheckForUpdatesFilter.java:110)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$11.service(Tapestr
yModule.java:1044)
> >         at 
> $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
uestHandler_1139c29ae40.java)
> >         at 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:235)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:206)
> >         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:230)
> >         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:175)
> >         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:128)
> >         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:104)
> >         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java:109)
> >         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> ter.java:261)
> >         at 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> >         at 
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> >         at 
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> >         at 
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> cket.java:697)
> >         at 
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
nelSocket.java:889)
> >         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:686)
> >         at java.lang.Thread.run(Thread.java:619)
> > 
> > ... and 199 more of them
> > 
> > 
> -- 
> Martin Grotzke
> http://www.javakaffee.de/blog/
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: T5: NPE in Base64InputStream and locked/waitingCheckForUpdatesFilter

Posted by Ben Sommerville <be...@bulletproof.com.au>.
I finally had a chance to test this & I'm confident it is fixed.

Under 6u1 I was consistently getting a deadlock, under 6u2 I cannot
reproduce it. 

cheers
Ben

> -----Original Message-----
> From: Ben Sommerville [mailto:ben@bulletproof.com.au] 
> Sent: Wednesday, 11 July 2007 4:24 PM
> To: 'Tapestry users'
> Subject: RE: T5: NPE in Base64InputStream and 
> locked/waitingCheckForUpdatesFilter
> 
> One work around that I found is to create the read/write lock in 
> ConcurrentBarrier in "fair" mode instead of the default mode.  
> (fair mode changes the algorithm used to decide which thread 
> gets the lock next) 
> 
> That worked for me but subjectively things seemed a little slower 
> (no actual measurement so take that for what it is worth)
> 
> If it is fixed in 6u2 then I'd be tempted just to document the 
> problem with 6u1 :)
> 
> cheers
> Ben
> 
> PS: I'll try to actually confirm that is it fixed in the next 
> few days... may not get to it till the weekend tho
> 
> 
> > -----Original Message-----
> > From: Howard Lewis Ship [mailto:hlship@gmail.com] 
> > Sent: Wednesday, 11 July 2007 4:14 PM
> > To: Tapestry users
> > Subject: Re: T5: NPE in Base64InputStream and 
> > locked/waitingCheckForUpdatesFilter
> > 
> > Great find!  People may need to deploy on JDK 1.5 to see if 
> that's the
> > underlying cause.
> > 
> > I wonder if we could create a work around by setting a wait time to
> > acquire the read lock?  In a loop?
> > 
> > On 7/10/07, Ben Sommerville <be...@bulletproof.com.au> wrote:
> > > If you are running under jdk 6u1 and tapestry 5.0.5 (or 
> > greater) then
> > > there is
> > > a jvm bug that can cause a deadlock.
> > >
> > > The bug report is at
> > > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6571733.
> > > It is supposed to be fixed in jdk 6u2 (which was release 
> > recently) but I
> > > haven't had a chance to test it yet.
> > >
> > > cheers
> > > Ben
> > >
> > > > -----Original Message-----
> > > > From: Martin Grotzke [mailto:martin.grotzke@javakaffee.de]
> > > > Sent: Wednesday, 11 July 2007 9:06 AM
> > > > To: Tapestry users
> > > > Subject: Re: T5: NPE in Base64InputStream and
> > > > locked/waitingCheckForUpdatesFilter
> > > >
> > > > The NPE seems to be caused by a missing t:formdata 
> > request parameter.
> > > >
> > > > I just "reproduced" this (weird) situation by removing 
> > the hidden form
> > > > field "t:formdata" with firebug, so that I could 
> produce the NPE.
> > > >
> > > > Although, following request went through well, and the number
> > > > of request
> > > > processing threads did not increase.
> > > >
> > > > So there seems to be no (direct) interrelationship 
> between the NPE
> > > > and the locked threads.
> > > >
> > > > Cheers,
> > > > Martin
> > > >
> > > >
> > > >
> > > > On Tue, 2007-07-10 at 23:43 +0200, Martin Grotzke wrote:
> > > > > Hi,
> > > > >
> > > > > we had an issue with our deployed application that did 
> > not respond
> > > > > anymore. This happened two or three times in the last 4 
> > days, but
> > > > > I was not able to reproduce it until now.
> > > > >
> > > > > The analysis of the logs showed, that there was a NPE in
> > > > > Base64InputStream, and afterwards the application did 
> > not respond
> > > > > anymore.
> > > > >
> > > > > When I triggered a thread dump, all 200 tomcat threads were
> > > > in status
> > > > > WAITING, like this one:
> > > > >
> > > > > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00
> > > > nid=0x3f05 waiting on condition
> > > > [0x000000004459e000..0x000000004459fbc0]
> > > > >    java.lang.Thread.State: WAITING (parking)
> > > > >         at sun.misc.Unsafe.park(Native Method)
> > > > >         - parking to wait for  <0x00002aaab8228360> (a
> > > > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > > > >         at
> > > > 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > > > >         at
> > > > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > > > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > > > >         at
> > > > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > > > eShared(AbstractQueuedSynchronizer.java:842)
> > > > >         at
> > > > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > > > hared(AbstractQueuedSynchronizer.java:1162)
> > > > >         at
> > > > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> > > k(ReentrantReadWriteLock.java:594)
> > > > >         at
> > > > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > > > ad(ConcurrentBarrier.java:70)
> > > > >         at
> > > > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > > > rvice(CheckForUpdatesFilter.java:110)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > > > >         at
> > > > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> > > yModule.java:1044)
> > > > >         at
> > > > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> > > uestHandler_1139c29ae40.java)
> > > > >         at
> > > > 
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > > > >         at
> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > > er(ApplicationFilterChain.java:235)
> > > > >         at
> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > > cationFilterChain.java:206)
> > > > >         at
> > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > > rapperValve.java:230)
> > > > >         at
> > > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > > ontextValve.java:175)
> > > > >         at
> > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > > Valve.java:128)
> > > > >         at
> > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > > Valve.java:104)
> > > > >         at
> > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > > gineValve.java:109)
> > > > >         at
> > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > > ter.java:261)
> > > > >         at
> > > > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > > > or.java:844)
> > > > >         at
> > > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > > r.process(Http11Protocol.java:581)
> > > > >         at
> > > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> > > java:447)
> > > > >         at java.lang.Thread.run(Thread.java:619)
> > > > >
> > > > > I'm not sure if the NPE that happened before is the reason
> > > > for this, as I don't
> > > > > see the relationship between both issues (apart from the
> > > > correlation of events/time).
> > > > >
> > > > > Hopefully someone closer to the code can have a look at
> > > > this and tell what's the
> > > > > problem here? Then I'd like to submit a bug report / help
> > > > fixing(?)...
> > > > >
> > > > > More output of the logs you find at the end of this email.
> > > > >
> > > > > Thanx a lot in advance,
> > > > > cheers,
> > > > > Martin
> > > > >
> > > > >
> > > > >
> > > > > [INFO ] 2007-07-09 11:56:35,513 TP-Processor1
> > > > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > > > Got invoked args hose, cat:Herrenbekleidung, n, 100
> > > > >
> > > > > [INFO ] 2007-07-09 11:56:35,518 TP-Processor1
> > > > org.comp.proj.search.presentation.pages.Search.setupRender:
> > > > > Starting search...
> > > > >
> > > > > [DEBUG] 2007-07-09 11:56:35,520 TP-Processor1
> > > > org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > > > > Starting query:
> > > > >
> > > > q=hose;score+desc&fq=cat:Herrenbekleidung&start=0&rows=100&fac
> > > et=true&facet.field=cat&facet.field=brand&facet.field=type&facet>
> > > .field=color&facet
> > > > >
> > > > .field=price&facet.limit=5&facet.zeros=false&facet.missing=fal
> > > se&version=2.2
> > > > >
> > > > > [DEBUG] 2007-07-09 11:56:35,610 TP-Processor1
> > > > org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > > > > Got response: numFound: 207, queryTime: 43
> > > > >
> > > > > [INFO ] 2007-07-09 11:56:35,803 TP-Processor1
> > > > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > > > ter.service:
> > > > > Request time: 292 ms
> > > > >
> > > > > [INFO ] 2007-07-09 11:57:05,982 TP-Processor5
> > > > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > > > Got invoked args hose, n, 100
> > > > >
> > > > > [INFO ] 2007-07-09 11:57:05,988 TP-Processor5
> > > > org.comp.proj.search.presentation.pages.Search.setupRender:
> > > > > Starting search...
> > > > >
> > > > > [DEBUG] 2007-07-09 11:57:05,989 TP-Processor5
> > > > org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > > > > Starting query:
> > > > >
> > > > q=hose;score+desc&start=0&rows=100&facet=true&facet.field=cat&
> > > facet.field=brand&facet.field=type&facet.field=color&facet.field>
> > > =price&facet.limit
> > > > > =5&facet.zeros=false&facet.missing=false&version=2.2
> > > > >
> > > > > [DEBUG] 2007-07-09 11:57:06,078 TP-Processor5
> > > > org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > > > > Got response: numFound: 2001, queryTime: 44
> > > > >
> > > > > [INFO ] 2007-07-09 11:57:06,276 TP-Processor5
> > > > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > > > ter.service:
> > > > > Request time: 296 ms
> > > > >
> > > > > [INFO ] 2007-07-09 12:07:22,379 TP-Processor5
> > > > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > > > Got invoked args
> > > > >
> > > > > [INFO ] 2007-07-09 12:07:22,382 TP-Processor5
> > > > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > > > ter.service:
> > > > > Request time: 605041 ms
> > > > > ^^^^^^^^^^^^^^^^^^^^^^^ --> 10 minutes?!
> > > > >
> > > > > [ERROR] 2007-07-09 12:07:22,382 TP-Processor5
> > > > org.apache.tapestry.internal.services.InternalModule.RequestEx
> > > > ceptionHandler.handleRequestExceptio
> > > > > n:
> > > > > Processing of request failed with uncaught exception:
> > > > org.apache.tapestry.ioc.internal.util.TapestryException
> > > > >
> > > > > org.apache.tapestry.ioc.internal.util.TapestryException
> > > > >         at
> > > > 
> > org.apache.tapestry.corelib.components.Form.onAction(Form.java:375)
> > > > >         at
> > > > org.apache.tapestry.corelib.components.Form.handleComponentEve
> > > > nt(Form.java)
> > > > >         at
> > > > org.apache.tapestry.internal.structure.ComponentPageElementImp
> > > > l.handleEvent(ComponentPageElementImpl.java:893)
> > > > >         at
> > > > org.apache.tapestry.internal.structure.ComponentPageElementImp
> > > > l.triggerEvent(ComponentPageElementImpl.java:998)
> > > > >         at
> > > > org.apache.tapestry.internal.services.ComponentActionRequestHa
> > > > ndlerImpl.handle(ComponentActionRequestHandlerImpl.java:81)
> > > > >         at
> > > > org.apache.tapestry.internal.services.InternalModule$11.handle
> > > (InternalModule.java:541)
> > > > >         at
> > > > $ComponentActionRequestHandler_1139c29ae5a.handle($ComponentAc
> > > tionRequestHandler_1139c29ae5a.java)
> > > > >         at
> > > > $ComponentActionRequestHandler_1139c29ae55.handle($ComponentAc
> > > tionRequestHandler_1139c29ae55.java)
> > > > >         at
> > > > org.apache.tapestry.internal.services.ComponentActionDispatche
> > > > r.dispatch(ComponentActionDispatcher.java:116)
> > > > >         at
> > > > $Dispatcher_1139c29ae57.dispatch($Dispatcher_1139c29ae57.java)
> > > > >         at
> > > > $Dispatcher_1139c29ae49.dispatch($Dispatcher_1139c29ae49.java)
> > > > >         at
> > > > org.apache.tapestry.services.TapestryModule$12.service(Tapestr
> > > yModule.java:1066)
> > > > >         at
> > > > org.comp.proj.search.presentation.services.AppModule$2.service
> > > (AppModule.java:117)
> > > > >         at
> > > > 
> > $RequestFilter_1139c29ae48.service($RequestFilter_1139c29ae48.java)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > > >         at
> > > > org.comp.proj.search.presentation.services.AppModule$1.service
> > > (AppModule.java:76)
> > > > >         at
> > > > 
> > $RequestFilter_1139c29ae47.service($RequestFilter_1139c29ae47.java)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > > >         at
> > > > org.apache.tapestry.internal.services.LocalizationFilter.servi
> > > > ce(LocalizationFilter.java:43)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > > >         at
> > > > org.apache.tapestry.services.TapestryModule$2.service(Tapestry
> > > Module.java:657)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > > >         at
> > > > org.apache.tapestry.internal.services.StaticFilesFilter.servic
> > > > e(StaticFilesFilter.java:63)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > > >         at
> > > > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
> > > invoke(CheckForUpdatesFilter.java:97)
> > > > >         at
> > > > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
> > > invoke(CheckForUpdatesFilter.java:88)
> > > > >         at
> > > > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > > > ad(ConcurrentBarrier.java:77)
> > > > >         at
> > > > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > > > rvice(CheckForUpdatesFilter.java:110)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > > > >         at
> > > > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> > > yModule.java:1044)
> > > > >         at
> > > > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> > > uestHandler_1139c29ae40.java)
> > > > >         at
> > > > 
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > > > >         at
> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > > er(ApplicationFilterChain.java:235)
> > > > >         at
> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > > cationFilterChain.java:206)
> > > > >         at
> > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > > rapperValve.java:230)
> > > > >         at
> > > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > > ontextValve.java:175)
> > > > >         at
> > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > > Valve.java:128)
> > > > >         at
> > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > > Valve.java:104)
> > > > >         at
> > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > > gineValve.java:109)
> > > > >         at
> > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > > ter.java:261)
> > > > >         at
> > > > 
> > 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> > > > >         at
> > > > 
> > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> > > > >         at
> > > > 
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> > > > >         at
> > > > org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> > > > cket.java:697)
> > > > >         at
> > > > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
> > > nelSocket.java:889)
> > > > >         at
> > > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > > ThreadPool.java:686)
> > > > >         at java.lang.Thread.run(Thread.java:619)
> > > > > Caused by: java.lang.NullPointerException
> > > > >         at
> > > > org.apache.tapestry.internal.util.Base64InputStream.decode(Bas
> > > > e64InputStream.java:34)
> > > > >         at
> > > > org.apache.tapestry.internal.util.Base64InputStream.<init>(Bas
> > > > e64InputStream.java:29)
> > > > >         at
> > > > org.apache.tapestry.internal.util.Base64ObjectInputStream.<ini
> > > > t>(Base64ObjectInputStream.java:30)
> > > > >         at
> > > > 
> > org.apache.tapestry.corelib.components.Form.onAction(Form.java:355)
> > > > >         ... 47 more
> > > > > Jul 9, 2007 2:27:57 PM
> > > > org.apache.tomcat.util.threads.ThreadPool logFull
> > > > > SEVERE: All threads (200) are currently busy, waiting.
> > > > Increase maxThreads (200) or check the servlet status
> > > > > 2007-07-09 17:13:35
> > > > > Full thread dump Java HotSpot(TM) 64-Bit Server VM
> > > > (1.6.0_01-b06 mixed mode):
> > > > >
> > > > > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00
> > > > nid=0x3f05 waiting on condition
> > > > [0x000000004459e000..0x000000004459fbc0]
> > > > >    java.lang.Thread.State: WAITING (parking)
> > > > >         at sun.misc.Unsafe.park(Native Method)
> > > > >         - parking to wait for  <0x00002aaab8228360> (a
> > > > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > > > >         at
> > > > 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > > > >         at
> > > > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > > > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > > > >         at
> > > > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > > > eShared(AbstractQueuedSynchronizer.java:842)
> > > > >         at
> > > > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > > > hared(AbstractQueuedSynchronizer.java:1162)
> > > > >         at
> > > > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> > > k(ReentrantReadWriteLock.java:594)
> > > > >         at
> > > > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > > > ad(ConcurrentBarrier.java:70)
> > > > >         at
> > > > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > > > rvice(CheckForUpdatesFilter.java:110)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > > > >         at
> > > > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> > > yModule.java:1044)
> > > > >         at
> > > > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> > > uestHandler_1139c29ae40.java)
> > > > >         at
> > > > 
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > > > >         at
> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > > er(ApplicationFilterChain.java:235)
> > > > >         at
> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > > cationFilterChain.java:206)
> > > > >         at
> > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > > rapperValve.java:230)
> > > > >         at
> > > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > > ontextValve.java:175)
> > > > >         at
> > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > > Valve.java:128)
> > > > >         at
> > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > > Valve.java:104)
> > > > >         at
> > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > > gineValve.java:109)
> > > > >         at
> > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > > ter.java:261)
> > > > >         at
> > > > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > > > or.java:844)
> > > > >         at
> > > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > > r.process(Http11Protocol.java:581)
> > > > >         at
> > > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> > > java:447)
> > > > >         at java.lang.Thread.run(Thread.java:619)
> > > > >
> > > > > "TP-Processor200" daemon prio=10 tid=0x00002aaaf8896400
> > > > nid=0x3ce9 waiting on condition
> > > > [0x000000004455d000..0x000000004455ec40]
> > > > >    java.lang.Thread.State: WAITING (parking)
> > > > >         at sun.misc.Unsafe.park(Native Method)
> > > > >         - parking to wait for  <0x00002aaab8228360> (a
> > > > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > > > >         at
> > > > 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > > > >         at
> > > > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > > > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > > > >         at
> > > > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > > > eShared(AbstractQueuedSynchronizer.java:842)
> > > > >         at
> > > > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > > > hared(AbstractQueuedSynchronizer.java:1162)
> > > > >         at
> > > > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> > > k(ReentrantReadWriteLock.java:594)
> > > > >         at
> > > > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > > > ad(ConcurrentBarrier.java:70)
> > > > >         at
> > > > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > > > rvice(CheckForUpdatesFilter.java:110)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > > >         at
> > > > 
> > 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > > > >         at
> > > > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> > > yModule.java:1044)
> > > > >         at
> > > > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> > > uestHandler_1139c29ae40.java)
> > > > >         at
> > > > 
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > > > >         at
> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > > er(ApplicationFilterChain.java:235)
> > > > >         at
> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > > cationFilterChain.java:206)
> > > > >         at
> > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > > rapperValve.java:230)
> > > > >         at
> > > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > > ontextValve.java:175)
> > > > >         at
> > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > > Valve.java:128)
> > > > >         at
> > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > > Valve.java:104)
> > > > >         at
> > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > > gineValve.java:109)
> > > > >         at
> > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > > ter.java:261)
> > > > >         at
> > > > 
> > 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> > > > >         at
> > > > 
> > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> > > > >         at
> > > > 
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> > > > >         at
> > > > org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> > > > cket.java:697)
> > > > >         at
> > > > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
> > > nelSocket.java:889)
> > > > >         at
> > > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > > ThreadPool.java:686)
> > > > >         at java.lang.Thread.run(Thread.java:619)
> > > > >
> > > > > ... and 199 more of them
> > > > >
> > > > >
> > > > --
> > > > Martin Grotzke
> > > > http://www.javakaffee.de/blog/
> > > >
> > >
> > >
> > > 
> > 
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > 
> > 
> > -- 
> > Howard M. Lewis Ship
> > TWD Consulting, Inc.
> > Independent J2EE / Open-Source Java Consultant
> > Creator and PMC Chair, Apache Tapestry
> > Creator, Apache HiveMind
> > 
> > Professional Tapestry training, mentoring, support
> > and project work.  http://howardlewisship.com
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


AW: T4.1.2 contrib:Tree

Posted by Peter Schröder <Pe...@freenet-ag.de>.
hi andreas,

thank you for providing the information,
i will try the snapshot-builds.

kind regards,
peter 

-----Ursprüngliche Nachricht-----
Von: andreoua@gmail.com [mailto:andreoua@gmail.com] Im Auftrag von Andreas Andreou
Gesendet: Donnerstag, 12. Juli 2007 16:26
An: Tapestry users
Betreff: Re: T4.1.2 contrib:Tree

http://tacos.sourceforge.net/tacos4.1/

Igor Drobiazko and myself have been putting a fair amount of work on the
project.
Additionally, Daniel Gredler has donated the beanform code (
http://beanform.sf.net/)
which has been updated and tested with Tapestry 4.1.2 and
Norbert Sandor the tapdoc code (
http://www.erinors.com/developer/project/tapdoc/) so tacos is
currently a merge of all the above :)

There's an internal schedule for a release for 10-15 Aug, but one can safely
use the snapshot jars.


On 7/12/07, Peter Schröder < Peter.Schroeder@freenet-ag.de> wrote:
>
> the tacos website states:
>
> " The latest release of the current branch of work has produced Tacos
> 4.0.0 - a version fully compatible with Tapestry 4.0.x.
>
> Most development efforts will now be shifted to converting the Ant-based
> build system to Maven2. A version compatible with Tapestry 4.1.x will then
> follow. "
>
> does anyone know the current progress?
>
> -----Ursprüngliche Nachricht-----
> Von: Renat Zubairov [mailto:renat.zubairov@gmail.com]
> Gesendet: Donnerstag, 12. Juli 2007 15:57
> An: Tapestry users
> Betreff: Re: T4.1.2 contrib:Tree
>
> AFIK tree is deprecated and now tree from Tacos is recommended for use.
> Old Tap-Contrib 4.0 tree was anyway crappy. I required almost
> completely to rewrite it to make it somehow usable in my environment.
>
>
> On 12/07/07, Peter Schröder <Pe...@freenet-ag.de> wrote:
> > hi,
> >
> > i am wondering why there is no documentation for the tree-component on:
> >
> http://tapestry.apache.org/tapestry4.1/tapestry-contrib/componentreference/index.html
> >
> > even though these components are still included into
> tapestry-contrib-4.1.2.jar. is this  legacy-support, or are they just
> missing?
> >
> > kind regards,
> > peter
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> Best regards,
> Renat Zubairov
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
>


-- 
Andreas Andreou - andyhot@apache.org - http://andyhot.di.uoa.gr
Tapestry / Tacos developer
Open Source / JEE Consulting

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T4.1.2 contrib:Tree

Posted by Andreas Andreou <an...@di.uoa.gr>.
http://tacos.sourceforge.net/tacos4.1/

Igor Drobiazko and myself have been putting a fair amount of work on the
project.
Additionally, Daniel Gredler has donated the beanform code (
http://beanform.sf.net/)
which has been updated and tested with Tapestry 4.1.2 and
Norbert Sandor the tapdoc code (
http://www.erinors.com/developer/project/tapdoc/) so tacos is
currently a merge of all the above :)

There's an internal schedule for a release for 10-15 Aug, but one can safely
use the snapshot jars.


On 7/12/07, Peter Schröder < Peter.Schroeder@freenet-ag.de> wrote:
>
> the tacos website states:
>
> " The latest release of the current branch of work has produced Tacos
> 4.0.0 - a version fully compatible with Tapestry 4.0.x.
>
> Most development efforts will now be shifted to converting the Ant-based
> build system to Maven2. A version compatible with Tapestry 4.1.x will then
> follow. "
>
> does anyone know the current progress?
>
> -----Ursprüngliche Nachricht-----
> Von: Renat Zubairov [mailto:renat.zubairov@gmail.com]
> Gesendet: Donnerstag, 12. Juli 2007 15:57
> An: Tapestry users
> Betreff: Re: T4.1.2 contrib:Tree
>
> AFIK tree is deprecated and now tree from Tacos is recommended for use.
> Old Tap-Contrib 4.0 tree was anyway crappy. I required almost
> completely to rewrite it to make it somehow usable in my environment.
>
>
> On 12/07/07, Peter Schröder <Pe...@freenet-ag.de> wrote:
> > hi,
> >
> > i am wondering why there is no documentation for the tree-component on:
> >
> http://tapestry.apache.org/tapestry4.1/tapestry-contrib/componentreference/index.html
> >
> > even though these components are still included into
> tapestry-contrib-4.1.2.jar. is this  legacy-support, or are they just
> missing?
> >
> > kind regards,
> > peter
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> Best regards,
> Renat Zubairov
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
>


-- 
Andreas Andreou - andyhot@apache.org - http://andyhot.di.uoa.gr
Tapestry / Tacos developer
Open Source / JEE Consulting

AW: T4.1.2 contrib:Tree

Posted by Peter Schröder <Pe...@freenet-ag.de>.
the tacos website states:

" The latest release of the current branch of work has produced Tacos 4.0.0 - a version fully compatible with Tapestry 4.0.x.

Most development efforts will now be shifted to converting the Ant-based build system to Maven2. A version compatible with Tapestry 4.1.x will then follow. "

does anyone know the current progress? 

-----Ursprüngliche Nachricht-----
Von: Renat Zubairov [mailto:renat.zubairov@gmail.com] 
Gesendet: Donnerstag, 12. Juli 2007 15:57
An: Tapestry users
Betreff: Re: T4.1.2 contrib:Tree

AFIK tree is deprecated and now tree from Tacos is recommended for use.
Old Tap-Contrib 4.0 tree was anyway crappy. I required almost
completely to rewrite it to make it somehow usable in my environment.


On 12/07/07, Peter Schröder <Pe...@freenet-ag.de> wrote:
> hi,
>
> i am wondering why there is no documentation for the tree-component on:
> http://tapestry.apache.org/tapestry4.1/tapestry-contrib/componentreference/index.html
>
> even though these components are still included into tapestry-contrib-4.1.2.jar. is this  legacy-support, or are they just missing?
>
> kind regards,
> peter
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Best regards,
Renat Zubairov

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T4.1.2 contrib:Tree

Posted by Renat Zubairov <re...@gmail.com>.
AFIK tree is deprecated and now tree from Tacos is recommended for use.
Old Tap-Contrib 4.0 tree was anyway crappy. I required almost
completely to rewrite it to make it somehow usable in my environment.


On 12/07/07, Peter Schröder <Pe...@freenet-ag.de> wrote:
> hi,
>
> i am wondering why there is no documentation for the tree-component on:
> http://tapestry.apache.org/tapestry4.1/tapestry-contrib/componentreference/index.html
>
> even though these components are still included into tapestry-contrib-4.1.2.jar. is this  legacy-support, or are they just missing?
>
> kind regards,
> peter
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Best regards,
Renat Zubairov

T4.1.2 contrib:Tree

Posted by Peter Schröder <Pe...@freenet-ag.de>.
hi,

i am wondering why there is no documentation for the tree-component on:
http://tapestry.apache.org/tapestry4.1/tapestry-contrib/componentreference/index.html

even though these components are still included into tapestry-contrib-4.1.2.jar. is this  legacy-support, or are they just missing?

kind regards,
peter

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: T4.1.2 error loading hivemind-service

Posted by Ma...@bmw.ch.
javassist changed its group / artifact id from javassist.javassist to jboss.javassist. Release 3.0 was the last one available under the javassist toplevel-group. If you somehow, transitively, reference both, maven has no way to know that both are the same artifact.

> -----Original Message-----
> From: Peter Schröder [mailto:Peter.Schroeder@freenet-ag.de] 
> Sent: Thursday, July 12, 2007 10:37 AM
> To: Tapestry users
> Subject: AW: T4.1.2 error loading hivemind-service
> 
> it seems that this is a maven-issue. i have to update all 
> dependencies that are still using javassist-3.0 to use 
> javassist-3.4.ga. locally overriding javassist-version in the 
> application pom has no effect... even though eclipse sais, 
> that javassist-3.4.ga is included as a dependency?!!?!?!?!?
> 
> -----Ursprüngliche Nachricht-----
> Von: Peter Schröder [mailto:Peter.Schroeder@freenet-ag.de]
> Gesendet: Donnerstag, 12. Juli 2007 10:01
> An: Tapestry users
> Betreff: AW: T4.1.2 error loading hivemind-service
> 
> hi renat,
> 
> i am using maven for my dependency management. it 
> automatically includes javassist-3.4.ga.jar into my project. 
> this is the same version that is stated here:
> http://tapestry.apache.org/tapestry4.1/dependency-convergence.html
> 
> i thought that hivemind services are compatible within T4 and 
> T4.1.2. (at least, i did not read the opposite somewhere), 
> cause both use hivemind-1.1.1?!
> 
> kind regards,
> peter 
> 
> -----Ursprüngliche Nachricht-----
> Von: Renat Zubairov [mailto:renat.zubairov@gmail.com]
> Gesendet: Mittwoch, 11. Juli 2007 19:21
> An: Tapestry users
> Betreff: Re: T4.1.2 error loading hivemind-service
> 
> Hi
> 
> This exception
> 
> "javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/securi
> ty/ProtectionDomain;)Ljava/lang/Class;"
> 
> Means that you have a Javassist version mismatch, check your 
> classpath for the older versions of Javassist.
> 
> Renat
> 
> On 11/07/07, Peter Schröder <Pe...@freenet-ag.de> wrote:
> > hi,
> >
> > i am doing a simple test with the new version of tapestry 
> (runs fine with 4.0.2):
> >
> > public class LoginTest extends TestCase {
> >         public void testService() {
> >                 Registry registry = 
> RegistryBuilder.constructDefaultRegistry();
> >                 AGLoginService service = (AGLoginService) 
> registry.getService(AGLoginService.class);
> >                 boolean isAdmin = false;
> >
> >                 ArrayList<String> ldapRoles = new 
> ArrayList<String>();
> >                 ldapRoles.add("admin");
> >                 String userName = "dummyuser";
> >                 String userPassword = "xyz";
> >                 service.authUser(userName, userPassword, 
> ldapRoles, isAdmin);
> >         }
> > }
> >
> > resulting in the following stacktrace using 
> javassist-3.4.ga. i also tried to use an old version of 
> javassist (3.0) wich doesnt work either...
> >
> > 09:00:59,239 DEBUG [ConfigurationPointImpl] Constructing extension 
> > point hivemind.ServiceModels
> > org.apache.hivemind.ApplicationRuntimeException: Unable to 
> create class $Runnable_113b414a9d1: 
> javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/securit
> y/ProtectionDomain;)Ljava/lang/Class;
> >         at 
> org.apache.hivemind.impl.servicemodel.SingletonServiceModel.cr
> eateSingletonProxy(SingletonServiceModel.java:130)
> >         at 
> org.apache.hivemind.impl.servicemodel.SingletonServiceModel.ge
> tService(SingletonServiceModel.java:57)
> >         at 
> org.apache.hivemind.impl.ServicePointImpl.getService(ServicePo
> intImpl.java:210)
> >         at 
> org.apache.hivemind.impl.ServicePointImpl.getService(ServicePo
> intImpl.java:223)
> >         at 
> org.apache.hivemind.impl.RegistryInfrastructureImpl.getService
> (RegistryInfrastructureImpl.java:207)
> >         at 
> org.apache.hivemind.impl.RegistryInfrastructureImpl.startup(Re
> gistryInfrastructureImpl.java:434)
> >         at 
> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(Reg
> istryBuilder.java:154)
> >         at 
> org.apache.hivemind.impl.RegistryBuilder.constructDefaultRegis
> try(RegistryBuilder.java:196)
> >         at 
> de.freenet.pos.posDB.test.LoginTest.testService(LoginTest.java:18)
> >         at 
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
> orImpl.java:39)
> >         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
> odAccessorImpl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:585)
> >         at junit.framework.TestCase.runTest(TestCase.java:154)
> >         at junit.framework.TestCase.runBare(TestCase.java:127)
> >         at junit.framework.TestResult$1.protect(TestResult.java:106)
> >         at 
> junit.framework.TestResult.runProtected(TestResult.java:124)
> >         at junit.framework.TestResult.run(TestResult.java:109)
> >         at junit.framework.TestCase.run(TestCase.java:118)
> >         at 
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReferen
> ce.run(JUnit3TestReference.java:128)
> >         at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestEx
> ecution.java:38)
> >         at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTest
> s(RemoteTestRunner.java:460)
> >         at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTest
> s(RemoteTestRunner.java:673)
> >         at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(Rem
> oteTestRunner.java:386)
> >         at 
> > 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTest
> > Runner.java:196) Caused by: 
> > org.apache.hivemind.ApplicationRuntimeException: Unable to 
> create class $Runnable_113b414a9d1: 
> javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/securit
> y/ProtectionDomain;)Ljava/lang/Class;
> >         at 
> org.apache.tapestry.enhance.CtClassSource.createClass(CtClassS
> ource.java:89)
> >         at 
> org.apache.tapestry.enhance.CtClassSource.createClass(CtClassS
> ource.java:78)
> >         at 
> org.apache.tapestry.enhance.AbstractFab.createClass(AbstractFa
> b.java:91)
> >         at 
> org.apache.hivemind.impl.servicemodel.SingletonServiceModel.cr
> eateSingletonProxyClass(SingletonServiceModel.java:185)
> >         at 
> org.apache.hivemind.impl.servicemodel.SingletonServiceModel.cr
> eateSingletonProxy(SingletonServiceModel.java:102)
> >         ... 24 more
> > Caused by: java.lang.NoSuchMethodError: 
> javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/securit
> y/ProtectionDomain;)Ljava/lang/Class;
> >         at 
> org.apache.tapestry.enhance.HiveMindClassPool.toClass(HiveMind
> ClassPool.java:79)
> >         at 
> org.apache.tapestry.enhance.CtClassSource.createClass(CtClassS
> ource.java:85)
> >         ... 28 more
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> 
> 
> --
> Best regards,
> Renat Zubairov
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T4.1.2 error loading hivemind-service

Posted by Renat Zubairov <re...@gmail.com>.
Hi

You can check

mvn dependency:analyze

It might happened that there is something else that is using wrong
Javassist version.

Renat

On 12/07/07, Peter Schröder <Pe...@freenet-ag.de> wrote:
> it seems that this is a maven-issue. i have to update all dependencies that are still using javassist-3.0 to use javassist-3.4.ga. locally overriding javassist-version in the application pom has no effect... even though eclipse sais, that javassist-3.4.ga is included as a dependency?!!?!?!?!?
>
> -----Ursprüngliche Nachricht-----
> Von: Peter Schröder [mailto:Peter.Schroeder@freenet-ag.de]
> Gesendet: Donnerstag, 12. Juli 2007 10:01
> An: Tapestry users
> Betreff: AW: T4.1.2 error loading hivemind-service
>
> hi renat,
>
> i am using maven for my dependency management. it automatically includes javassist-3.4.ga.jar into my project. this is the same version that is stated here:
> http://tapestry.apache.org/tapestry4.1/dependency-convergence.html
>
> i thought that hivemind services are compatible within T4 and T4.1.2. (at least, i did not read the opposite somewhere), cause both use hivemind-1.1.1?!
>
> kind regards,
> peter
>
> -----Ursprüngliche Nachricht-----
> Von: Renat Zubairov [mailto:renat.zubairov@gmail.com]
> Gesendet: Mittwoch, 11. Juli 2007 19:21
> An: Tapestry users
> Betreff: Re: T4.1.2 error loading hivemind-service
>
> Hi
>
> This exception
>
> "javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;"
>
> Means that you have a Javassist version mismatch, check your classpath
> for the older versions of Javassist.
>
> Renat
>
> On 11/07/07, Peter Schröder <Pe...@freenet-ag.de> wrote:
> > hi,
> >
> > i am doing a simple test with the new version of tapestry (runs fine with 4.0.2):
> >
> > public class LoginTest extends TestCase {
> >         public void testService() {
> >                 Registry registry = RegistryBuilder.constructDefaultRegistry();
> >                 AGLoginService service = (AGLoginService) registry.getService(AGLoginService.class);
> >                 boolean isAdmin = false;
> >
> >                 ArrayList<String> ldapRoles = new ArrayList<String>();
> >                 ldapRoles.add("admin");
> >                 String userName = "dummyuser";
> >                 String userPassword = "xyz";
> >                 service.authUser(userName, userPassword, ldapRoles, isAdmin);
> >         }
> > }
> >
> > resulting in the following stacktrace using javassist-3.4.ga. i also tried to use an old version of javassist (3.0) wich doesnt work either...
> >
> > 09:00:59,239 DEBUG [ConfigurationPointImpl] Constructing extension point hivemind.ServiceModels
> > org.apache.hivemind.ApplicationRuntimeException: Unable to create class $Runnable_113b414a9d1: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
> >         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:130)
> >         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getService(SingletonServiceModel.java:57)
> >         at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:210)
> >         at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:223)
> >         at org.apache.hivemind.impl.RegistryInfrastructureImpl.getService(RegistryInfrastructureImpl.java:207)
> >         at org.apache.hivemind.impl.RegistryInfrastructureImpl.startup(RegistryInfrastructureImpl.java:434)
> >         at org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:154)
> >         at org.apache.hivemind.impl.RegistryBuilder.constructDefaultRegistry(RegistryBuilder.java:196)
> >         at de.freenet.pos.posDB.test.LoginTest.testService(LoginTest.java:18)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:585)
> >         at junit.framework.TestCase.runTest(TestCase.java:154)
> >         at junit.framework.TestCase.runBare(TestCase.java:127)
> >         at junit.framework.TestResult$1.protect(TestResult.java:106)
> >         at junit.framework.TestResult.runProtected(TestResult.java:124)
> >         at junit.framework.TestResult.run(TestResult.java:109)
> >         at junit.framework.TestCase.run(TestCase.java:118)
> >         at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
> >         at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> >         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> >         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> >         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> >         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> > Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to create class $Runnable_113b414a9d1: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
> >         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:89)
> >         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:78)
> >         at org.apache.tapestry.enhance.AbstractFab.createClass(AbstractFab.java:91)
> >         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxyClass(SingletonServiceModel.java:185)
> >         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:102)
> >         ... 24 more
> > Caused by: java.lang.NoSuchMethodError: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
> >         at org.apache.tapestry.enhance.HiveMindClassPool.toClass(HiveMindClassPool.java:79)
> >         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:85)
> >         ... 28 more
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> Best regards,
> Renat Zubairov
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Best regards,
Renat Zubairov

AW: T4.1.2 error loading hivemind-service

Posted by Peter Schröder <Pe...@freenet-ag.de>.
it seems that this is a maven-issue. i have to update all dependencies that are still using javassist-3.0 to use javassist-3.4.ga. locally overriding javassist-version in the application pom has no effect... even though eclipse sais, that javassist-3.4.ga is included as a dependency?!!?!?!?!?

-----Ursprüngliche Nachricht-----
Von: Peter Schröder [mailto:Peter.Schroeder@freenet-ag.de] 
Gesendet: Donnerstag, 12. Juli 2007 10:01
An: Tapestry users
Betreff: AW: T4.1.2 error loading hivemind-service

hi renat,

i am using maven for my dependency management. it automatically includes javassist-3.4.ga.jar into my project. this is the same version that is stated here:
http://tapestry.apache.org/tapestry4.1/dependency-convergence.html

i thought that hivemind services are compatible within T4 and T4.1.2. (at least, i did not read the opposite somewhere), cause both use hivemind-1.1.1?!

kind regards,
peter 

-----Ursprüngliche Nachricht-----
Von: Renat Zubairov [mailto:renat.zubairov@gmail.com] 
Gesendet: Mittwoch, 11. Juli 2007 19:21
An: Tapestry users
Betreff: Re: T4.1.2 error loading hivemind-service

Hi

This exception

"javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;"

Means that you have a Javassist version mismatch, check your classpath
for the older versions of Javassist.

Renat

On 11/07/07, Peter Schröder <Pe...@freenet-ag.de> wrote:
> hi,
>
> i am doing a simple test with the new version of tapestry (runs fine with 4.0.2):
>
> public class LoginTest extends TestCase {
>         public void testService() {
>                 Registry registry = RegistryBuilder.constructDefaultRegistry();
>                 AGLoginService service = (AGLoginService) registry.getService(AGLoginService.class);
>                 boolean isAdmin = false;
>
>                 ArrayList<String> ldapRoles = new ArrayList<String>();
>                 ldapRoles.add("admin");
>                 String userName = "dummyuser";
>                 String userPassword = "xyz";
>                 service.authUser(userName, userPassword, ldapRoles, isAdmin);
>         }
> }
>
> resulting in the following stacktrace using javassist-3.4.ga. i also tried to use an old version of javassist (3.0) wich doesnt work either...
>
> 09:00:59,239 DEBUG [ConfigurationPointImpl] Constructing extension point hivemind.ServiceModels
> org.apache.hivemind.ApplicationRuntimeException: Unable to create class $Runnable_113b414a9d1: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:130)
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getService(SingletonServiceModel.java:57)
>         at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:210)
>         at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:223)
>         at org.apache.hivemind.impl.RegistryInfrastructureImpl.getService(RegistryInfrastructureImpl.java:207)
>         at org.apache.hivemind.impl.RegistryInfrastructureImpl.startup(RegistryInfrastructureImpl.java:434)
>         at org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:154)
>         at org.apache.hivemind.impl.RegistryBuilder.constructDefaultRegistry(RegistryBuilder.java:196)
>         at de.freenet.pos.posDB.test.LoginTest.testService(LoginTest.java:18)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at junit.framework.TestCase.runTest(TestCase.java:154)
>         at junit.framework.TestCase.runBare(TestCase.java:127)
>         at junit.framework.TestResult$1.protect(TestResult.java:106)
>         at junit.framework.TestResult.runProtected(TestResult.java:124)
>         at junit.framework.TestResult.run(TestResult.java:109)
>         at junit.framework.TestCase.run(TestCase.java:118)
>         at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
>         at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to create class $Runnable_113b414a9d1: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
>         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:89)
>         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:78)
>         at org.apache.tapestry.enhance.AbstractFab.createClass(AbstractFab.java:91)
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxyClass(SingletonServiceModel.java:185)
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:102)
>         ... 24 more
> Caused by: java.lang.NoSuchMethodError: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
>         at org.apache.tapestry.enhance.HiveMindClassPool.toClass(HiveMindClassPool.java:79)
>         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:85)
>         ... 28 more
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Best regards,
Renat Zubairov

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


AW: T4.1.2 error loading hivemind-service

Posted by Peter Schröder <Pe...@freenet-ag.de>.
hi renat,

i am using maven for my dependency management. it automatically includes javassist-3.4.ga.jar into my project. this is the same version that is stated here:
http://tapestry.apache.org/tapestry4.1/dependency-convergence.html

i thought that hivemind services are compatible within T4 and T4.1.2. (at least, i did not read the opposite somewhere), cause both use hivemind-1.1.1?!

kind regards,
peter 

-----Ursprüngliche Nachricht-----
Von: Renat Zubairov [mailto:renat.zubairov@gmail.com] 
Gesendet: Mittwoch, 11. Juli 2007 19:21
An: Tapestry users
Betreff: Re: T4.1.2 error loading hivemind-service

Hi

This exception

"javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;"

Means that you have a Javassist version mismatch, check your classpath
for the older versions of Javassist.

Renat

On 11/07/07, Peter Schröder <Pe...@freenet-ag.de> wrote:
> hi,
>
> i am doing a simple test with the new version of tapestry (runs fine with 4.0.2):
>
> public class LoginTest extends TestCase {
>         public void testService() {
>                 Registry registry = RegistryBuilder.constructDefaultRegistry();
>                 AGLoginService service = (AGLoginService) registry.getService(AGLoginService.class);
>                 boolean isAdmin = false;
>
>                 ArrayList<String> ldapRoles = new ArrayList<String>();
>                 ldapRoles.add("admin");
>                 String userName = "dummyuser";
>                 String userPassword = "xyz";
>                 service.authUser(userName, userPassword, ldapRoles, isAdmin);
>         }
> }
>
> resulting in the following stacktrace using javassist-3.4.ga. i also tried to use an old version of javassist (3.0) wich doesnt work either...
>
> 09:00:59,239 DEBUG [ConfigurationPointImpl] Constructing extension point hivemind.ServiceModels
> org.apache.hivemind.ApplicationRuntimeException: Unable to create class $Runnable_113b414a9d1: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:130)
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getService(SingletonServiceModel.java:57)
>         at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:210)
>         at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:223)
>         at org.apache.hivemind.impl.RegistryInfrastructureImpl.getService(RegistryInfrastructureImpl.java:207)
>         at org.apache.hivemind.impl.RegistryInfrastructureImpl.startup(RegistryInfrastructureImpl.java:434)
>         at org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:154)
>         at org.apache.hivemind.impl.RegistryBuilder.constructDefaultRegistry(RegistryBuilder.java:196)
>         at de.freenet.pos.posDB.test.LoginTest.testService(LoginTest.java:18)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at junit.framework.TestCase.runTest(TestCase.java:154)
>         at junit.framework.TestCase.runBare(TestCase.java:127)
>         at junit.framework.TestResult$1.protect(TestResult.java:106)
>         at junit.framework.TestResult.runProtected(TestResult.java:124)
>         at junit.framework.TestResult.run(TestResult.java:109)
>         at junit.framework.TestCase.run(TestCase.java:118)
>         at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
>         at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to create class $Runnable_113b414a9d1: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
>         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:89)
>         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:78)
>         at org.apache.tapestry.enhance.AbstractFab.createClass(AbstractFab.java:91)
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxyClass(SingletonServiceModel.java:185)
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:102)
>         ... 24 more
> Caused by: java.lang.NoSuchMethodError: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
>         at org.apache.tapestry.enhance.HiveMindClassPool.toClass(HiveMindClassPool.java:79)
>         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:85)
>         ... 28 more
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Best regards,
Renat Zubairov

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T4.1.2 error loading hivemind-service

Posted by Renat Zubairov <re...@gmail.com>.
Hi

This exception

"javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;"

Means that you have a Javassist version mismatch, check your classpath
for the older versions of Javassist.

Renat

On 11/07/07, Peter Schröder <Pe...@freenet-ag.de> wrote:
> hi,
>
> i am doing a simple test with the new version of tapestry (runs fine with 4.0.2):
>
> public class LoginTest extends TestCase {
>         public void testService() {
>                 Registry registry = RegistryBuilder.constructDefaultRegistry();
>                 AGLoginService service = (AGLoginService) registry.getService(AGLoginService.class);
>                 boolean isAdmin = false;
>
>                 ArrayList<String> ldapRoles = new ArrayList<String>();
>                 ldapRoles.add("admin");
>                 String userName = "dummyuser";
>                 String userPassword = "xyz";
>                 service.authUser(userName, userPassword, ldapRoles, isAdmin);
>         }
> }
>
> resulting in the following stacktrace using javassist-3.4.ga. i also tried to use an old version of javassist (3.0) wich doesnt work either...
>
> 09:00:59,239 DEBUG [ConfigurationPointImpl] Constructing extension point hivemind.ServiceModels
> org.apache.hivemind.ApplicationRuntimeException: Unable to create class $Runnable_113b414a9d1: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:130)
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getService(SingletonServiceModel.java:57)
>         at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:210)
>         at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:223)
>         at org.apache.hivemind.impl.RegistryInfrastructureImpl.getService(RegistryInfrastructureImpl.java:207)
>         at org.apache.hivemind.impl.RegistryInfrastructureImpl.startup(RegistryInfrastructureImpl.java:434)
>         at org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:154)
>         at org.apache.hivemind.impl.RegistryBuilder.constructDefaultRegistry(RegistryBuilder.java:196)
>         at de.freenet.pos.posDB.test.LoginTest.testService(LoginTest.java:18)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at junit.framework.TestCase.runTest(TestCase.java:154)
>         at junit.framework.TestCase.runBare(TestCase.java:127)
>         at junit.framework.TestResult$1.protect(TestResult.java:106)
>         at junit.framework.TestResult.runProtected(TestResult.java:124)
>         at junit.framework.TestResult.run(TestResult.java:109)
>         at junit.framework.TestCase.run(TestCase.java:118)
>         at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
>         at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to create class $Runnable_113b414a9d1: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
>         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:89)
>         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:78)
>         at org.apache.tapestry.enhance.AbstractFab.createClass(AbstractFab.java:91)
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxyClass(SingletonServiceModel.java:185)
>         at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:102)
>         ... 24 more
> Caused by: java.lang.NoSuchMethodError: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
>         at org.apache.tapestry.enhance.HiveMindClassPool.toClass(HiveMindClassPool.java:79)
>         at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:85)
>         ... 28 more
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Best regards,
Renat Zubairov

T4.1.2 error loading hivemind-service

Posted by Peter Schröder <Pe...@freenet-ag.de>.
hi, 

i am doing a simple test with the new version of tapestry (runs fine with 4.0.2):

public class LoginTest extends TestCase {
	public void testService() {
		Registry registry = RegistryBuilder.constructDefaultRegistry();
		AGLoginService service = (AGLoginService) registry.getService(AGLoginService.class);
		boolean isAdmin = false;

		ArrayList<String> ldapRoles = new ArrayList<String>();
		ldapRoles.add("admin");
		String userName = "dummyuser";
		String userPassword = "xyz";
		service.authUser(userName, userPassword, ldapRoles, isAdmin);
	}
}

resulting in the following stacktrace using javassist-3.4.ga. i also tried to use an old version of javassist (3.0) wich doesnt work either...

09:00:59,239 DEBUG [ConfigurationPointImpl] Constructing extension point hivemind.ServiceModels
org.apache.hivemind.ApplicationRuntimeException: Unable to create class $Runnable_113b414a9d1: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
	at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:130)
	at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getService(SingletonServiceModel.java:57)
	at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:210)
	at org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:223)
	at org.apache.hivemind.impl.RegistryInfrastructureImpl.getService(RegistryInfrastructureImpl.java:207)
	at org.apache.hivemind.impl.RegistryInfrastructureImpl.startup(RegistryInfrastructureImpl.java:434)
	at org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:154)
	at org.apache.hivemind.impl.RegistryBuilder.constructDefaultRegistry(RegistryBuilder.java:196)
	at de.freenet.pos.posDB.test.LoginTest.testService(LoginTest.java:18)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to create class $Runnable_113b414a9d1: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
	at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:89)
	at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:78)
	at org.apache.tapestry.enhance.AbstractFab.createClass(AbstractFab.java:91)
	at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxyClass(SingletonServiceModel.java:185)
	at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.createSingletonProxy(SingletonServiceModel.java:102)
	... 24 more
Caused by: java.lang.NoSuchMethodError: javassist.CtClass.toClass(Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
	at org.apache.tapestry.enhance.HiveMindClassPool.toClass(HiveMindClassPool.java:79)
	at org.apache.tapestry.enhance.CtClassSource.createClass(CtClassSource.java:85)
	... 28 more

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: T5: NPE in Base64InputStream and locked/waitingCheckForUpdatesFilter

Posted by Ben Sommerville <be...@bulletproof.com.au>.
One work around that I found is to create the read/write lock in 
ConcurrentBarrier in "fair" mode instead of the default mode.  
(fair mode changes the algorithm used to decide which thread 
gets the lock next) 

That worked for me but subjectively things seemed a little slower 
(no actual measurement so take that for what it is worth)

If it is fixed in 6u2 then I'd be tempted just to document the 
problem with 6u1 :)

cheers
Ben

PS: I'll try to actually confirm that is it fixed in the next 
few days... may not get to it till the weekend tho


> -----Original Message-----
> From: Howard Lewis Ship [mailto:hlship@gmail.com] 
> Sent: Wednesday, 11 July 2007 4:14 PM
> To: Tapestry users
> Subject: Re: T5: NPE in Base64InputStream and 
> locked/waitingCheckForUpdatesFilter
> 
> Great find!  People may need to deploy on JDK 1.5 to see if that's the
> underlying cause.
> 
> I wonder if we could create a work around by setting a wait time to
> acquire the read lock?  In a loop?
> 
> On 7/10/07, Ben Sommerville <be...@bulletproof.com.au> wrote:
> > If you are running under jdk 6u1 and tapestry 5.0.5 (or 
> greater) then
> > there is
> > a jvm bug that can cause a deadlock.
> >
> > The bug report is at
> > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6571733.
> > It is supposed to be fixed in jdk 6u2 (which was release 
> recently) but I
> > haven't had a chance to test it yet.
> >
> > cheers
> > Ben
> >
> > > -----Original Message-----
> > > From: Martin Grotzke [mailto:martin.grotzke@javakaffee.de]
> > > Sent: Wednesday, 11 July 2007 9:06 AM
> > > To: Tapestry users
> > > Subject: Re: T5: NPE in Base64InputStream and
> > > locked/waitingCheckForUpdatesFilter
> > >
> > > The NPE seems to be caused by a missing t:formdata 
> request parameter.
> > >
> > > I just "reproduced" this (weird) situation by removing 
> the hidden form
> > > field "t:formdata" with firebug, so that I could produce the NPE.
> > >
> > > Although, following request went through well, and the number
> > > of request
> > > processing threads did not increase.
> > >
> > > So there seems to be no (direct) interrelationship between the NPE
> > > and the locked threads.
> > >
> > > Cheers,
> > > Martin
> > >
> > >
> > >
> > > On Tue, 2007-07-10 at 23:43 +0200, Martin Grotzke wrote:
> > > > Hi,
> > > >
> > > > we had an issue with our deployed application that did 
> not respond
> > > > anymore. This happened two or three times in the last 4 
> days, but
> > > > I was not able to reproduce it until now.
> > > >
> > > > The analysis of the logs showed, that there was a NPE in
> > > > Base64InputStream, and afterwards the application did 
> not respond
> > > > anymore.
> > > >
> > > > When I triggered a thread dump, all 200 tomcat threads were
> > > in status
> > > > WAITING, like this one:
> > > >
> > > > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00
> > > nid=0x3f05 waiting on condition
> > > [0x000000004459e000..0x000000004459fbc0]
> > > >    java.lang.Thread.State: WAITING (parking)
> > > >         at sun.misc.Unsafe.park(Native Method)
> > > >         - parking to wait for  <0x00002aaab8228360> (a
> > > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > > >         at
> > > java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > > >         at
> > > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > > >         at
> > > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > > eShared(AbstractQueuedSynchronizer.java:842)
> > > >         at
> > > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > > hared(AbstractQueuedSynchronizer.java:1162)
> > > >         at
> > > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> > k(ReentrantReadWriteLock.java:594)
> > > >         at
> > > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > > ad(ConcurrentBarrier.java:70)
> > > >         at
> > > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > > rvice(CheckForUpdatesFilter.java:110)
> > > >         at
> > > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > >         at
> > > 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > > >         at
> > > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> > yModule.java:1044)
> > > >         at
> > > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> > uestHandler_1139c29ae40.java)
> > > >         at
> > > 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > > >         at
> > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > er(ApplicationFilterChain.java:235)
> > > >         at
> > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > cationFilterChain.java:206)
> > > >         at
> > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > rapperValve.java:230)
> > > >         at
> > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > ontextValve.java:175)
> > > >         at
> > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > Valve.java:128)
> > > >         at
> > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > Valve.java:104)
> > > >         at
> > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > gineValve.java:109)
> > > >         at
> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > ter.java:261)
> > > >         at
> > > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > > or.java:844)
> > > >         at
> > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > r.process(Http11Protocol.java:581)
> > > >         at
> > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> > java:447)
> > > >         at java.lang.Thread.run(Thread.java:619)
> > > >
> > > > I'm not sure if the NPE that happened before is the reason
> > > for this, as I don't
> > > > see the relationship between both issues (apart from the
> > > correlation of events/time).
> > > >
> > > > Hopefully someone closer to the code can have a look at
> > > this and tell what's the
> > > > problem here? Then I'd like to submit a bug report / help
> > > fixing(?)...
> > > >
> > > > More output of the logs you find at the end of this email.
> > > >
> > > > Thanx a lot in advance,
> > > > cheers,
> > > > Martin
> > > >
> > > >
> > > >
> > > > [INFO ] 2007-07-09 11:56:35,513 TP-Processor1
> > > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > > Got invoked args hose, cat:Herrenbekleidung, n, 100
> > > >
> > > > [INFO ] 2007-07-09 11:56:35,518 TP-Processor1
> > > org.comp.proj.search.presentation.pages.Search.setupRender:
> > > > Starting search...
> > > >
> > > > [DEBUG] 2007-07-09 11:56:35,520 TP-Processor1
> > > org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > > > Starting query:
> > > >
> > > q=hose;score+desc&fq=cat:Herrenbekleidung&start=0&rows=100&fac
> > et=true&facet.field=cat&facet.field=brand&facet.field=type&facet>
> > .field=color&facet
> > > >
> > > .field=price&facet.limit=5&facet.zeros=false&facet.missing=fal
> > se&version=2.2
> > > >
> > > > [DEBUG] 2007-07-09 11:56:35,610 TP-Processor1
> > > org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > > > Got response: numFound: 207, queryTime: 43
> > > >
> > > > [INFO ] 2007-07-09 11:56:35,803 TP-Processor1
> > > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > > ter.service:
> > > > Request time: 292 ms
> > > >
> > > > [INFO ] 2007-07-09 11:57:05,982 TP-Processor5
> > > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > > Got invoked args hose, n, 100
> > > >
> > > > [INFO ] 2007-07-09 11:57:05,988 TP-Processor5
> > > org.comp.proj.search.presentation.pages.Search.setupRender:
> > > > Starting search...
> > > >
> > > > [DEBUG] 2007-07-09 11:57:05,989 TP-Processor5
> > > org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > > > Starting query:
> > > >
> > > q=hose;score+desc&start=0&rows=100&facet=true&facet.field=cat&
> > facet.field=brand&facet.field=type&facet.field=color&facet.field>
> > =price&facet.limit
> > > > =5&facet.zeros=false&facet.missing=false&version=2.2
> > > >
> > > > [DEBUG] 2007-07-09 11:57:06,078 TP-Processor5
> > > org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > > > Got response: numFound: 2001, queryTime: 44
> > > >
> > > > [INFO ] 2007-07-09 11:57:06,276 TP-Processor5
> > > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > > ter.service:
> > > > Request time: 296 ms
> > > >
> > > > [INFO ] 2007-07-09 12:07:22,379 TP-Processor5
> > > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > > Got invoked args
> > > >
> > > > [INFO ] 2007-07-09 12:07:22,382 TP-Processor5
> > > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > > ter.service:
> > > > Request time: 605041 ms
> > > > ^^^^^^^^^^^^^^^^^^^^^^^ --> 10 minutes?!
> > > >
> > > > [ERROR] 2007-07-09 12:07:22,382 TP-Processor5
> > > org.apache.tapestry.internal.services.InternalModule.RequestEx
> > > ceptionHandler.handleRequestExceptio
> > > > n:
> > > > Processing of request failed with uncaught exception:
> > > org.apache.tapestry.ioc.internal.util.TapestryException
> > > >
> > > > org.apache.tapestry.ioc.internal.util.TapestryException
> > > >         at
> > > 
> org.apache.tapestry.corelib.components.Form.onAction(Form.java:375)
> > > >         at
> > > org.apache.tapestry.corelib.components.Form.handleComponentEve
> > > nt(Form.java)
> > > >         at
> > > org.apache.tapestry.internal.structure.ComponentPageElementImp
> > > l.handleEvent(ComponentPageElementImpl.java:893)
> > > >         at
> > > org.apache.tapestry.internal.structure.ComponentPageElementImp
> > > l.triggerEvent(ComponentPageElementImpl.java:998)
> > > >         at
> > > org.apache.tapestry.internal.services.ComponentActionRequestHa
> > > ndlerImpl.handle(ComponentActionRequestHandlerImpl.java:81)
> > > >         at
> > > org.apache.tapestry.internal.services.InternalModule$11.handle
> > (InternalModule.java:541)
> > > >         at
> > > $ComponentActionRequestHandler_1139c29ae5a.handle($ComponentAc
> > tionRequestHandler_1139c29ae5a.java)
> > > >         at
> > > $ComponentActionRequestHandler_1139c29ae55.handle($ComponentAc
> > tionRequestHandler_1139c29ae55.java)
> > > >         at
> > > org.apache.tapestry.internal.services.ComponentActionDispatche
> > > r.dispatch(ComponentActionDispatcher.java:116)
> > > >         at
> > > $Dispatcher_1139c29ae57.dispatch($Dispatcher_1139c29ae57.java)
> > > >         at
> > > $Dispatcher_1139c29ae49.dispatch($Dispatcher_1139c29ae49.java)
> > > >         at
> > > org.apache.tapestry.services.TapestryModule$12.service(Tapestr
> > yModule.java:1066)
> > > >         at
> > > org.comp.proj.search.presentation.services.AppModule$2.service
> > (AppModule.java:117)
> > > >         at
> > > 
> $RequestFilter_1139c29ae48.service($RequestFilter_1139c29ae48.java)
> > > >         at
> > > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > >         at
> > > org.comp.proj.search.presentation.services.AppModule$1.service
> > (AppModule.java:76)
> > > >         at
> > > 
> $RequestFilter_1139c29ae47.service($RequestFilter_1139c29ae47.java)
> > > >         at
> > > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > >         at
> > > org.apache.tapestry.internal.services.LocalizationFilter.servi
> > > ce(LocalizationFilter.java:43)
> > > >         at
> > > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > >         at
> > > org.apache.tapestry.services.TapestryModule$2.service(Tapestry
> > Module.java:657)
> > > >         at
> > > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > >         at
> > > org.apache.tapestry.internal.services.StaticFilesFilter.servic
> > > e(StaticFilesFilter.java:63)
> > > >         at
> > > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > >         at
> > > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
> > invoke(CheckForUpdatesFilter.java:97)
> > > >         at
> > > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
> > invoke(CheckForUpdatesFilter.java:88)
> > > >         at
> > > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > > ad(ConcurrentBarrier.java:77)
> > > >         at
> > > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > > rvice(CheckForUpdatesFilter.java:110)
> > > >         at
> > > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > >         at
> > > 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > > >         at
> > > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> > yModule.java:1044)
> > > >         at
> > > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> > uestHandler_1139c29ae40.java)
> > > >         at
> > > 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > > >         at
> > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > er(ApplicationFilterChain.java:235)
> > > >         at
> > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > cationFilterChain.java:206)
> > > >         at
> > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > rapperValve.java:230)
> > > >         at
> > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > ontextValve.java:175)
> > > >         at
> > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > Valve.java:128)
> > > >         at
> > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > Valve.java:104)
> > > >         at
> > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > gineValve.java:109)
> > > >         at
> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > ter.java:261)
> > > >         at
> > > 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> > > >         at
> > > 
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> > > >         at
> > > org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> > > >         at
> > > org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> > > cket.java:697)
> > > >         at
> > > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
> > nelSocket.java:889)
> > > >         at
> > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > ThreadPool.java:686)
> > > >         at java.lang.Thread.run(Thread.java:619)
> > > > Caused by: java.lang.NullPointerException
> > > >         at
> > > org.apache.tapestry.internal.util.Base64InputStream.decode(Bas
> > > e64InputStream.java:34)
> > > >         at
> > > org.apache.tapestry.internal.util.Base64InputStream.<init>(Bas
> > > e64InputStream.java:29)
> > > >         at
> > > org.apache.tapestry.internal.util.Base64ObjectInputStream.<ini
> > > t>(Base64ObjectInputStream.java:30)
> > > >         at
> > > 
> org.apache.tapestry.corelib.components.Form.onAction(Form.java:355)
> > > >         ... 47 more
> > > > Jul 9, 2007 2:27:57 PM
> > > org.apache.tomcat.util.threads.ThreadPool logFull
> > > > SEVERE: All threads (200) are currently busy, waiting.
> > > Increase maxThreads (200) or check the servlet status
> > > > 2007-07-09 17:13:35
> > > > Full thread dump Java HotSpot(TM) 64-Bit Server VM
> > > (1.6.0_01-b06 mixed mode):
> > > >
> > > > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00
> > > nid=0x3f05 waiting on condition
> > > [0x000000004459e000..0x000000004459fbc0]
> > > >    java.lang.Thread.State: WAITING (parking)
> > > >         at sun.misc.Unsafe.park(Native Method)
> > > >         - parking to wait for  <0x00002aaab8228360> (a
> > > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > > >         at
> > > java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > > >         at
> > > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > > >         at
> > > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > > eShared(AbstractQueuedSynchronizer.java:842)
> > > >         at
> > > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > > hared(AbstractQueuedSynchronizer.java:1162)
> > > >         at
> > > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> > k(ReentrantReadWriteLock.java:594)
> > > >         at
> > > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > > ad(ConcurrentBarrier.java:70)
> > > >         at
> > > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > > rvice(CheckForUpdatesFilter.java:110)
> > > >         at
> > > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > >         at
> > > 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > > >         at
> > > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> > yModule.java:1044)
> > > >         at
> > > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> > uestHandler_1139c29ae40.java)
> > > >         at
> > > 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > > >         at
> > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > er(ApplicationFilterChain.java:235)
> > > >         at
> > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > cationFilterChain.java:206)
> > > >         at
> > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > rapperValve.java:230)
> > > >         at
> > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > ontextValve.java:175)
> > > >         at
> > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > Valve.java:128)
> > > >         at
> > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > Valve.java:104)
> > > >         at
> > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > gineValve.java:109)
> > > >         at
> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > ter.java:261)
> > > >         at
> > > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > > or.java:844)
> > > >         at
> > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > r.process(Http11Protocol.java:581)
> > > >         at
> > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> > java:447)
> > > >         at java.lang.Thread.run(Thread.java:619)
> > > >
> > > > "TP-Processor200" daemon prio=10 tid=0x00002aaaf8896400
> > > nid=0x3ce9 waiting on condition
> > > [0x000000004455d000..0x000000004455ec40]
> > > >    java.lang.Thread.State: WAITING (parking)
> > > >         at sun.misc.Unsafe.park(Native Method)
> > > >         - parking to wait for  <0x00002aaab8228360> (a
> > > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > > >         at
> > > java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > > >         at
> > > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > > >         at
> > > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > > eShared(AbstractQueuedSynchronizer.java:842)
> > > >         at
> > > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > > hared(AbstractQueuedSynchronizer.java:1162)
> > > >         at
> > > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> > k(ReentrantReadWriteLock.java:594)
> > > >         at
> > > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > > ad(ConcurrentBarrier.java:70)
> > > >         at
> > > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > > rvice(CheckForUpdatesFilter.java:110)
> > > >         at
> > > 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > > >         at
> > > 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > > >         at
> > > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> > yModule.java:1044)
> > > >         at
> > > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> > uestHandler_1139c29ae40.java)
> > > >         at
> > > 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > > >         at
> > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > er(ApplicationFilterChain.java:235)
> > > >         at
> > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > cationFilterChain.java:206)
> > > >         at
> > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > rapperValve.java:230)
> > > >         at
> > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > ontextValve.java:175)
> > > >         at
> > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > Valve.java:128)
> > > >         at
> > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > Valve.java:104)
> > > >         at
> > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > gineValve.java:109)
> > > >         at
> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > ter.java:261)
> > > >         at
> > > 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> > > >         at
> > > 
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> > > >         at
> > > org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> > > >         at
> > > org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> > > cket.java:697)
> > > >         at
> > > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
> > nelSocket.java:889)
> > > >         at
> > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > ThreadPool.java:686)
> > > >         at java.lang.Thread.run(Thread.java:619)
> > > >
> > > > ... and 199 more of them
> > > >
> > > >
> > > --
> > > Martin Grotzke
> > > http://www.javakaffee.de/blog/
> > >
> >
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> 
> 
> -- 
> Howard M. Lewis Ship
> TWD Consulting, Inc.
> Independent J2EE / Open-Source Java Consultant
> Creator and PMC Chair, Apache Tapestry
> Creator, Apache HiveMind
> 
> Professional Tapestry training, mentoring, support
> and project work.  http://howardlewisship.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T5: NPE in Base64InputStream and locked/waitingCheckForUpdatesFilter

Posted by Howard Lewis Ship <hl...@gmail.com>.
Great find!  People may need to deploy on JDK 1.5 to see if that's the
underlying cause.

I wonder if we could create a work around by setting a wait time to
acquire the read lock?  In a loop?

On 7/10/07, Ben Sommerville <be...@bulletproof.com.au> wrote:
> If you are running under jdk 6u1 and tapestry 5.0.5 (or greater) then
> there is
> a jvm bug that can cause a deadlock.
>
> The bug report is at
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6571733.
> It is supposed to be fixed in jdk 6u2 (which was release recently) but I
> haven't had a chance to test it yet.
>
> cheers
> Ben
>
> > -----Original Message-----
> > From: Martin Grotzke [mailto:martin.grotzke@javakaffee.de]
> > Sent: Wednesday, 11 July 2007 9:06 AM
> > To: Tapestry users
> > Subject: Re: T5: NPE in Base64InputStream and
> > locked/waitingCheckForUpdatesFilter
> >
> > The NPE seems to be caused by a missing t:formdata request parameter.
> >
> > I just "reproduced" this (weird) situation by removing the hidden form
> > field "t:formdata" with firebug, so that I could produce the NPE.
> >
> > Although, following request went through well, and the number
> > of request
> > processing threads did not increase.
> >
> > So there seems to be no (direct) interrelationship between the NPE
> > and the locked threads.
> >
> > Cheers,
> > Martin
> >
> >
> >
> > On Tue, 2007-07-10 at 23:43 +0200, Martin Grotzke wrote:
> > > Hi,
> > >
> > > we had an issue with our deployed application that did not respond
> > > anymore. This happened two or three times in the last 4 days, but
> > > I was not able to reproduce it until now.
> > >
> > > The analysis of the logs showed, that there was a NPE in
> > > Base64InputStream, and afterwards the application did not respond
> > > anymore.
> > >
> > > When I triggered a thread dump, all 200 tomcat threads were
> > in status
> > > WAITING, like this one:
> > >
> > > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00
> > nid=0x3f05 waiting on condition
> > [0x000000004459e000..0x000000004459fbc0]
> > >    java.lang.Thread.State: WAITING (parking)
> > >         at sun.misc.Unsafe.park(Native Method)
> > >         - parking to wait for  <0x00002aaab8228360> (a
> > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > >         at
> > java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > >         at
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > >         at
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > eShared(AbstractQueuedSynchronizer.java:842)
> > >         at
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > hared(AbstractQueuedSynchronizer.java:1162)
> > >         at
> > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> k(ReentrantReadWriteLock.java:594)
> > >         at
> > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > ad(ConcurrentBarrier.java:70)
> > >         at
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > rvice(CheckForUpdatesFilter.java:110)
> > >         at
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at
> > $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > >         at
> > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> yModule.java:1044)
> > >         at
> > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> uestHandler_1139c29ae40.java)
> > >         at
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > >         at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:235)
> > >         at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:206)
> > >         at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:230)
> > >         at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:175)
> > >         at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:128)
> > >         at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:104)
> > >         at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:109)
> > >         at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:261)
> > >         at
> > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > or.java:844)
> > >         at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.process(Http11Protocol.java:581)
> > >         at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> java:447)
> > >         at java.lang.Thread.run(Thread.java:619)
> > >
> > > I'm not sure if the NPE that happened before is the reason
> > for this, as I don't
> > > see the relationship between both issues (apart from the
> > correlation of events/time).
> > >
> > > Hopefully someone closer to the code can have a look at
> > this and tell what's the
> > > problem here? Then I'd like to submit a bug report / help
> > fixing(?)...
> > >
> > > More output of the logs you find at the end of this email.
> > >
> > > Thanx a lot in advance,
> > > cheers,
> > > Martin
> > >
> > >
> > >
> > > [INFO ] 2007-07-09 11:56:35,513 TP-Processor1
> > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > Got invoked args hose, cat:Herrenbekleidung, n, 100
> > >
> > > [INFO ] 2007-07-09 11:56:35,518 TP-Processor1
> > org.comp.proj.search.presentation.pages.Search.setupRender:
> > > Starting search...
> > >
> > > [DEBUG] 2007-07-09 11:56:35,520 TP-Processor1
> > org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > > Starting query:
> > >
> > q=hose;score+desc&fq=cat:Herrenbekleidung&start=0&rows=100&fac
> et=true&facet.field=cat&facet.field=brand&facet.field=type&facet>
> .field=color&facet
> > >
> > .field=price&facet.limit=5&facet.zeros=false&facet.missing=fal
> se&version=2.2
> > >
> > > [DEBUG] 2007-07-09 11:56:35,610 TP-Processor1
> > org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > > Got response: numFound: 207, queryTime: 43
> > >
> > > [INFO ] 2007-07-09 11:56:35,803 TP-Processor1
> > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > ter.service:
> > > Request time: 292 ms
> > >
> > > [INFO ] 2007-07-09 11:57:05,982 TP-Processor5
> > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > Got invoked args hose, n, 100
> > >
> > > [INFO ] 2007-07-09 11:57:05,988 TP-Processor5
> > org.comp.proj.search.presentation.pages.Search.setupRender:
> > > Starting search...
> > >
> > > [DEBUG] 2007-07-09 11:57:05,989 TP-Processor5
> > org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > > Starting query:
> > >
> > q=hose;score+desc&start=0&rows=100&facet=true&facet.field=cat&
> facet.field=brand&facet.field=type&facet.field=color&facet.field>
> =price&facet.limit
> > > =5&facet.zeros=false&facet.missing=false&version=2.2
> > >
> > > [DEBUG] 2007-07-09 11:57:06,078 TP-Processor5
> > org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > > Got response: numFound: 2001, queryTime: 44
> > >
> > > [INFO ] 2007-07-09 11:57:06,276 TP-Processor5
> > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > ter.service:
> > > Request time: 296 ms
> > >
> > > [INFO ] 2007-07-09 12:07:22,379 TP-Processor5
> > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > Got invoked args
> > >
> > > [INFO ] 2007-07-09 12:07:22,382 TP-Processor5
> > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > ter.service:
> > > Request time: 605041 ms
> > > ^^^^^^^^^^^^^^^^^^^^^^^ --> 10 minutes?!
> > >
> > > [ERROR] 2007-07-09 12:07:22,382 TP-Processor5
> > org.apache.tapestry.internal.services.InternalModule.RequestEx
> > ceptionHandler.handleRequestExceptio
> > > n:
> > > Processing of request failed with uncaught exception:
> > org.apache.tapestry.ioc.internal.util.TapestryException
> > >
> > > org.apache.tapestry.ioc.internal.util.TapestryException
> > >         at
> > org.apache.tapestry.corelib.components.Form.onAction(Form.java:375)
> > >         at
> > org.apache.tapestry.corelib.components.Form.handleComponentEve
> > nt(Form.java)
> > >         at
> > org.apache.tapestry.internal.structure.ComponentPageElementImp
> > l.handleEvent(ComponentPageElementImpl.java:893)
> > >         at
> > org.apache.tapestry.internal.structure.ComponentPageElementImp
> > l.triggerEvent(ComponentPageElementImpl.java:998)
> > >         at
> > org.apache.tapestry.internal.services.ComponentActionRequestHa
> > ndlerImpl.handle(ComponentActionRequestHandlerImpl.java:81)
> > >         at
> > org.apache.tapestry.internal.services.InternalModule$11.handle
> (InternalModule.java:541)
> > >         at
> > $ComponentActionRequestHandler_1139c29ae5a.handle($ComponentAc
> tionRequestHandler_1139c29ae5a.java)
> > >         at
> > $ComponentActionRequestHandler_1139c29ae55.handle($ComponentAc
> tionRequestHandler_1139c29ae55.java)
> > >         at
> > org.apache.tapestry.internal.services.ComponentActionDispatche
> > r.dispatch(ComponentActionDispatcher.java:116)
> > >         at
> > $Dispatcher_1139c29ae57.dispatch($Dispatcher_1139c29ae57.java)
> > >         at
> > $Dispatcher_1139c29ae49.dispatch($Dispatcher_1139c29ae49.java)
> > >         at
> > org.apache.tapestry.services.TapestryModule$12.service(Tapestr
> yModule.java:1066)
> > >         at
> > org.comp.proj.search.presentation.services.AppModule$2.service
> (AppModule.java:117)
> > >         at
> > $RequestFilter_1139c29ae48.service($RequestFilter_1139c29ae48.java)
> > >         at
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at
> > org.comp.proj.search.presentation.services.AppModule$1.service
> (AppModule.java:76)
> > >         at
> > $RequestFilter_1139c29ae47.service($RequestFilter_1139c29ae47.java)
> > >         at
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at
> > org.apache.tapestry.internal.services.LocalizationFilter.servi
> > ce(LocalizationFilter.java:43)
> > >         at
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at
> > org.apache.tapestry.services.TapestryModule$2.service(Tapestry
> Module.java:657)
> > >         at
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at
> > org.apache.tapestry.internal.services.StaticFilesFilter.servic
> > e(StaticFilesFilter.java:63)
> > >         at
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
> invoke(CheckForUpdatesFilter.java:97)
> > >         at
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
> invoke(CheckForUpdatesFilter.java:88)
> > >         at
> > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > ad(ConcurrentBarrier.java:77)
> > >         at
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > rvice(CheckForUpdatesFilter.java:110)
> > >         at
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at
> > $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > >         at
> > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> yModule.java:1044)
> > >         at
> > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> uestHandler_1139c29ae40.java)
> > >         at
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > >         at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:235)
> > >         at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:206)
> > >         at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:230)
> > >         at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:175)
> > >         at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:128)
> > >         at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:104)
> > >         at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:109)
> > >         at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:261)
> > >         at
> > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> > >         at
> > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> > >         at
> > org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> > >         at
> > org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> > cket.java:697)
> > >         at
> > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
> nelSocket.java:889)
> > >         at
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:686)
> > >         at java.lang.Thread.run(Thread.java:619)
> > > Caused by: java.lang.NullPointerException
> > >         at
> > org.apache.tapestry.internal.util.Base64InputStream.decode(Bas
> > e64InputStream.java:34)
> > >         at
> > org.apache.tapestry.internal.util.Base64InputStream.<init>(Bas
> > e64InputStream.java:29)
> > >         at
> > org.apache.tapestry.internal.util.Base64ObjectInputStream.<ini
> > t>(Base64ObjectInputStream.java:30)
> > >         at
> > org.apache.tapestry.corelib.components.Form.onAction(Form.java:355)
> > >         ... 47 more
> > > Jul 9, 2007 2:27:57 PM
> > org.apache.tomcat.util.threads.ThreadPool logFull
> > > SEVERE: All threads (200) are currently busy, waiting.
> > Increase maxThreads (200) or check the servlet status
> > > 2007-07-09 17:13:35
> > > Full thread dump Java HotSpot(TM) 64-Bit Server VM
> > (1.6.0_01-b06 mixed mode):
> > >
> > > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00
> > nid=0x3f05 waiting on condition
> > [0x000000004459e000..0x000000004459fbc0]
> > >    java.lang.Thread.State: WAITING (parking)
> > >         at sun.misc.Unsafe.park(Native Method)
> > >         - parking to wait for  <0x00002aaab8228360> (a
> > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > >         at
> > java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > >         at
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > >         at
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > eShared(AbstractQueuedSynchronizer.java:842)
> > >         at
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > hared(AbstractQueuedSynchronizer.java:1162)
> > >         at
> > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> k(ReentrantReadWriteLock.java:594)
> > >         at
> > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > ad(ConcurrentBarrier.java:70)
> > >         at
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > rvice(CheckForUpdatesFilter.java:110)
> > >         at
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at
> > $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > >         at
> > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> yModule.java:1044)
> > >         at
> > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> uestHandler_1139c29ae40.java)
> > >         at
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > >         at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:235)
> > >         at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:206)
> > >         at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:230)
> > >         at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:175)
> > >         at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:128)
> > >         at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:104)
> > >         at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:109)
> > >         at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:261)
> > >         at
> > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > or.java:844)
> > >         at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.process(Http11Protocol.java:581)
> > >         at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> java:447)
> > >         at java.lang.Thread.run(Thread.java:619)
> > >
> > > "TP-Processor200" daemon prio=10 tid=0x00002aaaf8896400
> > nid=0x3ce9 waiting on condition
> > [0x000000004455d000..0x000000004455ec40]
> > >    java.lang.Thread.State: WAITING (parking)
> > >         at sun.misc.Unsafe.park(Native Method)
> > >         - parking to wait for  <0x00002aaab8228360> (a
> > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > >         at
> > java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > >         at
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > >         at
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > eShared(AbstractQueuedSynchronizer.java:842)
> > >         at
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > hared(AbstractQueuedSynchronizer.java:1162)
> > >         at
> > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> k(ReentrantReadWriteLock.java:594)
> > >         at
> > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > ad(ConcurrentBarrier.java:70)
> > >         at
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > rvice(CheckForUpdatesFilter.java:110)
> > >         at
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at
> > $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > >         at
> > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> yModule.java:1044)
> > >         at
> > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> uestHandler_1139c29ae40.java)
> > >         at
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > >         at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:235)
> > >         at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:206)
> > >         at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:230)
> > >         at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:175)
> > >         at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:128)
> > >         at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:104)
> > >         at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:109)
> > >         at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:261)
> > >         at
> > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> > >         at
> > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> > >         at
> > org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> > >         at
> > org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> > cket.java:697)
> > >         at
> > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
> nelSocket.java:889)
> > >         at
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:686)
> > >         at java.lang.Thread.run(Thread.java:619)
> > >
> > > ... and 199 more of them
> > >
> > >
> > --
> > Martin Grotzke
> > http://www.javakaffee.de/blog/
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: T5: NPE in Base64InputStream and locked/waitingCheckForUpdatesFilter

Posted by Martin Grotzke <ma...@javakaffee.de>.
Ben, thanx a lot for this info!

We were running our app under jdk 6u1 and tapestry 5.0.5, so it's
matching perfectly.

I just installed jdk 6u2 on our test-system and started our app
with this - so we'll see if it happens again.

I'll give a feedback after say 5 days when our app is fine, or of course
if this problem occurs again.

Btw: it's very amazing communicating on this list, as there's so much
useful and fast feedback - really great!!

Thanx for now,
cheers,
Martin



On Tue, 2007-07-10 at 19:52 -1000, Ben Sommerville wrote:
> If you are running under jdk 6u1 and tapestry 5.0.5 (or greater) then
> there is
> a jvm bug that can cause a deadlock.
> 
> The bug report is at
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6571733.  
> It is supposed to be fixed in jdk 6u2 (which was release recently) but I 
> haven't had a chance to test it yet.
> 
> cheers
> Ben
> 
> > -----Original Message-----
> > From: Martin Grotzke [mailto:martin.grotzke@javakaffee.de] 
> > Sent: Wednesday, 11 July 2007 9:06 AM
> > To: Tapestry users
> > Subject: Re: T5: NPE in Base64InputStream and 
> > locked/waitingCheckForUpdatesFilter
> > 
> > The NPE seems to be caused by a missing t:formdata request parameter.
> > 
> > I just "reproduced" this (weird) situation by removing the hidden form
> > field "t:formdata" with firebug, so that I could produce the NPE.
> > 
> > Although, following request went through well, and the number 
> > of request
> > processing threads did not increase.
> > 
> > So there seems to be no (direct) interrelationship between the NPE
> > and the locked threads.
> > 
> > Cheers,
> > Martin
> > 
> > 
> > 
> > On Tue, 2007-07-10 at 23:43 +0200, Martin Grotzke wrote:
> > > Hi,
> > > 
> > > we had an issue with our deployed application that did not respond
> > > anymore. This happened two or three times in the last 4 days, but
> > > I was not able to reproduce it until now.
> > > 
> > > The analysis of the logs showed, that there was a NPE in
> > > Base64InputStream, and afterwards the application did not respond
> > > anymore.
> > > 
> > > When I triggered a thread dump, all 200 tomcat threads were 
> > in status
> > > WAITING, like this one:
> > > 
> > > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00 
> > nid=0x3f05 waiting on condition 
> > [0x000000004459e000..0x000000004459fbc0]
> > >    java.lang.Thread.State: WAITING (parking)
> > >         at sun.misc.Unsafe.park(Native Method)
> > >         - parking to wait for  <0x00002aaab8228360> (a 
> > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > >         at 
> > java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > >         at 
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > >         at 
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > eShared(AbstractQueuedSynchronizer.java:842)
> > >         at 
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > hared(AbstractQueuedSynchronizer.java:1162)
> > >         at 
> > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> k(ReentrantReadWriteLock.java:594)
> > >         at 
> > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > ad(ConcurrentBarrier.java:70)
> > >         at 
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > rvice(CheckForUpdatesFilter.java:110)
> > >         at 
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at 
> > $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > >         at 
> > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> yModule.java:1044)
> > >         at 
> > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> uestHandler_1139c29ae40.java)
> > >         at 
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > >         at 
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:235)
> > >         at 
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:206)
> > >         at 
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:230)
> > >         at 
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:175)
> > >         at 
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:128)
> > >         at 
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:104)
> > >         at 
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:109)
> > >         at 
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:261)
> > >         at 
> > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > or.java:844)
> > >         at 
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.process(Http11Protocol.java:581)
> > >         at 
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> java:447)
> > >         at java.lang.Thread.run(Thread.java:619)
> > > 
> > > I'm not sure if the NPE that happened before is the reason 
> > for this, as I don't
> > > see the relationship between both issues (apart from the 
> > correlation of events/time).
> > > 
> > > Hopefully someone closer to the code can have a look at 
> > this and tell what's the
> > > problem here? Then I'd like to submit a bug report / help 
> > fixing(?)...
> > > 
> > > More output of the logs you find at the end of this email.
> > > 
> > > Thanx a lot in advance,
> > > cheers,
> > > Martin
> > > 
> > > 
> > > 
> > > [INFO ] 2007-07-09 11:56:35,513 TP-Processor1 
> > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > Got invoked args hose, cat:Herrenbekleidung, n, 100
> > > 
> > > [INFO ] 2007-07-09 11:56:35,518 TP-Processor1 
> > org.comp.proj.search.presentation.pages.Search.setupRender:
> > > Starting search...
> > > 
> > > [DEBUG] 2007-07-09 11:56:35,520 TP-Processor1 
> > org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > > Starting query:
> > > 
> > q=hose;score+desc&fq=cat:Herrenbekleidung&start=0&rows=100&fac
> et=true&facet.field=cat&facet.field=brand&facet.field=type&facet>
> .field=color&facet
> > > 
> > .field=price&facet.limit=5&facet.zeros=false&facet.missing=fal
> se&version=2.2
> > > 
> > > [DEBUG] 2007-07-09 11:56:35,610 TP-Processor1 
> > org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > > Got response: numFound: 207, queryTime: 43
> > > 
> > > [INFO ] 2007-07-09 11:56:35,803 TP-Processor1 
> > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > ter.service:
> > > Request time: 292 ms
> > > 
> > > [INFO ] 2007-07-09 11:57:05,982 TP-Processor5 
> > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > Got invoked args hose, n, 100
> > > 
> > > [INFO ] 2007-07-09 11:57:05,988 TP-Processor5 
> > org.comp.proj.search.presentation.pages.Search.setupRender:
> > > Starting search...
> > > 
> > > [DEBUG] 2007-07-09 11:57:05,989 TP-Processor5 
> > org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > > Starting query:
> > > 
> > q=hose;score+desc&start=0&rows=100&facet=true&facet.field=cat&
> facet.field=brand&facet.field=type&facet.field=color&facet.field>
> =price&facet.limit
> > > =5&facet.zeros=false&facet.missing=false&version=2.2
> > > 
> > > [DEBUG] 2007-07-09 11:57:06,078 TP-Processor5 
> > org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > > Got response: numFound: 2001, queryTime: 44
> > > 
> > > [INFO ] 2007-07-09 11:57:06,276 TP-Processor5 
> > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > ter.service:
> > > Request time: 296 ms
> > > 
> > > [INFO ] 2007-07-09 12:07:22,379 TP-Processor5 
> > org.comp.proj.search.presentation.pages.Search.onActivate:
> > > Got invoked args
> > > 
> > > [INFO ] 2007-07-09 12:07:22,382 TP-Processor5 
> > org.comp.proj.search.presentation.services.AppModule.TimingFil
> > ter.service:
> > > Request time: 605041 ms
> > > ^^^^^^^^^^^^^^^^^^^^^^^ --> 10 minutes?!
> > > 
> > > [ERROR] 2007-07-09 12:07:22,382 TP-Processor5 
> > org.apache.tapestry.internal.services.InternalModule.RequestEx
> > ceptionHandler.handleRequestExceptio
> > > n:
> > > Processing of request failed with uncaught exception: 
> > org.apache.tapestry.ioc.internal.util.TapestryException
> > > 
> > > org.apache.tapestry.ioc.internal.util.TapestryException
> > >         at 
> > org.apache.tapestry.corelib.components.Form.onAction(Form.java:375)
> > >         at 
> > org.apache.tapestry.corelib.components.Form.handleComponentEve
> > nt(Form.java)
> > >         at 
> > org.apache.tapestry.internal.structure.ComponentPageElementImp
> > l.handleEvent(ComponentPageElementImpl.java:893)
> > >         at 
> > org.apache.tapestry.internal.structure.ComponentPageElementImp
> > l.triggerEvent(ComponentPageElementImpl.java:998)
> > >         at 
> > org.apache.tapestry.internal.services.ComponentActionRequestHa
> > ndlerImpl.handle(ComponentActionRequestHandlerImpl.java:81)
> > >         at 
> > org.apache.tapestry.internal.services.InternalModule$11.handle
> (InternalModule.java:541)
> > >         at 
> > $ComponentActionRequestHandler_1139c29ae5a.handle($ComponentAc
> tionRequestHandler_1139c29ae5a.java)
> > >         at 
> > $ComponentActionRequestHandler_1139c29ae55.handle($ComponentAc
> tionRequestHandler_1139c29ae55.java)
> > >         at 
> > org.apache.tapestry.internal.services.ComponentActionDispatche
> > r.dispatch(ComponentActionDispatcher.java:116)
> > >         at 
> > $Dispatcher_1139c29ae57.dispatch($Dispatcher_1139c29ae57.java)
> > >         at 
> > $Dispatcher_1139c29ae49.dispatch($Dispatcher_1139c29ae49.java)
> > >         at 
> > org.apache.tapestry.services.TapestryModule$12.service(Tapestr
> yModule.java:1066)
> > >         at 
> > org.comp.proj.search.presentation.services.AppModule$2.service
> (AppModule.java:117)
> > >         at 
> > $RequestFilter_1139c29ae48.service($RequestFilter_1139c29ae48.java)
> > >         at 
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at 
> > org.comp.proj.search.presentation.services.AppModule$1.service
> (AppModule.java:76)
> > >         at 
> > $RequestFilter_1139c29ae47.service($RequestFilter_1139c29ae47.java)
> > >         at 
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at 
> > org.apache.tapestry.internal.services.LocalizationFilter.servi
> > ce(LocalizationFilter.java:43)
> > >         at 
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at 
> > org.apache.tapestry.services.TapestryModule$2.service(Tapestry
> Module.java:657)
> > >         at 
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at 
> > org.apache.tapestry.internal.services.StaticFilesFilter.servic
> > e(StaticFilesFilter.java:63)
> > >         at 
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at 
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
> invoke(CheckForUpdatesFilter.java:97)
> > >         at 
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
> invoke(CheckForUpdatesFilter.java:88)
> > >         at 
> > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > ad(ConcurrentBarrier.java:77)
> > >         at 
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > rvice(CheckForUpdatesFilter.java:110)
> > >         at 
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at 
> > $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > >         at 
> > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> yModule.java:1044)
> > >         at 
> > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> uestHandler_1139c29ae40.java)
> > >         at 
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > >         at 
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:235)
> > >         at 
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:206)
> > >         at 
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:230)
> > >         at 
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:175)
> > >         at 
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:128)
> > >         at 
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:104)
> > >         at 
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:109)
> > >         at 
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:261)
> > >         at 
> > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> > >         at 
> > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> > >         at 
> > org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> > >         at 
> > org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> > cket.java:697)
> > >         at 
> > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
> nelSocket.java:889)
> > >         at 
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:686)
> > >         at java.lang.Thread.run(Thread.java:619)
> > > Caused by: java.lang.NullPointerException
> > >         at 
> > org.apache.tapestry.internal.util.Base64InputStream.decode(Bas
> > e64InputStream.java:34)
> > >         at 
> > org.apache.tapestry.internal.util.Base64InputStream.<init>(Bas
> > e64InputStream.java:29)
> > >         at 
> > org.apache.tapestry.internal.util.Base64ObjectInputStream.<ini
> > t>(Base64ObjectInputStream.java:30)
> > >         at 
> > org.apache.tapestry.corelib.components.Form.onAction(Form.java:355)
> > >         ... 47 more
> > > Jul 9, 2007 2:27:57 PM 
> > org.apache.tomcat.util.threads.ThreadPool logFull
> > > SEVERE: All threads (200) are currently busy, waiting. 
> > Increase maxThreads (200) or check the servlet status
> > > 2007-07-09 17:13:35
> > > Full thread dump Java HotSpot(TM) 64-Bit Server VM 
> > (1.6.0_01-b06 mixed mode):
> > > 
> > > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00 
> > nid=0x3f05 waiting on condition 
> > [0x000000004459e000..0x000000004459fbc0]
> > >    java.lang.Thread.State: WAITING (parking)
> > >         at sun.misc.Unsafe.park(Native Method)
> > >         - parking to wait for  <0x00002aaab8228360> (a 
> > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > >         at 
> > java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > >         at 
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > >         at 
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > eShared(AbstractQueuedSynchronizer.java:842)
> > >         at 
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > hared(AbstractQueuedSynchronizer.java:1162)
> > >         at 
> > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> k(ReentrantReadWriteLock.java:594)
> > >         at 
> > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > ad(ConcurrentBarrier.java:70)
> > >         at 
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > rvice(CheckForUpdatesFilter.java:110)
> > >         at 
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at 
> > $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > >         at 
> > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> yModule.java:1044)
> > >         at 
> > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> uestHandler_1139c29ae40.java)
> > >         at 
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > >         at 
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:235)
> > >         at 
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:206)
> > >         at 
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:230)
> > >         at 
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:175)
> > >         at 
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:128)
> > >         at 
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:104)
> > >         at 
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:109)
> > >         at 
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:261)
> > >         at 
> > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > or.java:844)
> > >         at 
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.process(Http11Protocol.java:581)
> > >         at 
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> java:447)
> > >         at java.lang.Thread.run(Thread.java:619)
> > > 
> > > "TP-Processor200" daemon prio=10 tid=0x00002aaaf8896400 
> > nid=0x3ce9 waiting on condition 
> > [0x000000004455d000..0x000000004455ec40]
> > >    java.lang.Thread.State: WAITING (parking)
> > >         at sun.misc.Unsafe.park(Native Method)
> > >         - parking to wait for  <0x00002aaab8228360> (a 
> > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> > >         at 
> > java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> > >         at 
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> > heckInterrupt(AbstractQueuedSynchronizer.java:712)
> > >         at 
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> > eShared(AbstractQueuedSynchronizer.java:842)
> > >         at 
> > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> > hared(AbstractQueuedSynchronizer.java:1162)
> > >         at 
> > java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
> k(ReentrantReadWriteLock.java:594)
> > >         at 
> > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> > ad(ConcurrentBarrier.java:70)
> > >         at 
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> > rvice(CheckForUpdatesFilter.java:110)
> > >         at 
> > $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> > >         at 
> > $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> > >         at 
> > org.apache.tapestry.services.TapestryModule$11.service(Tapestr
> yModule.java:1044)
> > >         at 
> > $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
> uestHandler_1139c29ae40.java)
> > >         at 
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> > >         at 
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:235)
> > >         at 
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:206)
> > >         at 
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:230)
> > >         at 
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:175)
> > >         at 
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:128)
> > >         at 
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:104)
> > >         at 
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:109)
> > >         at 
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:261)
> > >         at 
> > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> > >         at 
> > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> > >         at 
> > org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> > >         at 
> > org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> > cket.java:697)
> > >         at 
> > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
> nelSocket.java:889)
> > >         at 
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:686)
> > >         at java.lang.Thread.run(Thread.java:619)
> > > 
> > > ... and 199 more of them
> > > 
> > > 
> > -- 
> > Martin Grotzke
> > http://www.javakaffee.de/blog/
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 
-- 
Martin Grotzke
http://www.javakaffee.de/blog/

RE: T5: NPE in Base64InputStream and locked/waitingCheckForUpdatesFilter

Posted by Matt Ayres <ma...@lithium.com>.
I haven't had a chance to run a load test of j6u1 vs j6u2 with 5.0.5,
however switching to j6u2 on our public test site for the last day seems
to have solved the problem. The previous day on j6u1 it stopped
responding 4 times. Thanks for pointing out the bug report.

-Matt

-----Original Message-----
From: Ben Sommerville [mailto:ben@bulletproof.com.au] 
Sent: Tuesday, July 10, 2007 10:52 PM
To: 'Tapestry users'
Subject: RE: T5: NPE in Base64InputStream and
locked/waitingCheckForUpdatesFilter

If you are running under jdk 6u1 and tapestry 5.0.5 (or greater) then
there is
a jvm bug that can cause a deadlock.

The bug report is at
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6571733.  
It is supposed to be fixed in jdk 6u2 (which was release recently) but I

haven't had a chance to test it yet.

cheers
Ben

> -----Original Message-----
> From: Martin Grotzke [mailto:martin.grotzke@javakaffee.de] 
> Sent: Wednesday, 11 July 2007 9:06 AM
> To: Tapestry users
> Subject: Re: T5: NPE in Base64InputStream and 
> locked/waitingCheckForUpdatesFilter
> 
> The NPE seems to be caused by a missing t:formdata request parameter.
> 
> I just "reproduced" this (weird) situation by removing the hidden form
> field "t:formdata" with firebug, so that I could produce the NPE.
> 
> Although, following request went through well, and the number 
> of request
> processing threads did not increase.
> 
> So there seems to be no (direct) interrelationship between the NPE
> and the locked threads.
> 
> Cheers,
> Martin
> 
> 
> 
> On Tue, 2007-07-10 at 23:43 +0200, Martin Grotzke wrote:
> > Hi,
> > 
> > we had an issue with our deployed application that did not respond
> > anymore. This happened two or three times in the last 4 days, but
> > I was not able to reproduce it until now.
> > 
> > The analysis of the logs showed, that there was a NPE in
> > Base64InputStream, and afterwards the application did not respond
> > anymore.
> > 
> > When I triggered a thread dump, all 200 tomcat threads were 
> in status
> > WAITING, like this one:
> > 
> > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00 
> nid=0x3f05 waiting on condition 
> [0x000000004459e000..0x000000004459fbc0]
> >    java.lang.Thread.State: WAITING (parking)
> >         at sun.misc.Unsafe.park(Native Method)
> >         - parking to wait for  <0x00002aaab8228360> (a 
> java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> >         at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> heckInterrupt(AbstractQueuedSynchronizer.java:712)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> eShared(AbstractQueuedSynchronizer.java:842)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> hared(AbstractQueuedSynchronizer.java:1162)
> >         at 
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
k(ReentrantReadWriteLock.java:594)
> >         at 
> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> ad(ConcurrentBarrier.java:70)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> rvice(CheckForUpdatesFilter.java:110)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$11.service(Tapestr
yModule.java:1044)
> >         at 
> $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
uestHandler_1139c29ae40.java)
> >         at 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:235)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:206)
> >         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:230)
> >         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:175)
> >         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:128)
> >         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:104)
> >         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java:109)
> >         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> ter.java:261)
> >         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:844)
> >         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
r.process(Http11Protocol.java:581)
> >         at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
java:447)
> >         at java.lang.Thread.run(Thread.java:619)
> > 
> > I'm not sure if the NPE that happened before is the reason 
> for this, as I don't
> > see the relationship between both issues (apart from the 
> correlation of events/time).
> > 
> > Hopefully someone closer to the code can have a look at 
> this and tell what's the
> > problem here? Then I'd like to submit a bug report / help 
> fixing(?)...
> > 
> > More output of the logs you find at the end of this email.
> > 
> > Thanx a lot in advance,
> > cheers,
> > Martin
> > 
> > 
> > 
> > [INFO ] 2007-07-09 11:56:35,513 TP-Processor1 
> org.comp.proj.search.presentation.pages.Search.onActivate:
> > Got invoked args hose, cat:Herrenbekleidung, n, 100
> > 
> > [INFO ] 2007-07-09 11:56:35,518 TP-Processor1 
> org.comp.proj.search.presentation.pages.Search.setupRender:
> > Starting search...
> > 
> > [DEBUG] 2007-07-09 11:56:35,520 TP-Processor1 
> org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > Starting query:
> > 
> q=hose;score+desc&fq=cat:Herrenbekleidung&start=0&rows=100&fac
et=true&facet.field=cat&facet.field=brand&facet.field=type&facet>
.field=color&facet
> > 
> .field=price&facet.limit=5&facet.zeros=false&facet.missing=fal
se&version=2.2
> > 
> > [DEBUG] 2007-07-09 11:56:35,610 TP-Processor1 
> org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > Got response: numFound: 207, queryTime: 43
> > 
> > [INFO ] 2007-07-09 11:56:35,803 TP-Processor1 
> org.comp.proj.search.presentation.services.AppModule.TimingFil
> ter.service:
> > Request time: 292 ms
> > 
> > [INFO ] 2007-07-09 11:57:05,982 TP-Processor5 
> org.comp.proj.search.presentation.pages.Search.onActivate:
> > Got invoked args hose, n, 100
> > 
> > [INFO ] 2007-07-09 11:57:05,988 TP-Processor5 
> org.comp.proj.search.presentation.pages.Search.setupRender:
> > Starting search...
> > 
> > [DEBUG] 2007-07-09 11:57:05,989 TP-Processor5 
> org.comp.proj.search.business.SearchServiceSolrImpl.search:
> > Starting query:
> > 
> q=hose;score+desc&start=0&rows=100&facet=true&facet.field=cat&
facet.field=brand&facet.field=type&facet.field=color&facet.field>
=price&facet.limit
> > =5&facet.zeros=false&facet.missing=false&version=2.2
> > 
> > [DEBUG] 2007-07-09 11:57:06,078 TP-Processor5 
> org.comp.proj.search.business.SearchServiceSolrImpl.logResponse:
> > Got response: numFound: 2001, queryTime: 44
> > 
> > [INFO ] 2007-07-09 11:57:06,276 TP-Processor5 
> org.comp.proj.search.presentation.services.AppModule.TimingFil
> ter.service:
> > Request time: 296 ms
> > 
> > [INFO ] 2007-07-09 12:07:22,379 TP-Processor5 
> org.comp.proj.search.presentation.pages.Search.onActivate:
> > Got invoked args
> > 
> > [INFO ] 2007-07-09 12:07:22,382 TP-Processor5 
> org.comp.proj.search.presentation.services.AppModule.TimingFil
> ter.service:
> > Request time: 605041 ms
> > ^^^^^^^^^^^^^^^^^^^^^^^ --> 10 minutes?!
> > 
> > [ERROR] 2007-07-09 12:07:22,382 TP-Processor5 
> org.apache.tapestry.internal.services.InternalModule.RequestEx
> ceptionHandler.handleRequestExceptio
> > n:
> > Processing of request failed with uncaught exception: 
> org.apache.tapestry.ioc.internal.util.TapestryException
> > 
> > org.apache.tapestry.ioc.internal.util.TapestryException
> >         at 
> org.apache.tapestry.corelib.components.Form.onAction(Form.java:375)
> >         at 
> org.apache.tapestry.corelib.components.Form.handleComponentEve
> nt(Form.java)
> >         at 
> org.apache.tapestry.internal.structure.ComponentPageElementImp
> l.handleEvent(ComponentPageElementImpl.java:893)
> >         at 
> org.apache.tapestry.internal.structure.ComponentPageElementImp
> l.triggerEvent(ComponentPageElementImpl.java:998)
> >         at 
> org.apache.tapestry.internal.services.ComponentActionRequestHa
> ndlerImpl.handle(ComponentActionRequestHandlerImpl.java:81)
> >         at 
> org.apache.tapestry.internal.services.InternalModule$11.handle
(InternalModule.java:541)
> >         at 
> $ComponentActionRequestHandler_1139c29ae5a.handle($ComponentAc
tionRequestHandler_1139c29ae5a.java)
> >         at 
> $ComponentActionRequestHandler_1139c29ae55.handle($ComponentAc
tionRequestHandler_1139c29ae55.java)
> >         at 
> org.apache.tapestry.internal.services.ComponentActionDispatche
> r.dispatch(ComponentActionDispatcher.java:116)
> >         at 
> $Dispatcher_1139c29ae57.dispatch($Dispatcher_1139c29ae57.java)
> >         at 
> $Dispatcher_1139c29ae49.dispatch($Dispatcher_1139c29ae49.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$12.service(Tapestr
yModule.java:1066)
> >         at 
> org.comp.proj.search.presentation.services.AppModule$2.service
(AppModule.java:117)
> >         at 
> $RequestFilter_1139c29ae48.service($RequestFilter_1139c29ae48.java)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> org.comp.proj.search.presentation.services.AppModule$1.service
(AppModule.java:76)
> >         at 
> $RequestFilter_1139c29ae47.service($RequestFilter_1139c29ae47.java)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> org.apache.tapestry.internal.services.LocalizationFilter.servi
> ce(LocalizationFilter.java:43)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$2.service(Tapestry
Module.java:657)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> org.apache.tapestry.internal.services.StaticFilesFilter.servic
> e(StaticFilesFilter.java:63)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
invoke(CheckForUpdatesFilter.java:97)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.
invoke(CheckForUpdatesFilter.java:88)
> >         at 
> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> ad(ConcurrentBarrier.java:77)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> rvice(CheckForUpdatesFilter.java:110)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$11.service(Tapestr
yModule.java:1044)
> >         at 
> $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
uestHandler_1139c29ae40.java)
> >         at 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:235)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:206)
> >         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:230)
> >         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:175)
> >         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:128)
> >         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:104)
> >         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java:109)
> >         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> ter.java:261)
> >         at 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> >         at 
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> >         at 
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> >         at 
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> cket.java:697)
> >         at 
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
nelSocket.java:889)
> >         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:686)
> >         at java.lang.Thread.run(Thread.java:619)
> > Caused by: java.lang.NullPointerException
> >         at 
> org.apache.tapestry.internal.util.Base64InputStream.decode(Bas
> e64InputStream.java:34)
> >         at 
> org.apache.tapestry.internal.util.Base64InputStream.<init>(Bas
> e64InputStream.java:29)
> >         at 
> org.apache.tapestry.internal.util.Base64ObjectInputStream.<ini
> t>(Base64ObjectInputStream.java:30)
> >         at 
> org.apache.tapestry.corelib.components.Form.onAction(Form.java:355)
> >         ... 47 more
> > Jul 9, 2007 2:27:57 PM 
> org.apache.tomcat.util.threads.ThreadPool logFull
> > SEVERE: All threads (200) are currently busy, waiting. 
> Increase maxThreads (200) or check the servlet status
> > 2007-07-09 17:13:35
> > Full thread dump Java HotSpot(TM) 64-Bit Server VM 
> (1.6.0_01-b06 mixed mode):
> > 
> > "http-9090-1" daemon prio=10 tid=0x00002aaaf7e1fc00 
> nid=0x3f05 waiting on condition 
> [0x000000004459e000..0x000000004459fbc0]
> >    java.lang.Thread.State: WAITING (parking)
> >         at sun.misc.Unsafe.park(Native Method)
> >         - parking to wait for  <0x00002aaab8228360> (a 
> java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> >         at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> heckInterrupt(AbstractQueuedSynchronizer.java:712)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> eShared(AbstractQueuedSynchronizer.java:842)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> hared(AbstractQueuedSynchronizer.java:1162)
> >         at 
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
k(ReentrantReadWriteLock.java:594)
> >         at 
> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> ad(ConcurrentBarrier.java:70)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> rvice(CheckForUpdatesFilter.java:110)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$11.service(Tapestr
yModule.java:1044)
> >         at 
> $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
uestHandler_1139c29ae40.java)
> >         at 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:235)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:206)
> >         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:230)
> >         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:175)
> >         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:128)
> >         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:104)
> >         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java:109)
> >         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> ter.java:261)
> >         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:844)
> >         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
r.process(Http11Protocol.java:581)
> >         at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
java:447)
> >         at java.lang.Thread.run(Thread.java:619)
> > 
> > "TP-Processor200" daemon prio=10 tid=0x00002aaaf8896400 
> nid=0x3ce9 waiting on condition 
> [0x000000004455d000..0x000000004455ec40]
> >    java.lang.Thread.State: WAITING (parking)
> >         at sun.misc.Unsafe.park(Native Method)
> >         - parking to wait for  <0x00002aaab8228360> (a 
> java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> >         at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndC
> heckInterrupt(AbstractQueuedSynchronizer.java:712)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquir
> eShared(AbstractQueuedSynchronizer.java:842)
> >         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireS
> hared(AbstractQueuedSynchronizer.java:1162)
> >         at 
> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.loc
k(ReentrantReadWriteLock.java:594)
> >         at 
> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRe
> ad(ConcurrentBarrier.java:70)
> >         at 
> org.apache.tapestry.internal.services.CheckForUpdatesFilter.se
> rvice(CheckForUpdatesFilter.java:110)
> >         at 
> $RequestHandler_1139c29ae4a.service($RequestHandler_1139c29ae4a.java)
> >         at 
> $RequestHandler_1139c29ae41.service($RequestHandler_1139c29ae41.java)
> >         at 
> org.apache.tapestry.services.TapestryModule$11.service(Tapestr
yModule.java:1044)
> >         at 
> $HttpServletRequestHandler_1139c29ae40.service($HttpServletReq
uestHandler_1139c29ae40.java)
> >         at 
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:235)
> >         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:206)
> >         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:230)
> >         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:175)
> >         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:128)
> >         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:104)
> >         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java:109)
> >         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> ter.java:261)
> >         at 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> >         at 
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> >         at 
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
> >         at 
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSo
> cket.java:697)
> >         at 
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(Chan
nelSocket.java:889)
> >         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:686)
> >         at java.lang.Thread.run(Thread.java:619)
> > 
> > ... and 199 more of them
> > 
> > 
> -- 
> Martin Grotzke
> http://www.javakaffee.de/blog/
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org