prompt-toolkit / prompt-toolkit/python-prompt-toolkit

Output blocks after 65k lines when using run_in_terminal

Open
#835 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
10.6k
Forks
815
PR merge metrics
No merged PRs in 30d

Description

Hey all,

When using run_in_terminal, the output will block forever after printing 65536 lines.
This is using the latest prompt_toolkit version (2.0.8), and python 3.

To reproduce simply run the this_blocks_after_65k_lines method:

def this_blocks_after_65k_lines():
    i = 0
    while True:
        run_in_terminal(lambda: print_formatted_text(FormattedText([('', f'{i}')])))
        i = i + 1

def this_does_not_block():
    i = 0
    while True:
        print_formatted_text(FormattedText([('', f'{i}')]))
        i = i + 1

The output will keep scrolling numbers until 65536, then it stops.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the reported this_blocks_after_65k_lines reproduction with Python 3 and prompt_toolkit 2.0.8, comparing it with this_does_not_block. Trace the run_in_terminal path and determine why output stops at 65536 lines; done means the reproducer continues printing beyond that point without blocking.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.