python / cpython

The Python programming language
https://www.python.org
Other
63.37k stars 30.33k forks source link

IDLE hangs with absurdly long __repr__s #75351

Closed df79943f-4aee-4531-a00d-c6b12816eb70 closed 7 years ago

df79943f-4aee-4531-a00d-c6b12816eb70 commented 7 years ago
BPO 31168
Nosy @terryjreedy, @mr-nfamous

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields: ```python assignee = 'https://github.com/terryjreedy' closed_at = created_at = labels = ['expert-IDLE', 'type-bug', '3.7'] title = 'IDLE hangs with absurdly long __repr__s' updated_at = user = 'https://github.com/mr-nfamous' ``` bugs.python.org fields: ```python activity = actor = 'terry.reedy' assignee = 'terry.reedy' closed = True closed_date = closer = 'terry.reedy' components = ['IDLE'] creation = creator = 'bup' dependencies = [] files = [] hgrepos = [] issue_num = 31168 keywords = [] message_count = 2.0 messages = ['300036', '300110'] nosy_count = 2.0 nosy_names = ['terry.reedy', 'bup'] pr_nums = [] priority = 'normal' resolution = 'duplicate' stage = 'resolved' status = 'closed' superseder = None type = 'behavior' url = 'https://bugs.python.org/issue31168' versions = ['Python 3.6', 'Python 3.7'] ```

df79943f-4aee-4531-a00d-c6b12816eb70 commented 7 years ago

Objects with a 500,000+ character __repr__ will cause the IDLE shell to hang and thus lose any progress on open windows. 200,000 (on a decent system) seems to be the tipping point where it can never recover.

terryjreedy commented 7 years ago

I am quite aware that tk text widgets (and probably other widgets) have line-length limitations. Which issue this duplicates depends on what action you propose. bpo-28840 proposes addressing limits in the docs. bpo-1442493 is about code changes.