A task must never be queued in past. However, in sc_notify(), the stream
task, if not woken up, is queued. Thanks to previous fixes, the stream task
expiration date should be correct. But to prevent any issue, a BUG_ON() is
added to be sure it never happens. I guess a good idea could be to remove it
or change it to BUG_ON_HOT() for the final release.
task->expire = tick_first(task->expire, oc->analyse_exp);
task->expire = tick_first(task->expire, __sc_strm(sc)->conn_exp);
+ /* WARNING: Don't forget to remove this BUG_ON before 2.9.0 */
+ BUG_ON(tick_is_expired(task->expire, now_ms));
task_queue(task);
}