The line numbers may be off due to debugging code that we've placed in the source.
The exception is being thrown at the following lines in the getComponent() method:
if (result == null)
throw new ApplicationRuntimeException(Tapestry.format("no-such-component", this, id),
this, null, null);
The problem is that result is never set because the _components HashMap is null.
We believe we may have found a solution to this problem.
By placing the line "_pageSpecificationResolver.resolve(_cycle, pageKey.getPageName());"
from PageSource.makeObject(Object key) in a synchronize block we have so far been unable to recreate the exception.
We are intending to test more aggressively on Monday/Tuesday and will report our findings then.