Cancelling a cpuworker job doesn't decrement the total pending tasks counter
cpuworker_cancel_circ_handshake()
should decrement the total_pending_tasks
counter if the job was successfully cancelled meaning "job" if not NULL.
This issue has been observed with a fast relay where enough jobs were cancelled making if (total_pending_tasks >= max_pending_tasks)
always true. There are no ways to decrement the counter without having a worker actually completing a job that now can't be queued because we've reached the maximum task allowed.
This makes the relay stop working correctly since no onionskin job can be achieved anymore.