provenance-io / explorer-service

The server side of the blockchain Explorer app. Allows for UI browsing of the blockchain.
Apache License 2.0
6 stars 3 forks source link

Error saving groups from transaction #499

Closed nullpointer0x00 closed 11 months ago

nullpointer0x00 commented 11 months ago

Summary of Bug

When ingesting a transaction with a transaction with a groups message.

  height  | retried | success |                                                                         error_block
----------+---------+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------
 18607185 | t       | f       | java.lang.NullPointerException                                                                                                                              +
          |         |         |         at io.provenance.explorer.service.async.AsyncCachingV2$saveGroups$1.invoke(AsyncCachingV2.kt:871)                                                   +
          |         |         |         at io.provenance.explorer.service.async.AsyncCachingV2$saveGroups$1.invoke(AsyncCachingV2.kt:812)                                                   +
          |         |         |         at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:215)           +
          |         |         |         at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.access$inTopLevelTransaction$run(ThreadLocalTransactionManager.kt:1)      +
          |         |         |         at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$inTopLevelTransaction$1.invoke(ThreadLocalTransactionManager.kt:241)      +
          |         |         |         at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:249)+
          |         |         |         at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:240)               +
          |         |         |         at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$transaction$1.invoke(ThreadLocalTransactionManager.kt:190)                +
          |         |         |         at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:249)+
          |         |         |         at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:160)                         +
          |         |         |         at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:146)                         +
          |         |         |         at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction$default(ThreadLocalTransactionManager.kt:145)                 +
          |         |         |         at io.provenance.explorer.service.async.AsyncCachingV2.saveGroups(AsyncCachingV2.kt:812)                                                            +
          |         |         |         at io.provenance.explorer.service.async.AsyncCachingV2.addTxToCache(AsyncCachingV2.kt:314)                                                          +
          |         |         |         at io.provenance.explorer.service.async.AsyncCachingV2.addTxToCacheWithTimestamp(AsyncCachingV2.kt:294)                                             +
          |         |         |         at io.provenance.explorer.service.async.AsyncCachingV2.tryAddTxs(AsyncCachingV2.kt:281)                                                             +
          |         |         |         at io.provenance.explorer.service.async.AsyncCachingV2.addTxsToCache(AsyncCachingV2.kt:264)                                                         +
          |         |         |         at io.provenance.explorer.service.async.AsyncCachingV2.saveTxs(AsyncCachingV2.kt:226)                                                               +
          |         |         |         at io.provenance.explorer.service.async.AsyncCachingV2.saveBlockEtc(AsyncCachingV2.kt:196)                                                          +
          |         |         |         at io.provenance.explorer.service.async.AsyncCachingV2.saveBlockEtc$default(AsyncCachingV2.kt:177)                                                  +
          |         |         |         at io.provenance.explorer.service.async.AsyncService.updateLatestBlockHeightJob(AsyncService.kt:146)                                                +
          |         |         |         at jdk.internal.reflect.GeneratedMethodAccessor569.invoke(Unknown Source)                                                                           +
          |         |         |         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)                                                               +
          |         |         |         at java.base/java.lang.reflect.Method.invoke(Unknown Source)                                                                                        +
          |         |         |         at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84)                                              +
          |         |         |         at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)                              +
          |         |         |         at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)                                                                    +
          |         |         |         at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)                                                                            +
          |         |         |         at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)                                               +
          |         |         |         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)                                                                      +
          |         |         |         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)                                                                     +
          |         |         |         at java.base/java.lang.Thread.run(Unknown Source)                                                                                                   +

Version

Steps to Reproduce


For Admin Use