Bug #21703
closedRUBY_CRASH_REPORT does not work when shelling out in some cases
Description
GitHub PR: https://github.com/ruby/ruby/pull/15292
RUBY_CRASH_REPORT does not work in some cases when shelling out on Linux. For example, given the following shell script dump.sh:
#!/usr/bin/env bash
cat > /tmp/crash
And we see it fails like this:
$ RUBY_CRASH_REPORT="|dump.sh" ruby -rfiddle -e "Fiddle::Pointer.new(1, 10)[0]"
cat: -: Resource temporarily unavailable
Updated by peterzhu2118 (Peter Zhu) 4 months ago
- Status changed from Open to Closed
Applied in changeset git|190b017fc6c21ff7b61c2b5ece0294785e4a4ca2.
Don't use non blocking pipes for RUBY_CRASH_REPORT
[Bug #21703]
RUBY_CRASH_REPORT does not work in some cases when shelling out on Linux.
For example, given the following shell script dump.sh:
#!/usr/bin/env bash
cat > /tmp/crash
And we see it fails like this:
$ RUBY_CRASH_REPORT="|dump.sh" ruby -rfiddle -e "Fiddle::Pointer.new(1, 10)[0]"
cat: -: Resource temporarily unavailable
Updated by k0kubun (Takashi Kokubun) 4 months ago
- Backport changed from 3.2: DONTNEED, 3.3: REQUIRED, 3.4: REQUIRED to 3.2: DONTNEED, 3.3: REQUIRED, 3.4: DONE
ruby_3_4 a2ba1478e8c6a810c0fa08695a48f95ef5c29c45 merged revision(s) 190b017fc6c21ff7b61c2b5ece0294785e4a4ca2.
Updated by hsbt (Hiroshi SHIBATA) 8 days ago
ยท Edited
- Backport changed from 3.2: DONTNEED, 3.3: REQUIRED, 3.4: DONE to 3.2: DONTNEED, 3.3: DONE, 3.4: DONE
ruby_3_3 83637aea6ea726f7fc4c17e56ac60c289e2d98db merged revision(s) 190b017fc6c21ff7b61c2b5ece0294785e4a4ca2.
Updated by hsbt (Hiroshi SHIBATA) 8 days ago
- Backport changed from 3.2: DONTNEED, 3.3: DONE, 3.4: DONE to 3.2: DONTNEED, 3.3: REQUIRED, 3.4: DONE
Unfortunately, 83637aea6ea726f7fc4c17e56ac60c289e2d98db is failure with Linux platform.
https://github.com/ruby/ruby/actions/runs/23475240114/job/68306538815
I reverted that for ruby_3_3 branch.