[ 
https://jira.nuxeo.com/browse/NXCM-497?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sun Tan updated NXCM-497:
-------------------------

    Description: 
Randomly (can happen on one machine but not the other) when creating a case 
item,

{code}
Caused by: java.lang.NullPointerException
        at 
org.nuxeo.cm.core.service.CaseDistributionServiceImpl.addCaseItemToCase(CaseDistributionServiceImpl.java:251)
        at 
org.nuxeo.cm.web.caseitem.CaseItemDocumentActionsBean.createCaseItemInCase(CaseItemDocumentActionsBean.java:126)
        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:597)
        at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
        at 
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
        at 
org.nuxeo.cm.web.invalidations.CaseManagementContextInterceptor.aroundInvoke(CaseManagementContextInterceptor.java:49)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.nuxeo.ecm.platform.ui.web.util.NuxeoBijectionInterceptor.aroundInvoke(NuxeoBijectionInterceptor.java:68)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
        at 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
        at 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
        at 
org.nuxeo.cm.web.caseitem.CaseItemDocumentActionsBean_$$_javassist_50.createCaseItemInCase(CaseItemDocumentActionsBean_$$_javassist_50.java)
        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:597)
        at 
org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
        ... 74 more

{code}

This is because pathSegmentService is null. The component containing the 
service definition is not yet activated yet and the call of this service is 
done in the activate method of 
org.nuxeo.cm.core.service.CaseManagementComponent. If the component is loaded 
after the activate, it is setting pathSegmentService to null.

The fix can consist of: adding a "require" tag on CaseManagementComponent or 
lasy loading the service.

In OSGI-INF/cm-framework.xml of nuxeo-case-management-core
{code}


<component name="org.nuxeo.cm.service.mailboxManagement">

  <require>org.nuxeo.ecm.core.api.pathsegment.PathSegmentService</require>
...

{code}


  was:
Randomly (can happen on one machine but not the other) when creating a case 
item,

{code}
Caused by: java.lang.NullPointerException
        at 
org.nuxeo.cm.core.service.CaseDistributionServiceImpl.addCaseItemToCase(CaseDistributionServiceImpl.java:251)
        at 
org.nuxeo.cm.web.caseitem.CaseItemDocumentActionsBean.createCaseItemInCase(CaseItemDocumentActionsBean.java:126)
        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:597)
        at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
        at 
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
        at 
org.nuxeo.cm.web.invalidations.CaseManagementContextInterceptor.aroundInvoke(CaseManagementContextInterceptor.java:49)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.nuxeo.ecm.platform.ui.web.util.NuxeoBijectionInterceptor.aroundInvoke(NuxeoBijectionInterceptor.java:68)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
        at 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
        at 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
        at 
org.nuxeo.cm.web.caseitem.CaseItemDocumentActionsBean_$$_javassist_50.createCaseItemInCase(CaseItemDocumentActionsBean_$$_javassist_50.java)
        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:597)
        at 
org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
        ... 74 more

{code}

This is because pathSegmentService is null. The component containing the 
service definition is not yet activated yet and the call of this service is 
done in the activate method of 
org.nuxeo.cm.core.service.CaseManagementComponent. If the component is loaded 
after the activate, it is setting pathSegmentService to null.

The fix can consist of: adding a "require" tag on CaseManagementComponent or 
lasy loading the service.



> Random component activation issue
> ---------------------------------
>
>                 Key: NXCM-497
>                 URL: https://jira.nuxeo.com/browse/NXCM-497
>             Project: Nuxeo Case Management
>          Issue Type: Bug
>    Affects Versions: 1.8
>            Reporter: Sun Tan
>
> Randomly (can happen on one machine but not the other) when creating a case 
> item,
> {code}
> Caused by: java.lang.NullPointerException
>       at 
> org.nuxeo.cm.core.service.CaseDistributionServiceImpl.addCaseItemToCase(CaseDistributionServiceImpl.java:251)
>       at 
> org.nuxeo.cm.web.caseitem.CaseItemDocumentActionsBean.createCaseItemInCase(CaseItemDocumentActionsBean.java:126)
>       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:597)
>       at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
>       at 
> org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
>       at 
> org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
>       at 
> org.nuxeo.cm.web.invalidations.CaseManagementContextInterceptor.aroundInvoke(CaseManagementContextInterceptor.java:49)
>       at 
> org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>       at 
> org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
>       at 
> org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>       at 
> org.nuxeo.ecm.platform.ui.web.util.NuxeoBijectionInterceptor.aroundInvoke(NuxeoBijectionInterceptor.java:68)
>       at 
> org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>       at 
> org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
>       at 
> org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>       at 
> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
>       at 
> org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
>       at 
> org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
>       at 
> org.nuxeo.cm.web.caseitem.CaseItemDocumentActionsBean_$$_javassist_50.createCaseItemInCase(CaseItemDocumentActionsBean_$$_javassist_50.java)
>       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:597)
>       at 
> org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
>       ... 74 more
> {code}
> This is because pathSegmentService is null. The component containing the 
> service definition is not yet activated yet and the call of this service is 
> done in the activate method of 
> org.nuxeo.cm.core.service.CaseManagementComponent. If the component is loaded 
> after the activate, it is setting pathSegmentService to null.
> The fix can consist of: adding a "require" tag on CaseManagementComponent or 
> lasy loading the service.
> In OSGI-INF/cm-framework.xml of nuxeo-case-management-core
> {code}
> <component name="org.nuxeo.cm.service.mailboxManagement">
>   <require>org.nuxeo.ecm.core.api.pathsegment.PathSegmentService</require>
> ...
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets

Reply via email to