Skip parallel suspension when checkpoint is nil
The triggering entry in the parallel-suspend path stored se.Checkpoint into innerCheckpoints unconditionally, while the sibling loop already guarded otherSE.Checkpoint != nil. A nil entry would later cause restoreNestedSuspended to dereference innerCP.AgentName and panic. Apply the same guard so a malformed SuspendedError falls through to the regular result-collection path instead of poisoning the checkpoint map. Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
@@ -976,7 +976,7 @@ func executeParallel(
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
se, ok := errors.AsType[*SuspendedError](entry.err)
|
se, ok := errors.AsType[*SuspendedError](entry.err)
|
||||||
if ok {
|
if ok && se.Checkpoint != nil {
|
||||||
innerCheckpoints := make(map[string]*Checkpoint)
|
innerCheckpoints := make(map[string]*Checkpoint)
|
||||||
var completed []CompletedCall
|
var completed []CompletedCall
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user