Improvements
------------
- /local-data/rpz/*/watchdog: new configuration to enable watchdog for RPZ files (!1665)
+- daemon: fix rare crashes with either of the lines below
+ [system] requirement "h && h->end > h->begin" failed in queue_pop_impl
Knot Resolver 6.0.11 (2025-02-26)
session2_close(session);
break;
}
- session2_waitinglist_pop(session, true);
+ // Let's be a bit defensive and check that nothing's changed before _pop()
+ // and recover if it has, as qr_task_send() is rather complex.
+ // TODO: fully analyze why the waitinglist could get empty here.
+ if (session2_waitinglist_get(session) == t) {
+ session2_waitinglist_pop(session, true);
+ } else { // a normal assertion could kr_error_log() too much in some rarer cases
+ VERBOSE_MSG(NULL, "soft assertion: waitinglist mismatch in send_waiting()\n");
+ }
} while (!session2_waitinglist_is_empty(session));
defer_sample_stop(&defer_prev_sample_state, true);