From a6191d8272a189a5e551446101f9f5e6888a8494 Mon Sep 17 00:00:00 2001 From: sashass1315 Date: Tue, 25 Nov 2025 04:23:30 +0200 Subject: [PATCH] core/txpool/blobpool: drain and signal pending conversion tasks on shutdown (#33260) --- core/txpool/blobpool/conversion.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/txpool/blobpool/conversion.go b/core/txpool/blobpool/conversion.go index 95828d83b2..80b97af5d7 100644 --- a/core/txpool/blobpool/conversion.go +++ b/core/txpool/blobpool/conversion.go @@ -183,6 +183,15 @@ func (q *conversionQueue) loop() { log.Debug("Waiting for blobpool billy conversion to exit") <-q.billyTaskDone } + // Signal any tasks that were queued for the next batch but never started + // so callers blocked in convert() receive an error instead of hanging. + for _, t := range txTasks { + // Best-effort notify; t.done is a buffered channel of size 1 + // created by convert(), and we send exactly once per task. + t.done <- errors.New("conversion queue closed") + } + // Drop references to allow GC of the backing array. + txTasks = txTasks[:0] return } }