tapestry-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Andreou" <andy...@di.uoa.gr>
Subject Re: Tapestry Upgrade problem
Date Thu, 08 Jan 2009 19:03:35 GMT
I want to take a look, but got two questions...
- you said you tried several VMs, does that include 1.6 ones?
- Does https://issues.apache.org/jira/browse/TAPESTRY-2708 seem related?

On Thu, Jan 8, 2009 at 8:18 PM, Mike Wasserman
<mike.wasserman@intelliware.ca> wrote:
> We've tracked the problem further and it appears to be a thread safety problem in the
PageLoader class.
> We have pop-ups in our app that are seperate Tapestry pages and we think that they may
be clobbering each other when getting loaded.
>
> Is this possible?
>
> ________________________________
>
> From: Mike Wasserman [mailto:mike.wasserman@intelliware.ca]
> Sent: Thu 1/8/2009 10:15 AM
> To: Tapestry users
> Subject: RE: Tapestry Upgrade problem
>
>
>
> It now makes sense to me why the _components map is empty when getComponent() is called.
> The map is never populated because no componentIds are found when PageLoder.construct()
tries to get them off the IComponentSpecification, (PageLoader line: 358).
> The loop that in which the component creation happens is controlled by the number of
componentIds found.
>
> Now to figure out why there are no ids.
>
> Mike
>
> ________________________________
>
> From: Mike Wasserman [mailto:mike.wasserman@intelliware.ca]
> Sent: Wed 1/7/2009 3:32 PM
> To: Tapestry users
> Subject: RE: Tapestry Upgrade problem
>
>
>
> Actually I was wrong in what I wrote in my last email.
> addComponent() is NOT being called before getComponent() when the problem arises.
>
> Mike
>
> ________________________________
>
> From: Mike Wasserman [mailto:mike.wasserman@intelliware.ca]
> Sent: Wed 1/7/2009 2:47 PM
> To: Tapestry users
> Subject: RE: Tapestry Upgrade problem
>
>
>
> Multiple pages are afflicted. It appears to happen primarily with the "shell" component.
>
> We put logging in the getComponent() and the addComponent() methods of the AbstractComponent
class to output the Thread Id  and Component Id since the adding of components and the getting
of components seemed to be happening on the same thread. We got output that indicated that
addComponent() was being called before getComponent(), but despite this we experienced the
problem.  When we stopped the app with a break point (we're using Eclipse) and examined the
variables in the AbstractComponent class we found that the _components Map was null, and _active
was false.
>
> Thanks
>
> Mike
>
> ________________________________
>
> From: Howard Lewis Ship [mailto:hlship@gmail.com]
> Sent: Wed 1/7/2009 2:33 PM
> To: Tapestry users
> Subject: Re: Tapestry Upgrade problem
>
>
>
> The _components field should be populated before your code gets invoked.
>
> Without looking at the code, it sounds like a Tapestry bug; but I
> can't imagine how a bug like that could have slipped through for so
> long that you're the only one who sees it.
>
> Does this happen to only a single page, or are multiple pages afflicted?
>
> On Wed, Jan 7, 2009 at 10:40 AM, Mike Wasserman
> <mike.wasserman@intelliware.ca> wrote:
>> I added the following code to the AbstractComponent.getComponent(String id) method:
>>
>>        while(_components == null) {
>>         try {
>>          System.out.println("SLEEPING");
>>    Thread.currentThread().sleep(500);
>>   } catch (InterruptedException e) {
>>    e.printStackTrace();
>>   }
>>        }
>>
>> I was hoping that by having the app sleep for a short period of time the _components
HashMap would eventually be populated.
>> It seems to work for a while, but eventually the app ends up in a state of permanently
sleeping (this seems to happen randomly, sometimes after 2 tests, sometimes after 20 tests,
sometimes after 50 tests).
>> So it appears that the _components HashMap is never populated under some circumstances.
>>
>> Anyone have any clue why this is happening, or how it is possible for this to happen
in Tapestry?
>>
>> Thanks
>>
>> Mike
>>
>>
>> ________________________________
>>
>> From: Mike Wasserman [mailto:mike.wasserman@intelliware.ca]
>> Sent: Tue 1/6/2009 2:58 PM
>> To: Tapestry users
>> Subject: RE: Tapestry Upgrade problem
>>
>>
>>
>> I've tried a variety of JDKs and the problem happens with all of them.
>>
>> I've tracked it through the code and what it seems to come down to is that sometimes
the _components Map in the AbstractComponent class is populated and other times it's null.
>> My guess at this point is that it's some sort of threading problem within Tapestry.
>>
>> Anyone have any ideas on how to fix this problem?
>>
>> Thanks
>>
>> Mike
>>
>> ________________________________
>>
>> From: Mike Wasserman [mailto:mike.wasserman@intelliware.ca]
>> Sent: Thu 12/25/2008 1:07 PM
>> To: Tapestry users
>> Subject: RE: Tapestry Upgrade problem
>>
>>
>>
>> Thanks for your response.
>> No, we didn't have this problem with 4.1.2
>>
>> I am off on holidays for a little while, but I will try your suggestion as soon as
I get back.
>>
>> Thanks again
>>
>> ________________________________
>>
>> From: andreoua@gmail.com on behalf of Andreas Andreou
>> Sent: Wed 12/24/2008 3:11 PM
>> To: Tapestry users
>> Subject: Re: Tapestry Upgrade problem
>>
>>
>>
>> So, you weren't seeing this problem with 4.1.2 ?
>>
>> I'd be interesting if you could try with a 1.6 VM, but apart from that
>> and since you're getting this consistently, i'm wondering if you can try this
>> (which is based on some old reports I remember reading here):
>> - Start your app and before running the tests, try to visit all the affected
>> pages by hand (making sure they load fine) and only then fire the tests.
>> Do you see problems after that?
>>
>> On Wed, Dec 24, 2008 at 8:16 PM, Mike Wasserman
>> <mike.wasserman@intelliware.ca> wrote:
>>> I've tried with JDK 1.5.0_10 and JDK 1.5.0_17 and I am experiencing the
>>> same problem with both.
>>> The Selenium tests are hitting the app pretty hard and I'm wondering if
>>> it's causing a threading problem within Tapestry.
>>> Isn't the component creation multi-threaded?
>>>
>>>
>>> -----Original Message-----
>>> From: Howard Lewis Ship [mailto:hlship@gmail.com]
>>> Sent: Tuesday, December 23, 2008 2:00 PM
>>> To: Tapestry users
>>> Subject: Re: Tapestry Upgrade problem
>>>
>>> What JDK are you running on?
>>>
>>> On Tue, Dec 23, 2008 at 10:50 AM, Mike Wasserman
>>> <mike.wasserman@intelliware.ca> wrote:
>>>> I am upgrading from Tapestry 4.1.2 to Tapestry 4.1.6.
>>>> When I run my integration tests (using Selenium) I am get a error
>>> randomly.
>>>> I receive a org.apache.hivemind.ApplicationRuntimeException that
>>> indicates that given component (page) does not contain a component
>>> shell.
>>>> All of the affected pages have <html jwcid="shell"> which leads me
to
>>> believe that I have specified a shell component.
>>>> I have tracked the problem into the PageLoader class, but since the
>>> problem is random it is very difficult to debug.
>>>> Is it possible that this is a threading problem?
>>>>
>>>> Can anyone help?
>>>>
>>>> Mike
>>>>
>>>
>>>
>>>
>>> --
>>> Howard M. Lewis Ship
>>>
>>> Creator Apache Tapestry and Apache HiveMind
>>>
>>> ---------------------------------------------------------------------
>>> 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
>>>
>>>
>>
>>
>>
>> --
>> Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr <http://blog.andyhot.gr/>
 <http://blog.andyhot.gr/>  <http://blog.andyhot.gr/>  <http://blog.andyhot.gr/>
 <http://blog.andyhot.gr/>  <http://blog.andyhot.gr/>  <http://blog.andyhot.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
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator Apache Tapestry and Apache HiveMind
>
> ---------------------------------------------------------------------
> 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
>



-- 
Andreas Andreou - andyhot@apache.org - http://blog.andyhot.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


Mime
View raw message