python/cpython · error · TypeError
delay must not be None
Error message
delay must not be None
What it means
Error "delay must not be None" thrown in python/cpython.
Source
Thrown at Lib/asyncio/base_events.py:798
def call_later(self, delay, callback, *args, context=None):
"""Arrange for a callback to be called at a given time.
Return a Handle: an opaque object with a cancel() method that
can be used to cancel the call.
The delay can be an int or float, expressed in seconds. It is
always relative to the current time.
Each callback will be called exactly once. If two callbacks
are scheduled for exactly the same time, it is undefined which
will be called first.
Any positional arguments after the callback will be passed to
the callback when it is called.
"""
if delay is None:
raise TypeError('delay must not be None')
timer = self.call_at(self.time() + delay, callback, *args,
context=context)
if timer._source_traceback:
del timer._source_traceback[-1]
return timer
def call_at(self, when, callback, *args, context=None):
"""Like call_later(), but uses an absolute time.
Absolute time corresponds to the event loop's time() method.
"""
if when is None:
raise TypeError("when cannot be None")
self._check_closed()
if self._debug:
self._check_thread()
self._check_callback(callback, 'call_at')
timer = events.TimerHandle(when, callback, args, self, context)View on GitHub (pinned to bc6749cc3b)
Solutions
- Pass a numeric delay (seconds) to loop.call_later(delay, callback); use 0 to schedule as soon as possible instead of None.
When it happens
Trigger: Raised when call_later() is invoked with delay=None.
Common situations: See trigger scenarios.
AI-assisted analysis of python/cpython@bc6749cc3b (2026-08-14).
Data as JSON: /api/errors/0a0f6a02358a8746.
Report an issue: GitHub.