Regression in handling of `xxx | grep > /dev/null`
markusthoemmes opened this issue · comments
Description
There used to be an issue with piping grep
to /dev/null
, which was fixed via #9736. However, it seems to have come back in a different form in that the respective call seems to never return at all and just hang.
@nixprime FYI.
Steps to reproduce
Apply the following deployment and observe it never becoming ready. It doesn't even print any logs (it should be printing some basic info about the memory available etc.). My runsc config was as follows:
log_path = "/var/log/runsc/%ID%/shim.log"
log_level = "debug"
[runsc_config]
systemd-cgroup = "true"
platform = "systrap"
strace = "true"
debug = "true"
debug-log = "/var/log/runsc/%ID%/gvisor.%COMMAND%.log"
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
spec:
minReadySeconds: 10
replicas: 1
selector:
matchLabels:
app-component: web
template:
metadata:
labels:
app-component: web
spec:
automountServiceAccountToken: false
containers:
- env:
- name: CNB_PROCESS_TYPE
value: web
- name: PORT
value: "8080"
image: markusthoemmes/php-regression
imagePullPolicy: IfNotPresent
name: web
ports:
- containerPort: 8080
name: http-8080
protocol: TCP
readinessProbe:
failureThreshold: 9
periodSeconds: 10
successThreshold: 1
tcpSocket:
port: 8080
timeoutSeconds: 1
restartPolicy: Always
runtimeClassName: gvisor-systrap
I can try to minimize the example some more if necessary, but the strace
output below seems to indicate the offender being grep
+ /dev/null
pretty clearly.
runsc version
runsc --version
runsc version release-20240212.0-20-gbfd27a1e43cb
spec: 1.1.0-rc.1
docker version (if using docker)
No response
uname
Linux pool-apps-appworkload-dedicated-c-4-o6omr 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64 GNU/Linux
kubectl (if using Kubernetes)
No response
repo state (if built from source)
No response
runsc debug logs (if available)
I think this might be the most interesting spot. I'm guessing we're in https://github.com/heroku/heroku-buildpack-php/blob/6c579f59f0d1b3e47d8bd90e8784c4c5a3851625/bin/heroku-php-apache2#L301 (which is where we used to fail out with an error before the original bug fix)
...
I0222 10:13:31.948498 4574 strace.go:570] [ 40( 39): 40( 39)] httpd E newfstatat(AT_FDCWD /workspace, 0x557e4c2c8580 /app/.heroku/php/var/apache2/log/, 0x7efb6a6f7620, 0x0)
I0222 10:13:31.948636 4574 strace.go:608] [ 40( 39): 40( 39)] httpd X newfstatat(AT_FDCWD /workspace, 0x557e4c2c8580 /app/.heroku/php/var/apache2/log/, 0x7efb6a6f7620 {dev=35, ino=76, mode=S_IFDIR|0o755, nlink=2, uid=1000, gid=1000, rdev=0, size=4096, blksize=4096, blocks=8, atime=2024-02-22 10:12:12.115088658 +0000 UTC, mtime=1980-01-01 00:00:01 +0000 UTC, ctime=2024-02-22 10:12:12.107088401 +0000 UTC}, 0x0) = 0 (0x0) (113.375µs)
I0222 10:13:31.948669 4574 strace.go:570] [ 40( 39): 40( 39)] httpd E newfstatat(AT_FDCWD /workspace, 0x557e4c2c85d8 /app/.heroku/php/var/apache2/log/, 0x7efb6a6f7610, 0x0)
I0222 10:13:31.948698 4574 strace.go:608] [ 40( 39): 40( 39)] httpd X newfstatat(AT_FDCWD /workspace, 0x557e4c2c85d8 /app/.heroku/php/var/apache2/log/, 0x7efb6a6f7610 {dev=35, ino=76, mode=S_IFDIR|0o755, nlink=2, uid=1000, gid=1000, rdev=0, size=4096, blksize=4096, blocks=8, atime=2024-02-22 10:12:12.115088658 +0000 UTC, mtime=1980-01-01 00:00:01 +0000 UTC, ctime=2024-02-22 10:12:12.107088401 +0000 UTC}, 0x0) = 0 (0x0) (14.791µs)
D0222 10:13:31.948740 4574 usertrap_amd64.go:212] [ 40( 39): 40( 39)] Found the pattern at ip 7ed717314a70:sysno 1
D0222 10:13:31.948750 4574 usertrap_amd64.go:122] [ 40( 39): 40( 39)] Allocate a new trap: 0xc00077a900 33
D0222 10:13:31.948760 4574 usertrap_amd64.go:225] [ 40( 39): 40( 39)] Apply the binary patch addr 7ed717314a70 trap addr 69a50 ([184 1 0 0 0 15 5] -> [255 36 37 80 154 6 0])
I0222 10:13:31.948794 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 "Loaded Modules:\n", 0x10)
I0222 10:13:31.948817 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x10) = 16 (0x10) (12.232µs)
I0222 10:13:31.948861 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06000 "Loaded Modules:\n", 0x18000) = 16 (0x10) (434.254738ms)
I0222 10:13:31.948866 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " core_module (static)\n", 0x16)
I0222 10:13:31.948910 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x16) = 22 (0x16) (3.984µs)
I0222 10:13:31.948956 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " so_module (static)\n", 0x14)
I0222 10:13:31.948962 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df06010, 0x18000)
I0222 10:13:31.948971 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x14) = 20 (0x14) (1.973µs)
I0222 10:13:31.948982 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06010 " core_module (static)\n so_module (static)\n", 0x18000) = 42 (0x2a) (2.55µs)
I0222 10:13:31.948993 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " http_module (static)\n", 0x16)
I0222 10:13:31.949008 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x16) = 22 (0x16) (1.604µs)
I0222 10:13:31.949024 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " mpm_event_module (static)\n", 0x1b)
I0222 10:13:31.949043 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1b) = 27 (0x1b) (1.655µs)
I0222 10:13:31.949024 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df0603a, 0x18000)
I0222 10:13:31.949068 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df0603a " http_module (static)\n mpm_event_module (static)\n", 0x18000) = 49 (0x31) (2.022µs)
I0222 10:13:31.949102 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " authn_file_module (shared)\n", 0x1c)
I0222 10:13:31.949116 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (1.282µs)
I0222 10:13:31.949117 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df0606b, 0x18000)
I0222 10:13:31.949141 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df0606b " authn_file_module (shared)\n", 0x18000) = 28 (0x1c) (1.765µs)
I0222 10:13:31.949164 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " authn_core_module (shared)\n", 0x1c)
I0222 10:13:31.949178 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (2.107µs)
I0222 10:13:31.949198 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df06087, 0x18000)
I0222 10:13:31.949217 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06087 " authn_core_module (shared)\n", 0x18000) = 28 (0x1c) (2.793µs)
I0222 10:13:31.949236 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " authz_host_module (shared)\n", 0x1c)
I0222 10:13:31.949246 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (1.295µs)
I0222 10:13:31.949260 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df060a3, 0x18000)
I0222 10:13:31.949271 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df060a3 " authz_host_module (shared)\n", 0x18000) = 28 (0x1c) (989ns)
I0222 10:13:31.949320 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df060bf, 0x18000)
I0222 10:13:31.949399 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " authz_groupfile_module (shared)\n", 0x21)
I0222 10:13:31.949422 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x21) = 33 (0x21) (6.413µs)
I0222 10:13:31.949463 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df060bf " authz_groupfile_module (shared)\n", 0x18000) = 33 (0x21) (104.967µs)
I0222 10:13:31.949519 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " authz_user_module (shared)\n", 0x1c)
I0222 10:13:31.949544 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (4.265µs)
I0222 10:13:31.949563 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df060e0, 0x18000)
I0222 10:13:31.949581 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df060e0 " authz_user_module (shared)\n", 0x18000) = 28 (0x1c) (3.004µs)
I0222 10:13:31.949615 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df060fc, 0x18000)
I0222 10:13:31.949658 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " authz_core_module (shared)\n", 0x1c)
I0222 10:13:31.949682 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (8.911µs)
I0222 10:13:31.949700 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df060fc " authz_core_module (shared)\n", 0x18000) = 28 (0x1c) (70.721µs)
I0222 10:13:31.949733 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df06118, 0x18000)
I0222 10:13:31.949785 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " access_compat_module (shared)\n", 0x1f)
I0222 10:13:31.949801 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1f) = 31 (0x1f) (2.439µs)
I0222 10:13:31.949819 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06118 " access_compat_module (shared)\n", 0x18000) = 31 (0x1f) (72.272µs)
I0222 10:13:31.949874 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df06137, 0x18000)
I0222 10:13:31.949883 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " auth_basic_module (shared)\n", 0x1c)
I0222 10:13:31.949901 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (3.655µs)
I0222 10:13:31.949919 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06137 " auth_basic_module (shared)\n", 0x18000) = 28 (0x1c) (27.411µs)
I0222 10:13:31.949952 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df06153, 0x18000)
I0222 10:13:31.949983 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " reqtimeout_module (shared)\n", 0x1c)
I0222 10:13:31.949998 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (2.47µs)
I0222 10:13:31.950014 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06153 " reqtimeout_module (shared)\n", 0x18000) = 28 (0x1c) (49.743µs)
I0222 10:13:31.950032 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " filter_module (shared)\n", 0x18)
I0222 10:13:31.950042 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x18) = 24 (0x18) (980ns)
I0222 10:13:31.950053 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df0616f, 0x18000)
I0222 10:13:31.950063 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df0616f " filter_module (shared)\n", 0x18000) = 24 (0x18) (1.035µs)
I0222 10:13:31.950080 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " deflate_module (shared)\n", 0x19)
I0222 10:13:31.950089 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x19) = 25 (0x19) (1.214µs)
I0222 10:13:31.950109 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df06187, 0x18000)
I0222 10:13:31.950129 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06187 " deflate_module (shared)\n", 0x18000) = 25 (0x19) (3.144µs)
I0222 10:13:31.950162 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df061a0, 0x18000)
I0222 10:13:31.950196 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " xml2enc_module (shared)\n", 0x19)
I0222 10:13:31.950211 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x19) = 25 (0x19) (5.76µs)
I0222 10:13:31.950229 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df061a0 " xml2enc_module (shared)\n", 0x18000) = 25 (0x19) (53.163µs)
I0222 10:13:31.950264 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df061b9, 0x18000)
I0222 10:13:31.950297 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " proxy_html_module (shared)\n", 0x1c)
I0222 10:13:31.950313 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (6.693µs)
I0222 10:13:31.950330 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df061b9 " proxy_html_module (shared)\n", 0x18000) = 28 (0x1c) (51.883µs)
I0222 10:13:31.950364 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df061d5, 0x18000)
I0222 10:13:31.950407 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " mime_module (shared)\n", 0x16)
I0222 10:13:31.950422 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x16) = 22 (0x16) (5.361µs)
I0222 10:13:31.950439 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df061d5 " mime_module (shared)\n", 0x18000) = 22 (0x16) (60.98µs)
I0222 10:13:31.950480 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df061eb, 0x18000)
I0222 10:13:31.950516 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " log_config_module (shared)\n", 0x1c)
I0222 10:13:31.950537 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (7.386µs)
I0222 10:13:31.950551 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df061eb " log_config_module (shared)\n", 0x18000) = 28 (0x1c) (58.484µs)
I0222 10:13:31.950567 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " env_module (shared)\n", 0x15)
I0222 10:13:31.950577 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x15) = 21 (0x15) (1.305µs)
I0222 10:13:31.950589 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df06207, 0x18000)
I0222 10:13:31.950600 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06207 " env_module (shared)\n", 0x18000) = 21 (0x15) (1.276µs)
I0222 10:13:31.950616 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " expires_module (shared)\n", 0x19)
I0222 10:13:31.950627 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x19) = 25 (0x19) (2.106µs)
I0222 10:13:31.950641 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df0621c, 0x18000)
I0222 10:13:31.950652 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df0621c " expires_module (shared)\n", 0x18000) = 25 (0x19) (960ns)
I0222 10:13:31.950667 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " headers_module (shared)\n", 0x19)
I0222 10:13:31.950676 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x19) = 25 (0x19) (959ns)
I0222 10:13:31.950690 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df06235, 0x18000)
I0222 10:13:31.950705 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06235 " headers_module (shared)\n", 0x18000) = 25 (0x19) (1.461µs)
I0222 10:13:31.950727 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " setenvif_module (shared)\n", 0x1a)
I0222 10:13:31.950737 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1a) = 26 (0x1a) (1.47µs)
I0222 10:13:31.950737 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df0624e, 0x18000)
I0222 10:13:31.950757 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df0624e " setenvif_module (shared)\n", 0x18000) = 26 (0x1a) (1.502µs)
I0222 10:13:31.950780 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " version_module (shared)\n", 0x19)
I0222 10:13:31.950794 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x19) = 25 (0x19) (1.528µs)
I0222 10:13:31.950810 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df06268, 0x18000)
I0222 10:13:31.950821 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06268 " version_module (shared)\n", 0x18000) = 25 (0x19) (1.065µs)
I0222 10:13:31.950840 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " remoteip_module (shared)\n", 0x1a)
I0222 10:13:31.950854 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1a) = 26 (0x1a) (1.785µs)
I0222 10:13:31.950854 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df06281, 0x18000)
I0222 10:13:31.950880 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df06281 " remoteip_module (shared)\n", 0x18000) = 26 (0x1a) (2.275µs)
I0222 10:13:31.950911 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df0629b, 0x18000)
I0222 10:13:31.950909 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " proxy_module (shared)\n", 0x17)
I0222 10:13:31.950943 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x17) = 23 (0x17) (2.361µs)
I0222 10:13:31.950962 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df0629b " proxy_module (shared)\n", 0x18000) = 23 (0x17) (28.5µs)
I0222 10:13:31.950984 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " proxy_http_module (shared)\n", 0x1c)
I0222 10:13:31.950999 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (1.507µs)
I0222 10:13:31.951019 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df062b2, 0x18000)
I0222 10:13:31.951035 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df062b2 " proxy_http_module (shared)\n", 0x18000) = 28 (0x1c) (1.452µs)
I0222 10:13:31.951057 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " proxy_fcgi_module (shared)\n", 0x1c)
I0222 10:13:31.951072 4574 strace.go:567] [ 41( 40): 41( 40)] grep E read(0x0 pipe:[43], 0x56013df062ce, 0x18000)
I0222 10:13:31.951083 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x1c) = 28 (0x1c) (2.339µs)
I0222 10:13:31.951095 4574 strace.go:605] [ 41( 40): 41( 40)] grep X read(0x0 pipe:[43], 0x56013df062ce " proxy_fcgi_module (shared)\n", 0x18000) = 28 (0x1c) (2.858µs)
I0222 10:13:31.951115 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " proxy_wstunnel_module (shared)\n", 0x20)
I0222 10:13:31.951128 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x20) = 32 (0x20) (1.338µs)
D0222 10:13:31.951145 4574 usertrap_amd64.go:212] [ 41( 40): 41( 40)] Found the pattern at ip 7ecd415261e3:sysno 275
D0222 10:13:31.951159 4574 usertrap_amd64.go:122] [ 41( 40): 41( 40)] Allocate a new trap: 0xc00069a000 24
I0222 10:13:31.951161 4574 strace.go:567] [ 40( 39): 40( 39)] httpd E write(0x1 pipe:[43], 0x557e4c2ede20 " ssl_module (shared)\n", 0x15)
D0222 10:13:31.951171 4574 usertrap_amd64.go:225] [ 41( 40): 41( 40)] Apply the binary patch addr 7ecd415261e3 trap addr 60780 ([184 19 1 0 0 15 5] -> [255 36 37 128 7 6 0])
I0222 10:13:31.951177 4574 strace.go:605] [ 40( 39): 40( 39)] httpd X write(0x1 pipe:[43], ..., 0x15) = 21 (0x15) (1.658µs)
I0222 10:13:31.951452 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951480 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (5.536µs)
I0222 10:13:31.951508 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951522 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (1.208µs)
I0222 10:13:31.951549 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951562 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (1.099µs)
I0222 10:13:31.951574 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951584 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (1.136µs)
I0222 10:13:31.951596 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951607 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (815ns)
I0222 10:13:31.951625 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951635 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (902ns)
I0222 10:13:31.951648 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951657 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (803ns)
I0222 10:13:31.951669 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951679 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (983ns)
I0222 10:13:31.951691 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951700 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (784ns)
I0222 10:13:31.951713 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951722 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (805ns)
I0222 10:13:31.951734 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951743 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (778ns)
I0222 10:13:31.951756 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951766 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (775ns)
I0222 10:13:31.951803 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951819 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (1.192µs)
I0222 10:13:31.951841 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951851 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (845ns)
I0222 10:13:31.951863 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951873 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (1.044µs)
I0222 10:13:31.951887 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951897 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (793ns)
I0222 10:13:31.951909 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951918 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (780ns)
I0222 10:13:31.951930 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951940 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (786ns)
I0222 10:13:31.951952 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951961 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (782ns)
I0222 10:13:31.951978 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.951988 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (849ns)
I0222 10:13:31.952000 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952010 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (759ns)
I0222 10:13:31.952022 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952031 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (754ns)
I0222 10:13:31.952043 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952054 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (822ns)
I0222 10:13:31.952066 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952076 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (767ns)
I0222 10:13:31.952088 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952097 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (793ns)
I0222 10:13:31.952109 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952119 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (796ns)
I0222 10:13:31.952132 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952141 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (786ns)
I0222 10:13:31.952171 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952181 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (777ns)
I0222 10:13:31.952193 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952202 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (952ns)
I0222 10:13:31.952224 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952233 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (817ns)
I0222 10:13:31.952247 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952257 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (776ns)
I0222 10:13:31.952269 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952279 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (2.07µs)
I0222 10:13:31.952291 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952301 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (771ns)
I0222 10:13:31.952316 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952326 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (891ns)
I0222 10:13:31.952339 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952348 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (771ns)
I0222 10:13:31.952361 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952370 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (765ns)
I0222 10:13:31.952383 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952392 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (803ns)
I0222 10:13:31.952404 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952413 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (791ns)
I0222 10:13:31.952426 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952435 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (778ns)
I0222 10:13:31.952447 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952457 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (788ns)
I0222 10:13:31.952469 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952481 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (908ns)
I0222 10:13:31.952501 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952511 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (816ns)
I0222 10:13:31.952523 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952532 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (781ns)
I0222 10:13:31.952545 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952554 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (771ns)
I0222 10:13:31.952567 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952576 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (812ns)
I0222 10:13:31.952588 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952597 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (764ns)
I0222 10:13:31.952610 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952619 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (743ns)
I0222 10:13:31.952635 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952655 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (10.265µs)
I0222 10:13:31.952676 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952686 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (840ns)
I0222 10:13:31.952707 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952716 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (773ns)
I0222 10:13:31.952729 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952739 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (775ns)
I0222 10:13:31.952752 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952761 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (800ns)
I0222 10:13:31.952773 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952783 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (779ns)
I0222 10:13:31.952795 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952804 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (793ns)
I0222 10:13:31.952816 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952826 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (1.009µs)
I0222 10:13:31.952838 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952847 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (790ns)
I0222 10:13:31.952860 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952869 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (795ns)
I0222 10:13:31.952882 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952892 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (1.047µs)
I0222 10:13:31.952903 4574 strace.go:576] [ 41( 40): 41( 40)] grep E splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1)
I0222 10:13:31.952914 4574 strace.go:614] [ 41( 40): 41( 40)] grep X splice(0x0 pipe:[43], 0x0, 0x1 /dev/null, 0x0, 0x18000, 0x1) = 53 (0x35) (766ns)
...
I whacked at it some more and was able to minimize the reproducer to:
Running
./workspace/.heroku/php/sbin/httpd -t -D DUMP_MODULES | grep 'proxy_fcgi_module' > /dev/null`
in this image triggers the issue reliably! It has to be a pipe from httpd
to grep
to /dev/null
. Piping the httpd
output to a file first and then cat
that doesn't trigger the issue and not piping to /dev/null
also doesn't trigger the issue.
@nixprime thanks for promptly looking at a fix. Greatly appreciated 🥳 .
Thanks for the bug reports!