[ 
https://issues.apache.org/jira/browse/TAPESTRY-1291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12478176
 ] 

Howard M. Lewis Ship commented on TAPESTRY-1291:
------------------------------------------------

Latest batch of changes seem to have been worthwhile., the CI server finally 
built clean, no problems.

The OOME exception explains how we could hit a OneShotServiceCreator more than 
once ... the exception prevented the creation of the service after the lock 
flag was set, so on retry, we get the "depends on itself" exception.

Meanwhile, the CastInsensitiveMap was causing much confusion under stress, 
since it wasn't threadsafe.  Under the right circumstances, map.get() != 
map.get() ... you could ask for an object with key A and get the value for key 
B.

I think that's it, and I'll be rolling back a couple of extra syncrhonized 
blocks before closing the bug.  And monitoring the CI server to see if there 
are any further errors.

> Race condition in IoC service creation can create runtime failures
> ------------------------------------------------------------------
>
>                 Key: TAPESTRY-1291
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1291
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Core, IoC Container
>    Affects Versions: 5.0
>            Reporter: Howard M. Lewis Ship
>         Assigned To: Howard M. Lewis Ship
>            Priority: Blocker
>             Fix For: 5.0.3
>
>
> Even on my Mac, I occasionally get spurious failures of the integration tests.
> Seems to be some kind of race condition at application startup, where 
> construction of some key service fails, claiming (spuriously) to be dependent 
> on itself.
> The CI server, tapestry.formos.com, seems very succeptible to this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to