[seam-issues] [JBoss JIRA] Commented: (JBSEAM-4669) Major java deadlock between BijectionInterceptor and Component since the getInstanceFromFactory method is synchronized
Denis Forveille (JIRA)
jira-events at lists.jboss.org
Wed Jun 23 12:08:46 EDT 2010
[ https://jira.jboss.org/browse/JBSEAM-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12536817#action_12536817 ]
Denis Forveille commented on JBSEAM-4669:
-----------------------------------------
The scenario is different that the one in ConcurrentFactoryTest
The component where the problem arises looks like this:
@Name("enginMetadonnee")
@Scope(ScopeType.APPLICATION)
public class FabriqueEnginMetadonnee implements Serializable {
...
private EnginMetadonnee enginMetadonnee;
@In
private TypePromotionManager typePromotionManager;
@Create
public void initialiser() throws Exception {
...
List<TypePromotion> typesPromotions = typePromotionManager.obtenirTypesPromotions();
...
this.enginMetadonnee = new EnginMetadonneeBase(typesPromotions );
}
@Unwrap
public EnginMetadonnee getEnginMetadonnee() {
return this.enginMetadonnee;
}
TypePromotionManager si also an application scope component.
I think the key thing here is the injection of a component (typePromotionManager) in the component that holds the "@Unwrap" annotation and so, each type the getEnginMetadonnee()method is called, BijectionInterceptor injects typePromotionManager in the holding component
BTW integration tests don't run on my workstation, I think I need to install JBoss or something..
Maybe you could try to reproduce this in "ConcurrentFactoryTest"
> Major java deadlock between BijectionInterceptor and Component since the getInstanceFromFactory method is synchronized
> -----------------------------------------------------------------------------------------------------------------------
>
> Key: JBSEAM-4669
> URL: https://jira.jboss.org/browse/JBSEAM-4669
> Project: Seam
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.2.1.CR2
> Reporter: Denis Forveille
> Assignee: Denis Forveille
> Priority: Blocker
> Fix For: 2.2.1.CR2
>
>
> To address JBSEAM-2419, the Component.getInstanceFromFactory(String name) is now "synchronized"
> This causes java deadlocks under stress with the call to lock.lock() in BinjectionInterceptor ...
> For us our apps freezes after 10 minutes in production,,,
> I don't know why this method has been marked as synchronized but this is the cause of the deadlock...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list