You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi there. I was running the pure python msgpack.fallback implementation against this sample.json test file in the tencent/rapidjson repo. Packing hit a ValueError: recursion limit exceeded.
It looks like this stems from the DEFAULT_RECURSE_LIMIT. Changing to use the sys.getrecursionlimit() resolves as it has a default of 1000 in 3.10. Looking at the pyproject.toml it seems like support is >= python 3.10 so I think it should be fine to update the constant, or drop it completely in favor of just inheriting the python stack limit. An advantage of doing that is the users ability to control it with sys.setrecursionlimit(). Also then a RecursionError can be raised instead of ValueError.
Hi there. I was running the pure python
msgpack.fallbackimplementation against this sample.json test file in the tencent/rapidjson repo. Packing hit aValueError: recursion limit exceeded.It looks like this stems from the DEFAULT_RECURSE_LIMIT. Changing to use the
sys.getrecursionlimit()resolves as it has a default of 1000 in 3.10. Looking at the pyproject.toml it seems like support is >= python 3.10 so I think it should be fine to update the constant, or drop it completely in favor of just inheriting the python stack limit. An advantage of doing that is the users ability to control it withsys.setrecursionlimit(). Also then aRecursionErrorcan be raised instead ofValueError.Simple reproduction:
This works fine, but the public
Packer.packapi doesn't expose it directly:Thanks!