Flukebook submission problems

In which Wildbook did the issue occur? Flukebook

What operating system were you using? Windows 10 Professional

What web browser were you using? Chrome Version 91.0.4472.124 (Official Build) (64-bit)

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

What happened?
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.NucleusDataStoreException: Update of object “org.ecocean.Project@27858bbe” using statement “UPDATE “PROJECT” SET “DATELASTMODIFIEDLONG”=? WHERE “ID”=?” failed : org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2477)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2190)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:300)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354)
at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:169)
at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:136)
at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
at org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:393)
at org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:431)
at org.datanucleus.store.rdbms.request.UpdateRequest.execute(UpdateRequest.java:395)
at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObjectInTable(RDBMSPersistenceHandler.java:409)
at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObject(RDBMSPersistenceHandler.java:383)
at org.datanucleus.state.StateManagerImpl.flush(StateManagerImpl.java:4585)
at org.datanucleus.flush.FlushOrdered.execute(FlushOrdered.java:106)
at org.datanucleus.ExecutionContextImpl.flushInternal(ExecutionContextImpl.java:4054)
at org.datanucleus.ExecutionContextThreadedImpl.flushInternal(ExecutionContextThreadedImpl.java:450)
at org.datanucleus.ExecutionContextImpl.markDirty(ExecutionContextImpl.java:3810)
at org.datanucleus.ExecutionContextThreadedImpl.markDirty(ExecutionContextThreadedImpl.java:422)
at org.datanucleus.state.StateManagerImpl.postWriteField(StateManagerImpl.java:4374)
at org.datanucleus.state.StateManagerImpl.replaceField(StateManagerImpl.java:3047)
at org.datanucleus.state.StateManagerImpl.updateField(StateManagerImpl.java:1865)
at org.datanucleus.state.StateManagerImpl.setObjectField(StateManagerImpl.java:1766)
at org.ecocean.Encounter.dnSetannotations(Encounter.java)
at org.ecocean.Encounter.setAnnotations(Encounter.java:2811)
at org.ecocean.servlet.EncounterForm.doPost(EncounterForm.java:688)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.ecocean.servlet.StrutsUTF8Filter.doFilter(StrutsUTF8Filter.java:33)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint “PROJECT_ENCOUNTERS_pkey”
Detail: Key (“ID_OID”, “IDX”)=(81e0be1a-1323-4c79-9989-01d06404e309, 18) already exists.
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2477)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2190)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:300)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354)
at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:169)
at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:136)
at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
at org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:393)
at org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:431)
at org.datanucleus.store.rdbms.scostore.JoinListStore.internalAdd(JoinListStore.java:298)
at org.datanucleus.store.rdbms.scostore.AbstractListStore.add(AbstractListStore.java:114)
at org.datanucleus.store.types.wrappers.backed.ArrayList.add(ArrayList.java:670)
at org.ecocean.Project.addEncounter(Project.java:222)
at org.ecocean.servlet.EncounterForm.doPost(EncounterForm.java:637)
… 36 more

org.datanucleus.store.rdbms.request.UpdateRequest.execute(UpdateRequest.java:426)
org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObjectInTable(RDBMSPersistenceHandler.java:409)
org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObject(RDBMSPersistenceHandler.java:383)
org.datanucleus.state.StateManagerImpl.flush(StateManagerImpl.java:4585)
org.datanucleus.flush.FlushOrdered.execute(FlushOrdered.java:106)
org.datanucleus.ExecutionContextImpl.flushInternal(ExecutionContextImpl.java:4054)
org.datanucleus.ExecutionContextThreadedImpl.flushInternal(ExecutionContextThreadedImpl.java:450)
org.datanucleus.ExecutionContextImpl.markDirty(ExecutionContextImpl.java:3810)
org.datanucleus.ExecutionContextThreadedImpl.markDirty(ExecutionContextThreadedImpl.java:422)
org.datanucleus.state.StateManagerImpl.postWriteField(StateManagerImpl.java:4374)
org.datanucleus.state.StateManagerImpl.replaceField(StateManagerImpl.java:3047)
org.datanucleus.state.StateManagerImpl.updateField(StateManagerImpl.java:1865)
org.datanucleus.state.StateManagerImpl.setObjectField(StateManagerImpl.java:1766)
org.ecocean.Encounter.dnSetannotations(Encounter.java)
org.ecocean.Encounter.setAnnotations(Encounter.java:2811)
org.ecocean.servlet.EncounterForm.doPost(EncounterForm.java:688)
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)

Root Cause

org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2477)
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2190)
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:300)
org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428)
org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354)
org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:169)
org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:136)
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:393)
org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:431)
org.datanucleus.store.rdbms.request.UpdateRequest.execute(UpdateRequest.java:395)
org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObjectInTable(RDBMSPersistenceHandler.java:409)
org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObject(RDBMSPersistenceHandler.java:383)
org.datanucleus.state.StateManagerImpl.flush(StateManagerImpl.java:4585)
org.datanucleus.flush.FlushOrdered.execute(FlushOrdered.java:106)
org.datanucleus.ExecutionContextImpl.flushInternal(ExecutionContextImpl.java:4054)
org.datanucleus.ExecutionContextThreadedImpl.flushInternal(ExecutionContextThreadedImpl.java:450)
org.datanucleus.ExecutionContextImpl.markDirty(ExecutionContextImpl.java:3810)
org.datanucleus.ExecutionContextThreadedImpl.markDirty(ExecutionContextThreadedImpl.java:422)
org.datanucleus.state.StateManagerImpl.postWriteField(StateManagerImpl.java:4374)
org.datanucleus.state.StateManagerImpl.replaceField(StateManagerImpl.java:3047)
org.datanucleus.state.StateManagerImpl.updateField(StateManagerImpl.java:1865)
org.datanucleus.state.StateManagerImpl.setObjectField(StateManagerImpl.java:1766)
org.ecocean.Encounter.dnSetannotations(Encounter.java)
org.ecocean.Encounter.setAnnotations(Encounter.java:2811)
org.ecocean.servlet.EncounterForm.doPost(EncounterForm.java:688)
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)
Root Cause

org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint “PROJECT_ENCOUNTERS_pkey”
Detail: Key (“ID_OID”, “IDX”)=(81e0be1a-1323-4c79-9989-01d06404e309, 18) already exists.
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2477)
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2190)
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:300)
org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428)
org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354)
org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:169)
org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:136)
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:393)
org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:431)
org.datanucleus.store.rdbms.scostore.JoinListStore.internalAdd(JoinListStore.java:298)
org.datanucleus.store.rdbms.scostore.AbstractListStore.add(AbstractListStore.java:114)
org.datanucleus.store.types.wrappers.backed.ArrayList.add(ArrayList.java:670)
org.ecocean.Project.addEncounter(Project.java:222)
org.ecocean.servlet.EncounterForm.doPost(EncounterForm.java:637)
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.

Apache Tomcat/8.5.39 (Ubuntu)

Hi, @Akopelman !
Thanks for this (and thanks for including the error). I have a hunch about what is going on here, but I want to confirm: did this happen when you tried to submit a new encounter, or when you were trying to do something else?

What were you trying to do when you saw this error?
Thanks,
Mark

Try to add a new encounter

Hi, @Akopelman !
I was able to reproduce the error. And I believe that I have fixed it.
Can you confirm on your end?
Thanks,
Mark