Project

General

Profile

Actions

bug #6548

closed

NPE in DeduplicationHelper

Added by Katja Luther about 7 years ago. Updated over 2 years ago.

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

40%

Estimated time:
Severity:
normal
Found in Version:

Description

NPE in DeduplicationHelper.merge(). Probably this comes when an object referenced by its uuid is already deleted. Therefore we need to check whether the object still exists. We should implement this for all calls using the uuid as parameter.

WGB:

nach dem Deduplizieren mehrerer Referenzen im Bulk Editor gab’s folgende Meldung (nicht rot) beim Speichern. Musste den Editor zumachen, die Änderungen waren nicht vollständig gespeichert (mindestens ein nicht mit Daten verknüpftes zusätzliches Referenzduplikat wurde wohl erzeugt).
Herzlichen Gruß
Walter


login : w.berendsohn
editor version : 4.6.0
server : api.cybertaxonomy.org (cybertaxonomy.org) / caryo_nepenthaceae
schema version : 4.1.0.0.201607300000
os : Windows 7 6.1 amd64
java : 1.8.0_121
java.lang.NullPointerException
                at eu.etaxonomy.cdm.persistence.dao.hibernate.common.DeduplicationHelper.merge(DeduplicationHelper.java:94)
                at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmGenericDaoImpl.merge(CdmGenericDaoImpl.java:493)
                at eu.etaxonomy.cdm.api.service.CommonServiceImpl.merge(CommonServiceImpl.java:244)
                at eu.etaxonomy.cdm.api.service.CommonServiceImpl.merge(CommonServiceImpl.java:276)
                at sun.reflect.GeneratedMethodAccessor40443.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.$Proxy1675.merge(Unknown Source)
                at sun.reflect.GeneratedMethodAccessor40443.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.$Proxy2034.merge(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)

Actions #1

Updated by Andreas Müller over 2 years ago

  • Description updated (diff)
Actions #2

Updated by Andreas Müller over 2 years ago

  • Status changed from New to Resolved
  • Target version changed from Unassigned CDM tickets to Release 5.28
  • % Done changed from 0 to 40

I guess this was fixed with c3794190 . Please verify and move to v4.8 if correct.

Actions #3

Updated by Katja Luther over 2 years ago

  • Status changed from Resolved to Closed
  • Target version changed from Release 5.28 to Release 4.8

Tested with two open editors and deduplicated the same references. Saving the second deduplication results in a merge exception saying that the merge target not available anymore, this is expected behavior.

Actions

Also available in: Atom PDF