Project

General

Profile

Actions

bug #9312

closed

NullPointerException (NPE) in TaxonNamePopupEditor

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

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

100%

Estimated time:
Severity:
normal
Found in Version:
Tags:

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 validated name Entomoneis annagodhei 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 --> NullPointerException:
[phycobank] 13:44:32,209 ERROR [qtp1678854096-21][co.fl.va.ad.er.ErrorWindow] - Error occurred 1f177204-2996-4221-827e-6504123cf84a
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.fieldgroup.FieldGroup$CommitException: Failed to store data to backend
    at eu.etaxonomy.vaadin.mvp.AbstractPopupEditor$SaveHandler.postCommit(AbstractPopupEditor.java:392)
    at com.vaadin.data.fieldgroup.FieldGroup.firePostCommitEvent(FieldGroup.java:625)
    at com.vaadin.data.fieldgroup.FieldGroup.commit(FieldGroup.java:501)
    ... 89 more
Caused by: java.lang.NullPointerException
    at eu.etaxonomy.cdm.model.name.NomenclaturalSource.lambda$0(NomenclaturalSource.java:86)
    at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
    at eu.etaxonomy.cdm.model.common.CdmBase.firePropertyChange(CdmBase.java:215)
    at eu.etaxonomy.cdm.model.reference.OriginalSourceBase.setCitationMicroReference_aroundBody9$advice(OriginalSourceBase.java:62)
    at eu.etaxonomy.cdm.model.reference.OriginalSourceBase.setCitationMicroReference(OriginalSourceBase.java:1)
    at eu.etaxonomy.cdm.vaadin.model.name.NomenclaturalStatusDTO.update(NomenclaturalStatusDTO.java:74)
    at eu.etaxonomy.cdm.vaadin.view.name.TaxonNameEditorPresenter.preSaveBean(TaxonNameEditorPresenter.java:426)
    at eu.etaxonomy.cdm.vaadin.view.name.TaxonNameEditorPresenter.preSaveBean(TaxonNameEditorPresenter.java:1)
    at eu.etaxonomy.vaadin.mvp.CdmEditorPresenterBase.onEditorSaveEvent(CdmEditorPresenterBase.java:224)
    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.vaadin.mvp.AbstractPopupEditor$SaveHandler.postCommit(AbstractPopupEditor.java:384)
    ... 91 more

Related issues

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

Actions
Copied to EDIT - bug #9313: LazyInitializationException (LIE) in TaxonNamePopupEditorClosedAndreas Kohlbecker

Actions
Actions #1

Updated by Andreas Kohlbecker about 2 years ago

  • Copied to bug #9313: LazyInitializationException (LIE) in TaxonNamePopupEditor added
Actions #2

Updated by Andreas Kohlbecker about 2 years ago

  • Description updated (diff)
Actions #3

Updated by Andreas Kohlbecker about 2 years ago

  • Category changed from cdm-vaadin to cdmlib
  • Assignee changed from Andreas Kohlbecker to Andreas Müller

this seems to be due to a problem in the model upgrade script which misses to handle NomeclaturalSources correctly and thus leaves the sourcedName == null

Actions #4

Updated by Andreas Kohlbecker about 2 years ago

  • Tags set to phycobank
Actions #5

Updated by Andreas Müller about 2 years ago

  • Status changed from New to Resolved
  • Assignee changed from Andreas Müller to Andreas Kohlbecker
  • % Done changed from 0 to 50

This should be fixed with the current update script. You need to reinstall a version prior to 5.18.0 and run the update script again.

Actions #6

Updated by Andreas Kohlbecker about 2 years ago

Actions #7

Updated by Andreas Kohlbecker about 2 years ago

  • Status changed from Resolved to Closed
  • Assignee changed from Andreas Kohlbecker to Andreas Müller
  • % Done changed from 50 to 100

confirmed! the 374e76ca85 for #6581 fixes this issue

Actions #8

Updated by Andreas Müller about 2 years ago

  • Target version deleted (Release 5.18)

As this is a milestone interal ticket only I remove the target version

Actions

Also available in: Atom PDF