Skip to content

Conversation

@noahcui
Copy link
Contributor

@noahcui noahcui commented Apr 18, 2025

In the original code, get_session_chains only removes items from expand_remain when a child process of the current session is found (line 370, which is inside the for loop starting at line 355).

However, there is a potential case where a session contains only a single process and does not spawn any child processes. In such cases, the corresponding process in expand_remain is never discarded.

Since the while True loop (starting at line 384) only exits when expand_current becomes empty—which never happens in this case—this results in an infinite loop.

My solution: Add logic to discard processes from expand_remain if they are not expandable (i.e., they have no children), to ensure the loop can eventually terminate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant