[ http://jira.jboss.com/jira/browse/JBAS-1566?page=history ]

Scott M Stark updated JBAS-1566:
--------------------------------

    Priority: Major  (was: Critical)

> getEJBLocalObject error affects JBoss AS 4.0.1 also
> ---------------------------------------------------
>
>          Key: JBAS-1566
>          URL: http://jira.jboss.com/jira/browse/JBAS-1566
>      Project: JBoss Application Server
>         Type: Sub-task
>   Components: EJBs
>     Versions: JBossAS-4.0.1 Final
>  Environment: Windows XP SP2
> J2SDK 1.4.2_04
>     Reporter: Domagoj Cosic

>
>
> I observe a bug similar to [JBAS-554] using the current JBoss Release. I use 
> BMP. The bug is not always occuring. It depends on how much memory JBoss has 
> to its disposal. If JBoss is forced to passivate/activate objects often, it 
> increases the occurence frequency.
> I cannot deliver a test case, as I located the problem with the help of a 
> debugger deep in our application code. I observe the following:
> (The EntityContext is stored into the local variable _ctx inside the method 
> setEntityContext.)
> In a business method later on, _ctx.getEJBLocalObject() gives me a wrong 
> instance. I tested it by watching _ctx.getEJBLocalObject().getPrimaryKey() 
> and _ctx.getPrimaryKey(). Those two methods are supposed to return the same 
> value at the same time. If the bug occurs, their return values differ. By the 
> way, _ctx.getEJBObject() returned the correct instance in the same case.
> Here is a typical content of the _ctx variable when bug occurs:
> "_ctx"= EntityEnterpriseContext$EntityContextImpl  (id=247)
>     ctx= InitialContext  (id=266)
>     this$0 (EntityEnterpriseContext$EntityContextImpl)= 
> EntityEnterpriseContext  (id=269)
>         beanPrincipal= null
>         con= EntityContainer  (id=137)
>             beanClass= Class (<changed>.modell.ejb.GebietBean) (id=32)
>             beanMapping= HashMap  (id=321)
>             classLoader= DelegatingClassLoader  (id=325)
>             createCount= 0
>             di= DeploymentInfo  (id=330)
>             ejbModule= EjbModule  (id=332)
>             homeInterface= Class (<changed>.modell.ejb.GebietRemoteHome) 
> (id=335)
>             homeMapping= HashMap  (id=336)
>             instanceCache= EntityInstanceCache  (id=337)
>             instancePool= EntityInstancePool  (id=348)
>             interceptor= ProxyFactoryFinderInterceptor  (id=135)
>             invokeStats= InvocationStatistics  (id=355)
>             isJBossInternalLifecycleExposed= true
>             jaccContextID= "<changed>.jar"
>             jmxName= ObjectName  (id=358)
>             localClassLoader= URLClassLoader  (id=361)
>             localHomeInterface= Class (<changed>.modell.ejb.GebietHome) 
> (id=362)
>             localInterface= Class (<changed>.modell.ejb.Gebiet) (id=254)
>             localProxyFactory= BaseLocalProxyFactory  (id=140)
>             lockManager= BeanLockManager  (id=365)
>             log (ServiceMBeanSupport)= Logger  (id=367)
>             marshalledInvocationMapping= HashMap  (id=369)
>             metaData= EntityMetaData  (id=370)
>             methodPermissionsCache= HashMap  (id=374)
>             persistenceManager= CachedConnectionInterceptor  (id=118)
>             proxyFactories= HashMap  (id=376)
>             proxyFactoryTL= ThreadLocal  (id=377)
>             readOnly= false
>             registry= ListenerRegistry  (id=379)
>             remoteInterface= Class (<changed>.modell.ejb.GebietRemote) 
> (id=381)
>             removeCount= 0
>             rm= null
>             securityProxy= null
>             sequenceNumber= SynchronizedLong  (id=382)
>             server= MBeanServerImpl  (id=176)
>             serverAction= Container$MBeanServerAction  (id=391)
>             serviceName= ObjectName  (id=358)
>             sm= null
>             state= 3
>             tm= TxManager  (id=394)
>             webClassLoader= WebClassLoader  (id=403)
>         ctx= EntityEnterpriseContext$EntityContextImpl  (id=247)
>         ejbLocalObject= $Proxy166  (id=253)
>             h= EntityProxy  (id=408)
>                 cacheKey= "0J3FC5KBK"
>                 factory= BaseLocalProxyFactory  (id=140)
>                 jndiName= "jboss/wahl/Gebiet"
>                 removed= false
>         ejbObject= null
>         hasTxSynchronization= false
>         id= "0J3DP8O0F"
>         inMethodStack= Stack  (id=305)
>         instance= GebietBean  (id=103)
>         key= "0J3DP8O0F"
>         locked= 1
>         methodLock= NonReentrantLock  (id=313)
>         persistenceCtx= null
>         principal= null
>         readOnly= true
>         synch= null
>         transaction= null
>         txAssociation= GlobalTxEntityMap$1  (id=316)
>         txLock= Object  (id=319)
>         valid= true
>     this$0 (EnterpriseContext$EJBContextImpl)= EntityEnterpriseContext  
> (id=269)
>     userTransaction= null

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.jboss.com/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
This SF.net email is sponsored by Demarc:
A global provider of Threat Management Solutions.
Download our HomeAdmin security software for free today!
http://www.demarc.com/info/Sentarus/hamr30
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to