Project

General

Profile

bug #8065

HibernateException: corrupt session problem breaks SpecimenTypeDesignationworkingsetEditor type designation table

Added by Andreas Kohlbecker 9 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Priority13
Category:
cdm-vaadin
Target version:
Start date:
02/05/2019
Due date:
% Done:

10%

Severity:
normal
Found in Version:

Description

http://test.e-taxonomy.eu/cdmserver/phycobank/app/registration#!workingset/c3610379-fbfb-4e97-94d7-74d9aca07c1e

  • open specimen type designation editor for Nodosilinea radiophila Heidari & Hauer
  • wait until session has timed out
  • login as same user and open type again --> Error

the type designation table is corrupted:

com.vaadin.data.Buffered$SourceException
    at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:664)
    at com.vaadin.data.fieldgroup.FieldGroup.bind(FieldGroup.java:273)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.bind(BeanFieldGroup.java:155)
    at com.vaadin.data.fieldgroup.FieldGroup.bindFields(FieldGroup.java:113)
    at com.vaadin.data.fieldgroup.FieldGroup.setItemDataSource(FieldGroup.java:103)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.setItemDataSource(BeanFieldGroup.java:126)
    at com.vaadin.data.fieldgroup.BeanFieldGroup.setItemDataSource(BeanFieldGroup.java:119)
    at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor.loadInEditor(AbstractPopupEditor.java:811)
    at eu.etaxonomy.cdm.vaadin.view.registration.RegistrationWorkingsetPresenter.onTypeDesignationsEditorActionEdit(RegistrationWorkingsetPresenter.java:623)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.vaadin.spring.events.internal.MethodListenerWrapper.publish(MethodListenerWrapper.java:78)
    at org.vaadin.spring.events.internal.ListenerCollection.publish(ListenerCollection.java:167)
    at org.vaadin.spring.events.internal.ScopedEventBus.publish(ScopedEventBus.java:116)
    at org.vaadin.spring.events.internal.ScopedEventBus.publish(ScopedEventBus.java:109)
    at eu.etaxonomy.cdm.vaadin.view.registration.RegistrationWorksetViewBean.lambda$putRegistrationListComponent$8dc5aab0$1(RegistrationWorksetViewBean.java:372)
    at sun.reflect.GeneratedMethodAccessor2323.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
    at com.vaadin.ui.Button.fireClick(Button.java:377)
    at com.vaadin.ui.Button$1.click(Button.java:54)
    at sun.reflect.GeneratedMethodAccessor2330.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
    at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:437)
    at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:402)
    at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
    at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1435)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:380)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:497)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.hibernate.HibernateException: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: eu.etaxonomy.cdm.model.common.DefinedTermBase.representations
    at org.hibernate.engine.internal.Collections.processDereferencedCollection(Collections.java:99)
    at org.hibernate.engine.internal.Collections.processUnreachableCollection(Collections.java:50)
    at org.hibernate.event.internal.AbstractFlushingEventListener.flushCollections(AbstractFlushingEventListener.java:243)
    at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:86)
    at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:44)
    at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1251)
    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1767)
    at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:363)
    at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.findByUuid(CdmEntityDaoBase.java:423)
    at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.load(CdmEntityDaoBase.java:771)
    at eu.etaxonomy.cdm.persistence.dao.hibernate.common.VersionableDaoBase.load(VersionableDaoBase.java:113)
    at eu.etaxonomy.cdm.persistence.dao.hibernate.common.VersionableDaoBase.load(VersionableDaoBase.java:106)
    at eu.etaxonomy.cdm.persistence.dao.hibernate.common.VersionableDaoBase.load(VersionableDaoBase.java:36)
    at eu.etaxonomy.cdm.api.service.ServiceBase.load(ServiceBase.java:214)
    at sun.reflect.GeneratedMethodAccessor2431.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
    at com.sun.proxy.$Proxy556.load(Unknown Source)
    at eu.etaxonomy.cdm.vaadin.component.CdmBeanItemContainerFactory.buildTermItemContainer(CdmBeanItemContainerFactory.java:89)
    at eu.etaxonomy.cdm.vaadin.view.name.SpecimenTypeDesignationWorkingsetEditorPresenter$1.create(SpecimenTypeDesignationWorkingsetEditorPresenter.java:206)
    at eu.etaxonomy.cdm.vaadin.view.name.SpecimenTypeDesignationWorkingsetEditorPresenter$1.create(SpecimenTypeDesignationWorkingsetEditorPresenter.java:199)
    at org.vaadin.viritin.fields.AbstractElementCollection.createEditorInstance(AbstractElementCollection.java:282)
    at org.vaadin.viritin.fields.AbstractElementCollection.getFieldGroupFor(AbstractElementCollection.java:327)
    at org.vaadin.viritin.fields.ElementCollectionField.addInternalElement(ElementCollectionField.java:101)
    at org.vaadin.viritin.fields.AbstractElementCollection.setInternalValue(AbstractElementCollection.java:441)
    at org.vaadin.viritin.fields.AbstractElementCollection.setInternalValue(AbstractElementCollection.java:45)
    at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:657)
    ... 96 more

picture554-1.png View (11.4 KB) Andreas Kohlbecker, 02/05/2019 02:21 PM


Related issues

Related to Edit - bug #8075: multiple cascase all-delete-orphan exceptions related to DefinedTermBase.representations Closed 03/04/2019
Duplicates Edit - bug #8160: CdmBeanItemContainerFactory as readonly service bean Closed 03/04/2019

History

#1 Updated by Andreas Kohlbecker 9 months ago

  • Description updated (diff)

#2 Updated by Andreas Kohlbecker 9 months ago

  • Subject changed from HibernateException: corrupt session problem after vaadin session timeout? to HibernateException: corrupt session problem breaks SpecimenTypeDesignationworkingsetEditor type designation table

This seems not to be related to the session time out as assumed originally

#3 Updated by Andreas Kohlbecker 9 months ago

  • Related to bug #8075: multiple cascase all-delete-orphan exceptions related to DefinedTermBase.representations added

#4 Updated by Andreas Kohlbecker 9 months ago

  • Target version changed from Release 5.5 to Release 5.6

#5 Updated by Andreas Kohlbecker 9 months ago

potentially duplicate of #8160

#6 Updated by Andreas Kohlbecker 9 months ago

  • Duplicates bug #8160: CdmBeanItemContainerFactory as readonly service bean added

#7 Updated by Andreas Kohlbecker 8 months ago

  • Status changed from New to Feedback
  • Priority changed from Highest to Priority13
  • % Done changed from 0 to 10

potentially fixed through the changes made for #8160, #7106

#8 Updated by Andreas Kohlbecker 7 months ago

  • Status changed from Feedback to Resolved

#9 Updated by Andreas Kohlbecker 6 months ago

  • Status changed from Resolved to Closed

The implementation works as expected and the cascade="all-delete-orphan" problems did not occur again

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)