-
Notifications
You must be signed in to change notification settings - Fork 203
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
/dev/fd/
support
#1267
Comments
This doesn't work because |
Which is actually bad. I think we need to implement these pseudo-dirs to operate on FDs sooner than later... |
Should be easy, we already have them in |
/dev/fd/
support
There's currently no dentry associated w/ the paths of the pipes created during this process substitution. So even if we have |
First, let's switch to Linux-level terms, "process substitution" is a Bash-specific feature ;) So, you're talking here about support for named pipes? (I think we support them?) Or that we don't create
Not sure what do you mean here. |
Yes, this is what I meant. I.e., if we do a |
Hmm, it seem to work only partially, we create an entry there, but without a proper bash-5.0# ls -la <(echo 123) /proc/self/fd/63
ls: cannot access '/dev/fd/63': No such file or directory
ls: /proc/self/fd/63: Function not implemented
lrwxrwxrwx 1 0 0 0 Jan 1 1970 /proc/self/fd/63 -> pipe:[?]
bash-5.0# cat <(echo 123) /proc/self/fd/63
cat: /dev/fd/63: No such file or directory
cat: /proc/self/fd/63: No such file or directory |
Description of the problem
I am getting below error in gramine when trying to execute process substitution with gramine. Named pipe file /dev/fd/63 is not getting detetcted by gramine:
diff: /dev/fd/63: No such file or directory
Process substitution is a form of inter-process communication that allows the input or output of a command to appear as a file. This allows programs that normally only accept files to directly read from or write to another program.
Reference: https://en.wikipedia.org/wiki/Process_substitution
Steps to reproduce
gramine 1.4
(Here, result of sort file1 is stored to named pipe file /dev/fd/63. Now this run time generated (named pipe) file acts as argument for diff command
so the given command becomes diff file2 /dev/fd/63)
Expected results
we should see the unmatched(uncommon) text out of the 2 files (as diff stands for differenciation)
Actual results
diff: /dev/fd/63: No such file or directory
process_substitution_failure_log.txt
Gramine commit hash
gramine 1.4-aefd5d0875c4fdf76edd67f5043952bdd32b0f7a
The text was updated successfully, but these errors were encountered: