Project

General

Profile

bug #8800

If supplemental data view shows reference it is not possible to select another reference

Added by Katja Luther 6 months ago. Updated 6 months ago.

Status:
Closed
Priority:
New
Category:
taxeditor
Target version:
Start date:
01/08/2020
Due date:
% Done:

50%

Severity:
normal
Found in Version:

Description

mail WB:

Hallo,
ich habe ein merkwürdiges Problem beim Editieren einer Referenz, und zwar sowohl aus dem Bulk Editor – Detail VIew also auch ausgehend von einem Namen im Detail View. Ich will den falschen Journal-Titel ändern. Ich kann aber den Auswahldialog nicht aufrufen – passiert nichts. Autoren-Dialog funktioniert, und ich kann den Journal-Eintrag auch löschen, aber auch dann nicht neu auswählen.
Ah – das scheint damit zusammenzuhängen, dass ich den SupplementalData View offen hatte – der klick auf das Auswahlsymbol färbt den Journal-Prompt blau an und es werden die Eingabeprompts bei Supplemental data angezeigt – dann funktionierte die Auswahl nicht mehr.
Aber leider kann ich das nicht reproduzieren, jetzt habe ich das Suppl View wieder offen, und es funktioniert trotzdem.
Na, vielleicht könnt Ihr damit etwas anfangen.
Herzlichen Gruß
Walter

Associated revisions

Revision db7b0ee7 (diff)
Added by Andreas Müller 6 months ago

fix #8800 fix NPE in Reference.getUuidAndTitle

History

#1 Updated by Andreas Müller 6 months ago

AM:

Das klingt ein bisschen wie der Fehler den ich gestern mit dem nicht möglichen Aufrufen des Referenzdialoges für die Sec-Referenzen hatte.
Walter, kannst du mal die letzten Einträge im Logfile schicken (oder das ganze File). Da tauchte bei mir ein Fehler auf, der nicht als Dialog angezeigt wurde.

Meine erste Vermutung: es hat mit dem Laden der LastUsedReferences zu tun, da es nur in spezifischem Kontext ein Problem zu sein scheint. Aber da kann ich auch völlig falsch liegen. Das Logfile sollte aber Auskunft geben.

===

Die erwähnte Mail:

… achso, das Problem ist v.a. auch, dass der Fehler unten wohl geschluckt wird und nicht im Fehlerdialog erscheint. Das sollte dringend gefixt werden.

AM

Von: Müller, Andreas
Gesendet: Dienstag, 7. Januar 2020 23:35
An: Luther, Katja K.Luther@bgbm.org
Betreff: Sec Reference Dialog öffnen bei Valueless Taxa

Hallo Katja,

bei den Valueless Taxa (Root Taxon neben Plantae) in E+M Production kann ich aus irgendeinem Grund den sec-Ref Auswahl Dialog nicht öffnen.

Kannst du mal bei dir checken, ob das auch so ist? Auf nightly basierenden DBs tauchte das Problem nicht auf. Bei Taxa unterhalb Plantae auch nicht.

Ahh, ich sehe gerade, dass das wohl an folgendem liegt:

!ENTRY org.eclipse.ui 4 0 2020-01-07 23:29:42.563
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
                at eu.etaxonomy.cdm.persistence.dao.hibernate.reference.ReferenceDaoHibernateImpl.getUuidAndTitle(ReferenceDaoHibernateImpl.java:104)
                at eu.etaxonomy.cdm.api.service.ReferenceServiceImpl.getUuidAndTitleCacheForUUIDS(ReferenceServiceImpl.java:207)
                at sun.reflect.GeneratedMethodAccessor530021.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.$Proxy13452.getUuidAndTitleCacheForUUIDS(Unknown Source)
                at sun.reflect.GeneratedMethodAccessor530021.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.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:78)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
                at com.sun.proxy.$Proxy13552.getUuidAndTitleCacheForUUIDS(Unknown Source)
                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.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:212)
                at org.springframework.remoting.support.DefaultRemoteInvocationExecutor.invoke(DefaultRemoteInvocationExecutor.java:39)
                at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
                at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
                at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:74)
                at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:51)
                at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
                at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
                at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
                at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
                at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
                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.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:213)
                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.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 
...

Kannst du dir das mal anschauen.
Falls es sich bei dir öffnen lässt, kannst du dem Taxon „Valueless“ die Referenz „Euro+Med Plantbase - the information resource for Euro-Mediterranean plant diversity.“ bitte wieder zuweisen. Sie wurde durch setSecForSubtree mit geändert, sollte sie aber nicht (ein Parameter ignoreRoot wäre da evtl. sinnvoll).

Viele Grüße,
Andreas M.

#2 Updated by Andreas Müller 6 months ago

I checked Walters log-file (see below). So he also got an error in ReferenceDaoHibernateImpl.getUuidAndTitle but in another line (405, not 104):

!ENTRY org.eclipse.ui 4 0 2020-01-07 15:33:15.666
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
    at eu.etaxonomy.cdm.persistence.dao.hibernate.reference.ReferenceDaoHibernateImpl.getUuidAndTitle(ReferenceDaoHibernateImpl.java:405)
    at eu.etaxonomy.cdm.api.service.ReferenceServiceImpl.getUuidAndTitleCacheForUUIDS(ReferenceServiceImpl.java:198)
    at sun.reflect.GeneratedMethodAccessor493385.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)

#3 Updated by Andreas Müller 6 months ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 50

#4 Updated by Andreas Müller 6 months ago

  • Target version changed from Unassigned CDM tickets to Release 5.12

#5 Updated by Katja Luther 6 months ago

  • Status changed from Resolved to Closed
  • Assignee changed from Katja Luther to Andreas Müller

I could not reproduce this error anymore, so we can close it.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)