Skip to content

Test flake in TestMonitorPrematureCancelTask #464

Description

@yacovm
2026-07-27T18:57:37.4489418Z 2026-07-27T18:57:23.140Z	DEBUG	simplex/monitor_test.go:132	Executing f	{"taskID": 2}
2026-07-27T18:57:37.4489535Z panic: close of closed channel
2026-07-27T18:57:37.4489557Z 
2026-07-27T18:57:37.4489661Z goroutine 24 [running]:
2026-07-27T18:57:37.4489929Z github.com/ava-labs/simplex/simplex.TestMonitorPrematureCancelTask.func4.1()
2026-07-27T18:57:37.4490156Z 	/home/runner/work/Simplex/Simplex/simplex/monitor_test.go:75 +0x3b
2026-07-27T18:57:37.4490339Z github.com/ava-labs/simplex/simplex.(*Monitor).RunTask.func2()
2026-07-27T18:57:37.4490546Z 	/home/runner/work/Simplex/Simplex/simplex/monitor.go:134 +0x4d
2026-07-27T18:57:37.4490728Z github.com/ava-labs/simplex/simplex.(*Monitor).run(0xc00012c2a0)
2026-07-27T18:57:37.4490924Z 	/home/runner/work/Simplex/Simplex/simplex/monitor.go:88 +0x396
2026-07-27T18:57:37.4491147Z created by github.com/ava-labs/simplex/simplex.NewMonitor in goroutine 23
2026-07-27T18:57:37.4491335Z 	/home/runner/work/Simplex/Simplex/simplex/monitor.go:43 +0x2ac
2026-07-27T18:57:37.4491478Z FAIL	github.com/ava-labs/simplex/simplex	0.017s
2026-07-27T18:57:37.4491571Z === RUN   TestSilence

From the test:

	t.Run("Cancelled task does not fire", func(t *testing.T) {
		finish := make(chan struct{})

		mon.RunTask(func() {
			<-finish
			close(finish) // Test should panic if we have a double close
		})

		mon.CancelTask()

		close(finish)
	})

Logs:

2026-07-27T18:57:37.4489190Z === RUN   TestMonitorPrematureCancelTask/Cancelled_task_does_not_fire
2026-07-27T18:57:37.4489418Z 2026-07-27T18:57:23.140Z	DEBUG	simplex/monitor_test.go:132	Executing f	{"taskID": 2}
2026-07-27T18:57:37.4489535Z panic: close of closed channel
2026-07-27T18:57:37.4489557Z 
2026-07-27T18:57:37.4489661Z goroutine 24 [running]:
2026-07-27T18:57:37.4489929Z github.com/ava-labs/simplex/simplex.TestMonitorPrematureCancelTask.func4.1()
2026-07-27T18:57:37.4490156Z 	/home/runner/work/Simplex/Simplex/simplex/monitor_test.go:75 +0x3b
2026-07-27T18:57:37.4490339Z github.com/ava-labs/simplex/simplex.(*Monitor).RunTask.func2()
2026-07-27T18:57:37.4490546Z 	/home/runner/work/Simplex/Simplex/simplex/monitor.go:134 +0x4d
2026-07-27T18:57:37.4490728Z github.com/ava-labs/simplex/simplex.(*Monitor).run(0xc00012c2a0)
2026-07-27T18:57:37.4490924Z 	/home/runner/work/Simplex/Simplex/simplex/monitor.go:88 +0x396
2026-07-27T18:57:37.4491147Z created by github.com/ava-labs/simplex/simplex.NewMonitor in goroutine 23
2026-07-27T18:57:37.4491335Z 	/home/runner/work/Simplex/Simplex/simplex/monitor.go:43 +0x2ac
2026-07-27T18:57:37.4491478Z FAIL	github.com/ava-labs/simplex/simplex	0.017s

Seems like the task has been executed fast and cancelling the task didn't do anything

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions