overtone 2024-11-23

Does anyone know why when doing this:

(o/go
    (doseq [buf bufs] (o/buffer-free buf)))
I get a timeout exception:
Exception in thread "async-thread-macro-25" java.util.concurrent.TimeoutException: deref! timeout error. Dereference took longer than 5000 ms whilst attempting to self-synchronise with the server whilst freeing audio buffer #<buffer[destroyed]:  0.450000s mono 2133>
	at overtone.helpers.lib$deref_BANG_.invokeStatic(lib.clj:283)
	at overtone.helpers.lib$deref_BANG_.invoke(lib.clj:267)
	at overtone.helpers.lib$deref_BANG_.invokeStatic(lib.clj:277)
	at overtone.helpers.lib$deref_BANG_.invoke(lib.clj:267)
	at overtone.sc.machinery.server.comms$with_server_self_sync.invokeStatic(comms.clj:95)
	at overtone.sc.machinery.server.comms$with_server_self_sync.invoke(comms.clj:73)
	at overtone.sc.buffer$buffer_free.invokeStatic(buffer.clj:265)
	at overtone.sc.buffer$buffer_free.invoke(buffer.clj:260)
	at clojure.lang.Var.invoke(Var.java:384)
	at xx.xxx.xx.xx$delete_bank_bufs$fn__81441.invoke(rec.clj:82)
This works on the main thread, but sometimes I can have a lot of bufs, so would prefer to do this on another thread to prevent blocking.