RecursionError 🐍 Python

RecursionError: maximum recursion depth exceeded

A function called itself (directly or indirectly) more than ~1000 times.

Seen on: Python

Meaning

Python’s default recursion limit is 1000. Missing base cases, properties that call themselves, and __getattr__/__setattr__ loops are typical.

Common causes

  • Recursive function without a proper base case
  • @property returning self.prop instead of self._prop
  • __getattr__ referencing a missing attribute
  • Deep recursion on large data

⚡ Quick fix

  1. Check the repeating frames in the traceback
  2. Fix the base case
  3. Store property values in self._name
  4. Use iteration for deep structures

Detailed fix by platform

Python

  1. Raising sys.setrecursionlimit() only helps legitimate deep recursion and can crash the interpreter

How to diagnose

  1. Frames — Which function repeats?
  2. Base case — Is it reachable?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.