Delayed retries in Edge driver

I am trying to use a call_on_delay in a driver command handler to retry a command after a given delay, since the hub I am talking to is unreliable.
When I call the following in a command handler

device.thread:call_with_delay(10, function() command_handlers["do_"..name](driver, device, command) end)

I get the following error

2022-09-04T23:28:48.891828826+00:00 FATAL Hunter Douglas Platinum Shades  Lua: runtime error: [string "cosock/socket/internals.lua"]:101: recvr waker already set, sockets can only block one thread per waker kind
stack traceback:
	[C]: in function 'assert'
	[string "cosock/socket/internals.lua"]:101: in method 'setwaker'
	[string "cosock.lua"]:279: in field 'run'
	[string "st/driver.lua"]:739: in method 'run'
	[string "init.lua"]:39: in main chunk

Hi, @schwark
I made some tests with your configuration and I didn’t get an error. So, I’m not sure call_with_delay is the issue. Does the function do_x exist and are you sending the correct parameters?