Project

General

Profile

Actions

bug #9313

closed

LazyInitializationException (LIE) in TaxonNamePopupEditor

Added by Andreas Kohlbecker about 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Highest
Category:
cdm-vaadin
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Severity:
normal
Found in Version:

Description

beim Testen kam ich auf ein Problem, das vielleicht am System, vielleicht an meinen Dateneingaben liegt. Vielleicht siehst Du sofort wo das Problem liegt. Falls nicht, müsste ich noch mehr Beispiele testen, bevor Du zuviel Zeit verlierst.

Ich möchte aus einem neuen Workingset einen existierenden Namen nutzen.
Ich suche die korrigierte Variante aus und bei "Safe" bekomme ich eine Fehlermeldung (unten)

Orthographischen Varianten, ich glaube es war das folgende Pärchen:

http://phycobank.org/102504 Registration on 2020-08-17 13:07:27
Entomoneis annagodhei Al-Handal & Mucko
http://phycobank.org/102503 Registration on 2020-08-17 13:07:25
Entomoneis annagodheae Al-Handal & Mucko Type: Sweden, Kungälv fjord,West coast of Sweden, North of Gothenburg city, alt. 0 m, 57°47'N, 11°45'E, April 2018. Holotype, B 40 0045001.

How to reproduce:

  1. start new registration for new reference
  2. Choose the validating name Entomoneis annagodheae Al-Handal & Mucko as "existing name"
  3. Click "existing name" --> the Name popup editor is being opened in readonly mode
  4. Click the save button to close the edior --> LazyInitializationException:
com.vaadin.data.fieldgroup.FieldGroup$CommitException: Commit failed
    at com.vaadin.data.fieldgroup.FieldGroup.commit(FieldGroup.java:509)
    at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor.save(AbstractPopupEditor.java:446)
    at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor.lambda$0(AbstractPopupEditor.java:180)
    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 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.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 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:848)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    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:331)
    at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:182)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
    at eu.etaxonomy.cdm.servlet.DateHeaderFilter.doFilter(DateHeaderFilter.java:55)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at org.eclipse.jetty.server.Server.handle(Server.java:539)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
    at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.vaadin.data.Buffered$SourceException
    at com.vaadin.ui.AbstractField.commit(AbstractField.java:257)
    at com.vaadin.data.fieldgroup.FieldGroup.commitFields(FieldGroup.java:526)
    at com.vaadin.data.fieldgroup.FieldGroup.commit(FieldGroup.java:498)
    ... 89 more
Caused by: com.vaadin.data.util.MethodProperty$MethodException
    at com.vaadin.data.util.MethodProperty.invokeSetMethod(MethodProperty.java:676)
    at com.vaadin.data.util.MethodProperty.setValue(MethodProperty.java:649)
    at com.vaadin.data.util.TransactionalPropertyWrapper.setValue(TransactionalPropertyWrapper.java:94)
    at com.vaadin.ui.AbstractField.commit(AbstractField.java:253)
    ... 91 more
Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: eu.etaxonomy.cdm.model.reference.OriginalSourceBase.annotations, could not initialize proxy - no Session
    at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:584)
    at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:201)
    at org.hibernate.collection.internal.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:145)
    at org.hibernate.collection.internal.PersistentSet.isEmpty(PersistentSet.java:149)
    at eu.etaxonomy.cdm.model.common.AnnotatableEntity.checkEmpty(AnnotatableEntity.java:180)
    at eu.etaxonomy.cdm.model.reference.OriginalSourceBase.checkEmpty(OriginalSourceBase.java:293)
    at eu.etaxonomy.cdm.model.description.DescriptionElementSource.checkEmpty(DescriptionElementSource.java:174)
    at eu.etaxonomy.cdm.model.common.SingleSourcedEntityBase.checkNullSource(SingleSourcedEntityBase.java:111)
    at eu.etaxonomy.cdm.model.common.SingleSourcedEntityBase.setCitation_aroundBody2(SingleSourcedEntityBase.java:100)
    at eu.etaxonomy.cdm.model.common.SingleSourcedEntityBase.setCitation_aroundBody3$advice(SingleSourcedEntityBase.java:46)
    at eu.etaxonomy.cdm.model.common.SingleSourcedEntityBase.setCitation(SingleSourcedEntityBase.java:1)
    at eu.etaxonomy.cdm.vaadin.model.name.TaxonNameDTO.setUniqeNameRelationDTO(TaxonNameDTO.java:176)
    at eu.etaxonomy.cdm.vaadin.model.name.TaxonNameDTO.setOrthographicVariant(TaxonNameDTO.java:146)
    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 com.vaadin.data.util.MethodProperty.invokeSetMethod(MethodProperty.java:664)
    ... 94 more


Related issues

Related to EDIT - feature request #6581: Make all microreferenced references OriginalSourcesClosedAndreas Müller

Actions
Copied from EDIT - bug #9312: NullPointerException (NPE) in TaxonNamePopupEditorClosedAndreas Müller

Actions
Actions #1

Updated by Andreas Kohlbecker about 2 years ago

  • Copied from bug #9312: NullPointerException (NPE) in TaxonNamePopupEditor added
Actions #2

Updated by Andreas Kohlbecker about 2 years ago

Actions #3

Updated by Andreas Kohlbecker about 2 years ago

  • Status changed from New to Resolved
  • Assignee changed from Andreas Kohlbecker to Wolf-Henning Kusber
  • % Done changed from 0 to 50

please review once #9312 is also solved - needs prior communication with the dev team to check that the data base is updated.

Actions #4

Updated by Wolf-Henning Kusber about 2 years ago

  • Assignee changed from Wolf-Henning Kusber to Andreas Kohlbecker
  • % Done changed from 50 to 100

no problems with existing names (orthogr. variant, corrected name, species name, genus name) anymore. Ticket can be closed.

Actions #5

Updated by Andreas Kohlbecker about 2 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF