On Fri, 14 Jun 2024 13:13:17 +0100, Kirill A. Korinsky <kir...@korins.ky> wrote: > > Anyway, I'm puzzling that to do next. >
long story short: my code contains asr_abort and when it had happened it doesn't decrease internal counter that lead to the deadlock. Anyway, I suggest to add DEBUG print into asr_abort because right now it is missed, and such output may save many hours of debuging. Something like this: diff --git lib/libc/asr/asr.c lib/libc/asr/asr.c index c4ee2dd103f..afdbe00bbbb 100644 --- lib/libc/asr/asr.c +++ lib/libc/asr/asr.c @@ -173,6 +173,8 @@ DEF_WEAK(asr_resolver_free); void asr_abort(struct asr_query *as) { + DPRINT("asr: asr_abort(%p) %s ctx=[%p]\n", as, + _asr_querystr(as->as_type), as->as_ctx); _asr_async_free(as); } -- wbr, Kirill