It seems I've got by this problem. The cause seems to be OPENJPA-316,
and workaround mentioned there resolved the problem. For historical
reasons (I was experimenting with Harmony) I was running Geronimo
without the -javaagent option (as Harmony doesn't support it). After
putting the option back (on Sun), the problem disappeared, so I moved
one step closer to make SjAS running on Geronimo.
Vasily
On Fri, Feb 29, 2008 at 8:06 PM, Vasily Zakharov <[EMAIL PROTECTED]> wrote:
> Hi, all,
>
> Another problem with SPECjAppServer2004 on Geronimo v2 is, after
> successful deployment of SjAS I can't make it work effectively. The
> following error (see below) comes up in the console. The problem is
> complex to investigate, as it occurs in openejb.* class that seems to
> be probably a dynamic wrapper or something and is difficult to track.
> I have the state of the SetValuedCmr fields at the throw point, but
> that doesn't much help:
>
> source: [EMAIL PROTECTED]
> sourceProperty: customerInventoryEnt
> relatedType:
> openejb.org.spec.jappserver.corp.customerinventoryent.ejb.CustomerInventoryEnt
> relatedProperty: customer
> relatedInfo: DeploymentInfo(id=corp.jar/CustomerInventoryEnt) // the
> class is org.apache.openejb.core.CoreDeploymentInfo
>
> Maybe anyone has any idea on how to debug such a situation?
>
> General Geronimo/SjAS configuration used is described in detail at [1].
> The particular deployment plan causing a problem is [2].
>
> Thanks!
>
> javax.ejb.TransactionRolledbackLocalException: The transaction has
> been marked rollback only because the bean encountered a
> non-application exception: java.lang.NullPointerException : others is
> null
> at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:350)
> at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:323)
> at
> org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
> at $Proxy70.getCustomerInventoryEnt(Unknown Source)
> at
> org.spec.jappserver.corp.customerses.ejb.CustomerSesEJB.getInventory(CustomerSesEJB.java:164)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
> at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:210)
> ... 43 more
> Caused by: java.lang.NullPointerException: others is null
> at
> org.apache.openejb.core.cmp.cmp2.SetValuedCmr.get(SetValuedCmr.java:62)
> at
> openejb.org.spec.jappserver.corp.customerent.ejb.CustomerEnt.getCustomerInventoryEnt(Unknown
> Source)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.openejb.core.cmp.CmpContainer.businessMethod(CmpContainer.java:492)
> at
> org.apache.openejb.core.cmp.CmpContainer.invoke(CmpContainer.java:277)
> at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
> at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
> at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:321)
> ... 54 more
>
> [1] http://cwiki.apache.org/confluence/display/GMOxDOC21/SPECjAppServer2004
> [2]
> http://cwiki.apache.org/confluence/download/attachments/77088/sjas-app.xml
>
> Vasily
>