I was working with a client and put a bunch of code to prevent deadlocks in place for beta-8 ... but it looks like it only made the deadlock situation worse; they'll be pulled out for beta-9 (due pretty shortly).
On Thu, Sep 15, 2011 at 7:53 AM, Steve Eynon <steve.ey...@alienfactory.co.uk> wrote: > Hi, > > I don't know if this is related, but I can make my app server (Jetty > 6) lock up in a repeatable and reliable fashion using T5.3-beta-8 > which doesn't happen with T5.3-beta-6 - but it's only when I have > ProdMode set to true. The steps are: > > - I log into my app (via 2 pages in Firefox v3.6), thereby creating > some session state. > - I restart the app server > - I then directly request the home page - http://localhost:8080/ > - I get a partial render (probably browser caching) and the request > never completes. The app then won't serve up any more pages. Not even > if I use a different browser, i.e. Chrome. > > I tried the procedure 4 times in a row (just to make sure!) with the > same results. I set ProdMode to false, and all was okay again. I > turned ProdMode back to true, downgraded to T5.3-beta-6 and still no > problems. > > As it wasn't specified exactly what changed between versions, its > difficult to know if this post is relevant or not, but I thought I'd > post it just in case... > > Here are some partial Thread dumps from when it locked up with > T5.3-beta-8. Oh, and I'm using JDK 5.0.22... (I know, I know, but I > have no control over the prod env!) > > Thread [22552192@qtp-30702379-0] (Suspended) > Unsafe.park(boolean, long) line: not available [native method] > LockSupport.park() line: 118 > AbstractQueuedSynchronizer.parkAndCheckInterrupt() line: 716 > > ReentrantReadWriteLock$NonfairSync(AbstractQueuedSynchronizer).doAcquireShared(int) > line: 844 > > ReentrantReadWriteLock$NonfairSync(AbstractQueuedSynchronizer).acquireShared(int) > line: 1159 > ReentrantReadWriteLock$ReadLock.lock() line: 423 > ConcurrentBarrier.withRead(Invokable<T>) line: 75 > ModuleImpl.findOrCreate(ServiceDef3, > Collection<EagerLoadServiceProxy>) line: 213 > ModuleImpl.getService(String, Class<T>) line: 109 > RegistryImpl.getService(String, Class<T>) line: 448 > RegistryImpl.getService(Class<T>) line: 695 > ServiceResourcesImpl(ObjectLocatorImpl).getService(Class<T>) line: 45 > ServiceInjectionProvider.provideInjection(PlasticField, > ObjectLocator, MutableComponentModel) line: 43 > <unknown receiving > type>($InjectionProvider2_116c58bbc2e23).provideInjection(PlasticField, > ObjectLocator, MutableComponentModel) line: not available > $InjectionProvider2_116c58bbc2e1f.provideInjection(PlasticField, > ObjectLocator, MutableComponentModel) line: not available > InjectWorker$2.run() line: 73 > OperationTrackerImpl$1.invoke() line: 51 > OperationTrackerImpl$1.invoke() line: 48 > OperationTrackerImpl.invoke(String, Invokable<T>) line: 74 > > Thread [13174783@qtp-30702379-3] (Suspended) > Unsafe.park(boolean, long) line: not available [native method] > LockSupport.park() line: 118 > AbstractQueuedSynchronizer.parkAndCheckInterrupt() line: 716 > > ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).acquireQueued(AbstractQueuedSynchronizer$Node, > int) line: 746 > ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).acquire(int) > line: 1076 > ReentrantLock$NonfairSync.lock() line: 184 > ReentrantLock.lock() line: 256 > ComponentInstantiatorSourceImpl.getInstantiator(String) line: 217 > $ComponentInstantiatorSource_116c58bbc2e12.getInstantiator(String) > line: not available > PageLoaderImpl$4.invoke() line: 205 > PageLoaderImpl$4.invoke() line: 203 > OperationTrackerImpl.invoke(String, Invokable<T>) line: 74 > PerThreadOperationTracker.invoke(String, Invokable<T>) line: 87 > RegistryImpl.invoke(String, Invokable<T>) line: 1082 > PageLoaderImpl.createAssembler(String, ComponentResourceSelector) > line: 203 > PageLoaderImpl.getAssembler(String, ComponentResourceSelector) line: > 194 > PageLoaderImpl$3.invoke() line: 168 > PageLoaderImpl$3.invoke() line: 164 > OperationTrackerImpl.invoke(String, Invokable<T>) line: 74 > > > Thread [17265362@qtp-30702379-5] (Suspended) > Unsafe.park(boolean, long) line: not available [native method] > LockSupport.park() line: 118 > AbstractQueuedSynchronizer.parkAndCheckInterrupt() line: 716 > > ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).acquireQueued(AbstractQueuedSynchronizer$Node, > int) line: 746 > ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).acquire(int) > line: 1076 > ReentrantLock$NonfairSync.lock() line: 184 > ReentrantLock.lock() line: 256 > ComponentInstantiatorSourceImpl.getInstantiator(String) line: 217 > $ComponentInstantiatorSource_116c58bbc2e12.getInstantiator(String) > line: not available > PageLoaderImpl$4.invoke() line: 205 > PageLoaderImpl$4.invoke() line: 203 > OperationTrackerImpl.invoke(String, Invokable<T>) line: 74 > > Thread [5553796@qtp-30702379-4] (Suspended) > JustInTimeObjectCreator<T>.obtainObjectFromCreator() line: 63 > JustInTimeObjectCreator<T>.createObject() line: 56 > $ComponentResourceLocator_116c58bbc2e03.delegate() line: not available > $ComponentResourceLocator_116c58bbc2e03.locateTemplate(ComponentModel, > ComponentResourceSelector) line: not available > ComponentTemplateSourceImpl.locateTemplateResource(ComponentModel, > ComponentResourceSelector) line: 183 > ComponentTemplateSourceImpl.getTemplate(ComponentModel, > ComponentResourceSelector) line: 137 > $ComponentTemplateSource_116c58bbc2e10.getTemplate(ComponentModel, > ComponentResourceSelector) line: not available > PageLoaderImpl$4.invoke() line: 209 > PageLoaderImpl$4.invoke() line: 203 > OperationTrackerImpl.invoke(String, Invokable<T>) line: 74 > > Thread [1222210@qtp-30702379-6] (Suspended) > Unsafe.park(boolean, long) line: not available [native method] > LockSupport.park() line: 118 > AbstractQueuedSynchronizer.parkAndCheckInterrupt() line: 716 > > ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).acquireQueued(AbstractQueuedSynchronizer$Node, > int) line: 746 > ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).acquire(int) > line: 1076 > ReentrantLock$NonfairSync.lock() line: 184 > ReentrantLock.lock() line: 256 > PlasticManager.lock() line: 276 > PlasticManager.createProxy(Class<T>, PlasticClassTransformer) line: 254 > PlasticProxyFactoryImpl.createProxy(Class<T>, > PlasticClassTransformer) line: 63 > ModuleImpl.createProxyInstance(ObjectCreator, ServiceProxyToken, > Class, Class, String) line: 463 > ModuleImpl.createProxy(ServiceResources, ObjectCreator) line: 457 > ModuleImpl.access$900(ModuleImpl, ServiceResources, ObjectCreator) > line: 39 > ModuleImpl$4.invoke() line: 311 > OperationTrackerImpl.invoke(String, Invokable<T>) line: 74 > > Thread [2212784@qtp-30702379-2] (Suspended) > JustInTimeObjectCreator<T>.obtainObjectFromCreator() line: 63 > JustInTimeObjectCreator<T>.createObject() line: 56 > $ComponentResourceLocator_116c58bbc2e03.delegate() line: not available > $ComponentResourceLocator_116c58bbc2e03.locateTemplate(ComponentModel, > ComponentResourceSelector) line: not available > ComponentTemplateSourceImpl.locateTemplateResource(ComponentModel, > ComponentResourceSelector) line: 183 > ComponentTemplateSourceImpl.getTemplate(ComponentModel, > ComponentResourceSelector) line: 137 > $ComponentTemplateSource_116c58bbc2e10.getTemplate(ComponentModel, > ComponentResourceSelector) line: not available > PageLoaderImpl$4.invoke() line: 209 > PageLoaderImpl$4.invoke() line: 203 > OperationTrackerImpl.invoke(String, Invokable<T>) line: 74 > > Steve. > > > > > On 15 September 2011 06:25, Howard Lewis Ship <hls...@gmail.com> wrote: >> I've just made 5.3-beta-8 available. >> >> http://tapestry.apache.org/2011/08/27/tapestry-53-beta-preview.html >> >> I've been doing a bit of work to improve performance and deal with >> some thread deadlocks (related to class loading and re-loading). I'd >> appreciate hearing back from any users who have started using beta-8. >> Thanks! >> >> -- >> Howard M. Lewis Ship >> >> Creator of Apache Tapestry >> >> The source for Tapestry training, mentoring and support. Contact me to >> learn how I can get you up and productive in Tapestry fast! >> >> (971) 678-5210 >> http://howardlewisship.com >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org