Another interesting tidbit:

The exception seems to always occur when the PageSource pool contains 
no instance of this page.

I'm going to look at the code in more detail now.
-Jason

On Thursday, September 19, 2002, at 04:29  AM, Howard M. Lewis Ship 
wrote:

> I was just going through that code ...
>
> ----- Original Message -----
> From: "Jason Owens" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, September 18, 2002 6:07 PM
> Subject: Re: [Tapestry-developer] attach() not called
>
>
>> Just found out some more interesting info:
>>
>> attach() *is* being called on the page, but it seems a component 
>> within
>> the page is accessing a *different* instance of the same page (one 
>> that
>> hasn't been initialized with an engine). The only connection between 
>> the
>> page and component is the "model" parameter, which is specified as
>> direction="in" and required="yes". Does Tapestry randomly grab 
>> components
>> from the pool as well as pages, and then put them together for a 
>> render?
>
> Does your "model" instance contain a reference to a page?  If it is
> persistant (meaning it has a different lifecycle than the page it is 
> on), it
> should not.  Remember that persistent page state is *seperate* from 
> page
> instances.
>
> Sounds like page instance B (attached to the engine) has a reference 
> (inside
> the model) to page instance A (which is still in the pool and in a 
> detached
> state).
>
> You are going to have to rig things so that the model stores the 
> *name* of
> the page, and resolves it from the request cycle.  Alternately, you can
> leverage some event notifications to set the page property of the 
> model as
> needed.
>
>> If this is so, then the component/page relationship isn't being 
>> properly
>> set.
>> I'll try to look at the Tapestry code later tonight to see what I 
>> find,
>> right now I've got plenty of other bugs to fix... (This does manifest 
>> more
>> often when more than one person is using the app.)
>> -Jason
>>
>>
>>> I'll have to check into the PageLoader.  I know I moved
>>> some stuff around, so that the engine property would be
>>> set by the time that finishLoad() was invoked on a page,
>>> or any component of the page.  I must have screwed
>>> something up there.  Strangely, I do run Tapestry with
>>> caching enabled but I haven't seen this!
>>>
>>> --
>>> [EMAIL PROTECTED]
>>>
>>> http://tapestry.sf.net
>>>> Hello all,
>>>>
>>>> I'm using 2.2b2, and seeing a very annoying effect:
>>>>
>>>> I visit a page, leave it for a while (visit some other pages,
>>>> wait...), and then come back and get a NullPointerException. This
>>>> isn't my error (though I may be causing it), since it's a null 
>>>> ENGINE!
>>>> In fact, I've subclassed BasePage and overridden attach(), in order 
>>>> to
>>>> determine what's going on, and it was never called. So in effect, 
>>>> I'm
>>>> operating on a page that hasn't been attached. How can this be? Has
>>>> anyone else seen this phenomenon?
>>>> Any pointers would be appreciated...
>>>>
>>>> -Jason
>>>>
>>>>
>>>>
>>>>
>>>> -------------------------------------------------------
>>>> This SF.NET email is sponsored by: AMD - Your access to the experts 
>>>> on
>>>> Hammer Technology! Open Source & Linux Developers, register now for
>>>> the AMD Developer Symposium. Code: EX8664
>>>> http://www.developwithamd.com/developerlab
>>>> _______________________________________________
>>>> Tapestry-developer mailing list
>>>> [EMAIL PROTECTED]
>>>> https://lists.sourceforge.net/lists/listinfo/tapestry-developer
>>>
>>>
>>> -------------------------------------------------------
>>> This SF.NET email is sponsored by: AMD - Your access to the experts 
>>> on
>>> Hammer Technology! Open Source & Linux Developers, register now for 
>>> the
>>> AMD Developer Symposium. Code: EX8664
>>> http://www.developwithamd.com/developerlab
>>> _______________________________________________
>>> Tapestry-developer mailing list
>>> [EMAIL PROTECTED]
>>> https://lists.sourceforge.net/lists/listinfo/tapestry-developer
>>
>>
>>
>>
>>
>> -------------------------------------------------------
>> This SF.NET email is sponsored by: AMD - Your access to the experts
>> on Hammer Technology! Open Source & Linux Developers, register now
>> for the AMD Developer Symposium. Code: EX8664
>> http://www.developwithamd.com/developerlab
>> _______________________________________________
>> Tapestry-developer mailing list
>> [EMAIL PROTECTED]
>> https://lists.sourceforge.net/lists/listinfo/tapestry-developer
>>
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Tapestry-developer mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/tapestry-developer
>



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer

Reply via email to