Also, add an issue at https://issues.apache.org/jira/browse/TAPESTRY
in order to track this and add more info, e.t.c.

On Thu, Jan 8, 2009 at 9:03 PM, Andreas Andreou <andy...@di.uoa.gr> wrote:
> 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.wasser...@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.wasser...@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.wasser...@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.wasser...@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:hls...@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.wasser...@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.wasser...@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.wasser...@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: andre...@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.wasser...@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:hls...@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.wasser...@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-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
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Andreas Andreou - andy...@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-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 Apache Tapestry and Apache HiveMind
>>
>> ---------------------------------------------------------------------
>> 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
>>
>
>
>
> --
> Andreas Andreou - andy...@apache.org - http://blog.andyhot.gr
> Tapestry / Tacos developer
> Open Source / JEE Consulting
>



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

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

Reply via email to