Error 500 for encounter uploads on IoT

Hello!

Unfortunately, the dreaded Error 500 message is back on the internet of turtles. Issue started yesterday and still remains today for ORP and ORP-Laamu accounts minimum.

In which Wildbook did the issue occur? Internet of Turtles

What operating system were you using? (eg. MacOS 10.15.3) Various, e.g. MacOS 10.15.7

What web browser were you using? (eg. Chrome 79) Various, e.g. Safari 15.1

What is your role on the site? (admin, researcher, etc) Researcher

What happened? Tried to submit new encounters. Error message appeared after submitting.

What did you expect to happen? a success message to appear and the encounter to be uploaded.

What are some steps we could take to reproduce the issue? Try submitting a new encounter

Kind regards,
Stephanie


Error message:
TTP Status 500 ? Internal Server Error

Type Exception Report

Message Filtered request failed.

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

javax.servlet.ServletException: Filtered request failed.
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:384)
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
org.ecocean.servlet.StrutsUTF8Filter.doFilter(StrutsUTF8Filter.java:33)
Root Cause

org.datanucleus.exceptions.NucleusUserException: Object with id “1” is managed by a different persistence manager
org.datanucleus.ExecutionContextImpl.findObjectProvider(ExecutionContextImpl.java:1281)
org.datanucleus.ExecutionContextThreadedImpl.findObjectProvider(ExecutionContextThreadedImpl.java:133)
org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObjectAsValue(PersistableMapping.java:411)
org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObject(PersistableMapping.java:323)
org.datanucleus.store.rdbms.fieldmanager.ParameterSetter.storeObjectField(ParameterSetter.java:191)
org.datanucleus.state.AbstractStateManager.providedObjectField(AbstractStateManager.java:1460)
org.datanucleus.state.StateManagerImpl.providedObjectField(StateManagerImpl.java:120)
org.ecocean.media.MediaAsset.dnProvideField(MediaAsset.java)
org.ecocean.media.MediaAsset.dnProvideFields(MediaAsset.java)
org.datanucleus.state.StateManagerImpl.provideFields(StateManagerImpl.java:1170)
org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:292)
org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObjectInTable(RDBMSPersistenceHandler.java:162)
org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:138)
org.datanucleus.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3363)
org.datanucleus.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3339)
org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2079)
org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2171)
org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObjectAsValue(PersistableMapping.java:569)
org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObject(PersistableMapping.java:323)
org.datanucleus.store.rdbms.fieldmanager.ParameterSetter.storeObjectField(ParameterSetter.java:204)
org.datanucleus.state.AbstractStateManager.providedObjectField(AbstractStateManager.java:1460)
org.datanucleus.state.StateManagerImpl.providedObjectField(StateManagerImpl.java:120)
org.ecocean.media.Feature.dnProvideField(Feature.java)
org.ecocean.media.Feature.dnProvideFields(Feature.java)
org.datanucleus.state.StateManagerImpl.provideFields(StateManagerImpl.java:1170)
org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:485)
org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObjectInTable(RDBMSPersistenceHandler.java:162)
org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:138)
org.datanucleus.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3363)
org.datanucleus.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3339)
org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2079)
org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2176)
org.datanucleus.store.types.SCOUtils.validateObjectForWriting(SCOUtils.java:1486)
org.datanucleus.store.rdbms.scostore.ElementContainerStore.validateElementForWriting(ElementContainerStore.java:387)
org.datanucleus.store.rdbms.scostore.JoinListStore.internalAdd(JoinListStore.java:197)
org.datanucleus.store.rdbms.scostore.AbstractListStore.addAll(AbstractListStore.java:137)
org.datanucleus.store.rdbms.mapping.java.CollectionMapping.postInsert(CollectionMapping.java:157)
org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:522)
org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObjectInTable(RDBMSPersistenceHandler.java:162)
org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:138)
org.datanucleus.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3363)
org.datanucleus.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3339)
org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2079)
org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2176)
org.datanucleus.store.types.SCOUtils.validateObjectForWriting(SCOUtils.java:1486)
org.datanucleus.store.rdbms.scostore.ElementContainerStore.validateElementForWriting(ElementContainerStore.java:387)
org.datanucleus.store.rdbms.scostore.JoinListStore.internalAdd(JoinListStore.java:197)
org.datanucleus.store.rdbms.scostore.AbstractListStore.addAll(AbstractListStore.java:137)
org.datanucleus.store.types.wrappers.backed.ArrayList.initialise(ArrayList.java:151)
org.datanucleus.store.types.wrappers.backed.ArrayList.initialise(ArrayList.java:66)
org.datanucleus.store.types.SCOUtils.wrapAndReplaceSCOField(SCOUtils.java:176)
org.datanucleus.state.StateManagerImpl.setObjectField(StateManagerImpl.java:1804)
org.ecocean.Encounter.dnSetannotations(Encounter.java)
org.ecocean.Encounter.setAnnotations(Encounter.java:2939)
org.ecocean.servlet.EncounterForm.doPost(EncounterForm.java:702)
javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
org.ecocean.servlet.StrutsUTF8Filter.doFilter(StrutsUTF8Filter.java:33)
Note The full stack trace of the root cause is available in the server logs.

Thank you! This latest occurrence - we think - has given us enough data to understand the issue (WB-1899). We are working on a fix.

Thanks,
Jason

1 Like

We have restarted the server with potential fix. Please resume using the system…and hopefully this time the bug will never reappear.

Thanks,
Jason

2 Likes

Hi Jason!

Sry, did get around to trying before today.

Upload is working again. Now there is just the issue left, that the annotation detection is doubling encounters and/or splitting uploaded pictures into seperate encounters. Other descriptions of the issue in these threads:

Best,
Steph

1 Like

Hi, @ORP-StephanieK !
Glad to hear!
I’m going to mark this ticket as resolved, then!
As you noted, the other issues are in separate posts. I know that Colin has been investigated those today and suspects that it’s an issue with the detection model. We’ve escalated to our computer vision team!
Cheers,
Mark