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

Reply via email to