Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"UNHANDLED TASK ERROR: TaskFailedException" when running extra tests #859

Closed
topolarity opened this issue Oct 9, 2024 · 1 comment · Fixed by JuliaLang/julia#56589
Closed

Comments

@topolarity
Copy link
Contributor

This looks like a silent failure potentially: https://github.com/timholy/Revise.jl/actions/runs/11161822679/job/31025180765#step:9:69

1.6 CI looks fine, but it's present on multiple OS's for 1.9, 1.11, and nightly

@timholy
Copy link
Owner

timholy commented Oct 21, 2024

Yeah, this has been there for a long time. If memory serves, it came from more recent Julia's being picky about exiting with unfinished Tasks; those tests start a repl. When I last looked, and it seemed that the solution was to insert a mechanism into the REPL to allow an external agent to trigger an exit. I.e., eval_next_input[] || return nothing. I'm not sure if anyone would ever launch more than one repl task, but ideally that might be a kwarg rather than a global.

Keno added a commit that referenced this issue Nov 18, 2024
Keno added a commit to JuliaLang/julia that referenced this issue Nov 18, 2024
This was added in #12568 to protect against a segfault after `close(stdin)`.
However, the API is not great, because the stdin closing is an asynchronous
event, so there isn't really any way to use this API without inccurring
an error. Further, it already returns an error code of whether or not
the action suceeded, and it's bad practice to have two ways for an operation
to fail. Remove the error check and handle a closed stream gracefully returning
an EOF error. In all users in Base, this EOF error is ignored, but we will
gracefully check for EOF later and shut down the REPL, which is the desired
behavior.

Fixes timholy/Revise.jl#859
vtjnash pushed a commit to JuliaLang/julia that referenced this issue Nov 18, 2024
This was added in #12568 to protect against a segfault after
`close(stdin)`. However, the API is not great, because the stdin closing
is an asynchronous event, so there isn't really any way to use this API
without inccurring an error. Further, it already returns an error code
of whether or not the action suceeded, and it's bad practice to have two
ways for an operation to fail. Remove the error check and handle a
closed stream gracefully returning an EOF error. In all users in Base,
this EOF error is ignored, but we will gracefully check for EOF later
and shut down the REPL, which is the desired behavior.

Fixes timholy/Revise.jl#859
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 a pull request may close this issue.

2 participants