Open
Description
What happened?
Tests failed: https://github.com/LF-Decentralized-Trust-labs/paladin/actions/runs/14606848068/job/40977470666?pr=631
The failure was in :core:go:unitTestSQLite
. It might be related to this panic... I see the next test is supposed to be TestProduceLatestInFlightStageContextStatusUpdatePanic
, but it feels like this panic happened during a previous test and was unexpected:
2025-04-23T00:01:01.9675344Z [2025-04-23T00:00:50.226Z] ERROR Panic error detected for transaction 0x7ba10f0e14790eab2ca48ca36afc8d5bd3cdee93:1, when executing: , error: runtime error: invalid memory address or nil pointer dereference role=public_tx_mgr
2025-04-23T00:01:01.9675448Z goroutine 10240 [running]:
2025-04-23T00:01:01.9675546Z runtime/debug.Stack()
2025-04-23T00:01:01.9675792Z /opt/hostedtoolcache/go/1.23.8/x64/src/runtime/debug/stack.go:26 +0x5e
2025-04-23T00:01:01.9675899Z runtime/debug.PrintStack()
2025-04-23T00:01:01.9676132Z /opt/hostedtoolcache/go/1.23.8/x64/src/runtime/debug/stack.go:18 +0x13
2025-04-23T00:01:01.9676556Z github.com/kaleido-io/paladin/core/internal/publictxmgr.(*inFlightTransactionStageController).executeAsync.func1.1()
2025-04-23T00:01:01.9677009Z /home/runner/work/paladin/paladin/core/go/internal/publictxmgr/in_flight_transaction_stage_controller.go:699 +0x185
2025-04-23T00:01:01.9677115Z panic({0x112ff00?, 0x1d566b0?})
2025-04-23T00:01:01.9677337Z /opt/hostedtoolcache/go/1.23.8/x64/src/runtime/panic.go:791 +0x132
2025-04-23T00:01:01.9677729Z github.com/kaleido-io/paladin/core/internal/publictxmgr.(*RunningStageContext).SetNewPersistenceUpdateOutput(...)
2025-04-23T00:01:01.9678007Z /home/runner/work/paladin/paladin/core/go/internal/publictxmgr/types.go:359
2025-04-23T00:01:01.9678445Z github.com/kaleido-io/paladin/core/internal/publictxmgr.(*inFlightTransactionStageController).TriggerStatusUpdate.func1()
2025-04-23T00:01:01.9678948Z /home/runner/work/paladin/paladin/core/go/internal/publictxmgr/in_flight_transaction_stage_controller.go:639 +0x9f
2025-04-23T00:01:01.9679354Z github.com/kaleido-io/paladin/core/internal/publictxmgr.(*inFlightTransactionStageController).executeAsync.func1()
2025-04-23T00:01:01.9679795Z /home/runner/work/paladin/paladin/core/go/internal/publictxmgr/in_flight_transaction_stage_controller.go:710 +0x21f
2025-04-23T00:01:01.9680274Z created by github.com/kaleido-io/paladin/core/internal/publictxmgr.(*inFlightTransactionStageController).executeAsync in goroutine 10235
2025-04-23T00:01:01.9680705Z /home/runner/work/paladin/paladin/core/go/internal/publictxmgr/in_flight_transaction_stage_controller.go:693 +0x12e
2025-04-23T00:01:01.9681076Z --- PASS: TestProduceLatestInFlightStageContextTriggerStatusUpdate (0.00s)
2025-04-23T00:01:01.9681288Z === RUN TestProduceLatestInFlightStageContextStatusUpdatePanic
2025-04-23T00:01:01.9682306Z [2025-04-23T00:00:50.227Z] ERROR persistenceOutput should not be nil for transaction with ID: 0x898bf29050b9016b7e7eb3307a3706a2d2137c4e:1, in the stage output object: &{Stage:statusUpdate PersistenceOutput:<nil> SubmitOutput:<nil> SignOutput:<nil> GasPriceOutput:<nil> ConfirmationOutput:<nil>}. role=public_tx_mgr
I see similar a similar panic reported in #267, but I'm not sure if it's exactly the same.
What did you expect to happen?
Test passes
How can we reproduce it (as minimally and precisely as possible)?
Hard to reproduce - need to analyze logs
Anything else we need to know?
No response
OS version
# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here
# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here