Menu

#3298 Error adding Professional conacts Oscar 12.1.1

RELEASE_12_1
pending
nobody
None
5
2014-06-09
2014-05-21
No

Problem Summary
Error adding new Professional Contact

"detached entity passed to persist: org.oscarehr.common.model.ProfessionalContact"

Expected Result
New contact should be added to contacts list without error

Actual Result
the following error is displayed, contact is not added

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: javax.servlet.ServletException: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: org.oscarehr.common.model.ProfessionalContact
org.oscarehr.util.DbConnectionFilter.doFilter(DbConnectionFilter.java:68)
org.oscarehr.util.ResponseDefaultsFilter.doFilter(ResponseDefaultsFilter.java:69)
org.oscarehr.util.ProblemCheckFilter.doFilter(ProblemCheckFilter.java:188)

root cause

javax.servlet.ServletException: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: org.oscarehr.common.model.ProfessionalContact
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
oscar.oscarSecurity.LoginFilter.doFilter(LoginFilter.java:127)
net.sf.cookierevolver.servlet.CRFilterImpl.doFilter(CRFilterImpl.java:60)
org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
org.oscarehr.util.LoggedInUserFilter.doFilter(LoggedInUserFilter.java:60)
org.oscarehr.util.DbConnectionFilter.doFilter(DbConnectionFilter.java:65)
org.oscarehr.util.ResponseDefaultsFilter.doFilter(ResponseDefaultsFilter.java:69)
org.oscarehr.util.ProblemCheckFilter.doFilter(ProblemCheckFilter.java:188)

root cause

javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: org.oscarehr.common.model.ProfessionalContact
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:226)
sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:622)
org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
com.sun.proxy.$Proxy39.persist(Unknown Source)
org.oscarehr.common.dao.AbstractDao.persist(AbstractDao.java:57)
org.oscarehr.common.dao.AbstractDao$$FastClassByCGLIB$$d259da96.invoke(<generated>)
net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
org.oscarehr.common.dao.ProfessionalContactDao$$EnhancerByCGLIB$$75b8324c.persist(<generated>)
org.oscarehr.common.web.ContactAction.saveProContact(ContactAction.java:318)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:622)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
oscar.oscarSecurity.LoginFilter.doFilter(LoginFilter.java:127)
net.sf.cookierevolver.servlet.CRFilterImpl.doFilter(CRFilterImpl.java:60)
org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
org.oscarehr.util.LoggedInUserFilter.doFilter(LoggedInUserFilter.java:60)
org.oscarehr.util.DbConnectionFilter.doFilter(DbConnectionFilter.java:65)
org.oscarehr.util.ResponseDefaultsFilter.doFilter(ResponseDefaultsFilter.java:69)
org.oscarehr.util.ProblemCheckFilter.doFilter(ProblemCheckFilter.java:188)</generated></generated>

root cause

org.hibernate.PersistentObjectException: detached entity passed to persist: org.oscarehr.common.model.ProfessionalContact
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:102)
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:645)
org.hibernate.impl.SessionImpl.persist(SessionImpl.java:619)
org.hibernate.impl.SessionImpl.persist(SessionImpl.java:623)
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:220)
sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:622)
org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
com.sun.proxy.$Proxy39.persist(Unknown Source)
org.oscarehr.common.dao.AbstractDao.persist(AbstractDao.java:57)
org.oscarehr.common.dao.AbstractDao$$FastClassByCGLIB$$d259da96.invoke(<generated>)
net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
org.oscarehr.common.dao.ProfessionalContactDao$$EnhancerByCGLIB$$75b8324c.persist(<generated>)
org.oscarehr.common.web.ContactAction.saveProContact(ContactAction.java:318)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:622)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
oscar.oscarSecurity.LoginFilter.doFilter(LoginFilter.java:127)
net.sf.cookierevolver.servlet.CRFilterImpl.doFilter(CRFilterImpl.java:60)
org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
org.oscarehr.util.LoggedInUserFilter.doFilter(LoggedInUserFilter.java:60)
org.oscarehr.util.DbConnectionFilter.doFilter(DbConnectionFilter.java:65)
org.oscarehr.util.ResponseDefaultsFilter.doFilter(ResponseDefaultsFilter.java:69)
org.oscarehr.util.ProblemCheckFilter.doFilter(ProblemCheckFilter.java:188)</generated></generated>

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.
Apache Tomcat/6.0.35

Steps to Reporduce
1) Open Master Demographics for a patient
2) Click on Manage Contacts
3) Under Professional Contacts click Add
4) Choose External and click Search
5) Click Add/Edit Professional Contact
6) Enter details and click Save

Reproduce IN
12_1_1 build 380 and newer (fresh install) + Ubuntu 12 LTS (fresh install)

Discussion

  • SBek

    SBek - 2014-06-09
    • status: open --> pending
    • Group: OSCAR Main Trunk --> RELEASE_12_1
     
  • SBek

    SBek - 2014-06-09

    Verified on R12.1 latest build#407. Unable to replicate. Please see attached screenshot.

     
  • SBek

    SBek - 2014-06-09

    Screen shot is attached

     
MongoDB Logo MongoDB