Kijewski / Kijewski/pyjson5

dumps: ValueError while escaping excessively long integers

Open
#71 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Cython
Stars
179
Forks
16
PR merge metrics
No merged PRs in 30d

Description

> Input was: '0XAA444444bbbbbbbbbbbbbbbbbbbbbbbbbb444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444444444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb44444444444444444444444444444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb444444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444444444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb44444444444444444444444444444444444444444bbbbbbbddddddddddddddddddddddddddddddddddddddddddddddddbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb44444444444444444444444444444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb444444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444444444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb44444444444444444444444444444444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb44444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbb4444444444444444400000000555500000000044445444444444444bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb444444444444444444444444444410E0'
>
> ValueError: Exceeds the limit (4300 digits) for integer string conversion; use sys.set_int_max_str_digits() to increase the limit
>
> File "src/_encoder.pyx", line 294, in pyjson5.pyjson5._encode_format_string
> formatted = PyUnicode_Format(fmt, data)

Should raise a `Json5EncoderException` instead.

Contributor guide

No contributing guide indexed for this repository

Research direction

Inspect src/_encoder.pyx around line 294 and reproduce the failure with the long integer input shown in the issue. Trace the formatting path and verify that this input reports Json5EncoderException rather than exposing Python's ValueError.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.