-
Notifications
You must be signed in to change notification settings - Fork 72
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
"execve: Argument list too long" should not be a Failure
#556
Labels
bug
Something isn't working
Comments
Agreed. If you want to make a PR, these lines need changing to use eio/lib_eio_linux/low_level.ml Line 524 in a6c0be9
eio/lib_eio_posix/low_level.ml Line 288 in a6c0be9
|
talex5
added a commit
to talex5/eio
that referenced
this issue
Jun 29, 2023
`readdir (dir, ".")` worked, but `readdir (dir, "")` didn't. Also, improve formatting of empty paths (`<cwd:>` becomes `<cwd>`). Fixes ocaml-multicore#556 (reported by Simon Grondin).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently, when passing arguments to a program with the new
Eio.Process
API,E2Big
errors are propagated asFailure "execve: Argument list too long"
.Programs using this API should be able to handle such an error. In my case, I am using this in an interpreter, where I would like to attach a call trace to the exception.
The current
Failure
exception effectively makes it impossible to do this robustly, since the error message is expected to be able to change at any point (which is not that unreasonable to expect in this case, since the current message is pretty misleading. The real error is that the total number of bytes is too large, not that there are too many arguments).At the very least, raising a dedicated exception would prevent
Warning 52: fragile constant pattern
when handling the error.The text was updated successfully, but these errors were encountered: