RE: Tapestry Upgrade problem

2009-01-13 Thread Mike Wasserman
We are going with the solution that I wrote about in my last post.
After further investigation we believe that the PageSpecificationResolverImpl 
class is being initialized twice.
We are not 100% certain of this, but unfortunately we don't have the time and 
resources to futher investigate this issue.
 
We did discover that the synchronized call must be placed around the call to 
PageSpecificationResolver.resolve(...), trying to synchronize the method itself 
didn't work.
 
Thanks for all your help
 
Mike



From: Mike Wasserman [mailto:mike.wasser...@intelliware.ca]
Sent: Mon 1/12/2009 9:53 AM
To: Tapestry users
Subject: RE: Tapestry Upgrade problem



We believe that we may have found a solution to this problem.
We have placed the call to PageSpecificationResolver.resolve(IRequestCycle 
cycle, String prefixedName) in PageSource.makeObject(Object key) in a 
synchronized block.
With this in place we are unable to recreate the "no shell component found" 
problem we've been having.

We intend to dig deeper and hopefully come up with a good explaination, (or 
theory at least) as to what caused the problem.

Thanks

Mike



From: Mike Wasserman [mailto:mike.wasser...@intelliware.ca]
Sent: Fri 1/9/2009 11:36 AM
To: Tapestry users
Subject: RE: Tapestry Upgrade problem



Done.
If you need any more information please don't hesitate to ask.

Thanks

Mike



From: andre...@gmail.com on behalf of Andreas Andreou
Sent: Thu 1/8/2009 2:23 PM
To: Tapestry users
Subject: Re: Tapestry Upgrade problem



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  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
>  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

RE: Tapestry Upgrade problem

2009-01-12 Thread Mike Wasserman
We believe that we may have found a solution to this problem.
We have placed the call to PageSpecificationResolver.resolve(IRequestCycle 
cycle, String prefixedName) in PageSource.makeObject(Object key) in a 
synchronized block.
With this in place we are unable to recreate the "no shell component found" 
problem we've been having.
 
We intend to dig deeper and hopefully come up with a good explaination, (or 
theory at least) as to what caused the problem.
 
Thanks
 
Mike



From: Mike Wasserman [mailto:mike.wasser...@intelliware.ca]
Sent: Fri 1/9/2009 11:36 AM
To: Tapestry users
Subject: RE: Tapestry Upgrade problem



Done.
If you need any more information please don't hesitate to ask.

Thanks

Mike



From: andre...@gmail.com on behalf of Andreas Andreou
Sent: Thu 1/8/2009 2:23 PM
To: Tapestry users
Subject: Re: Tapestry Upgrade problem



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  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
>  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
>>  wrote:
>>> I added the following code to the AbstractComponent.getComponent(String id) 
>>> method:
>>>
>>>while(_components == null) {
>>> try {
>>>  System.out.pri

RE: Tapestry Upgrade problem

2009-01-09 Thread Mike Wasserman
Done.
If you need any more information please don't hesitate to ask.
 
Thanks
 
Mike



From: andre...@gmail.com on behalf of Andreas Andreou
Sent: Thu 1/8/2009 2:23 PM
To: Tapestry users
Subject: Re: Tapestry Upgrade problem



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  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
>  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
>>  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

RE: Tapestry Upgrade problem

2009-01-09 Thread Mike Wasserman
We haven't tried 1.6 and unfortunately it's not really an option for us due to 
restrictions placed on us by the client.
It doesn't seem related to https://issues.apache.org/jira/browse/TAPESTRY-2708 
. We aren't getting a NullPointerException and although that problems seems to 
be in a similar area of the code it isn't the same stack trace that we're 
getting.
 
Mike



From: andre...@gmail.com on behalf of Andreas Andreou
Sent: Thu 1/8/2009 2:03 PM
To: Tapestry users
Subject: Re: Tapestry Upgrade problem



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
 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
>  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
>>
>>
>> 
>>
>>

Re: Tapestry Upgrade problem

2009-01-08 Thread Howard Lewis Ship
Sounds like you may be on to something!

On Thu, Jan 8, 2009 at 10:18 AM, Mike Wasserman
 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
>  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
>>
>> 

Re: Tapestry Upgrade problem

2009-01-08 Thread Andreas Andreou
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  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
>  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
>>  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
>

Re: Tapestry Upgrade problem

2009-01-08 Thread Andreas Andreou
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
 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
>  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

RE: Tapestry Upgrade problem

2009-01-08 Thread Mike Wasserman
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
 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 see

RE: Tapestry Upgrade problem

2009-01-08 Thread Mike Wasserman
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
 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.
> D

RE: Tapestry Upgrade problem

2009-01-07 Thread Mike Wasserman
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
 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
>  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

RE: Tapestry Upgrade problem

2009-01-07 Thread Mike Wasserman
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
 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
>  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
>>  wrote:
>>> I am upgrading from Tapestry 4.1.2 to Tapestry 4.1.6.
>>> When I run my integration tests (using

Re: Tapestry Upgrade problem

2009-01-07 Thread Howard Lewis Ship
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
 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
>  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
>>  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  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-ma

RE: Tapestry Upgrade problem

2009-01-07 Thread Mike Wasserman
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
 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
>  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  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/>
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

RE: Tapestry Upgrade problem

2009-01-06 Thread Mike Wasserman
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
 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
>  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  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/>
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

RE: Tapestry Upgrade problem

2008-12-25 Thread Mike Wasserman
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
 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
>  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  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/> 
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

Re: Tapestry Upgrade problem

2008-12-24 Thread Andreas Andreou
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
 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
>  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  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
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



RE: Tapestry Upgrade problem

2008-12-24 Thread Mike Wasserman
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
 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  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



RE: Tapestry Upgrade problem

2008-12-23 Thread Mike Wasserman
java version "1.5.0_10"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03)
Java HotSpot(TM) Client VM (build 1.5.0_10-b03, mixed mode, sharing) 

-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
 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  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



Re: Tapestry Upgrade problem

2008-12-23 Thread Howard Lewis Ship
What JDK are you running on?

On Tue, Dec 23, 2008 at 10:50 AM, Mike Wasserman
 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  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