Posts

Post marked as solved
8 Replies
Interesting. Looks like there is a shell entry in the Makefile and Docker Desktop is hung. Restarting docker engine frees the pipe. Mystery solved. ❯ lsof -c make COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME make 99480 pan_and_scan cwd DIR 1,4 1312 137640208 /Users/pan_and_scan/repos/dlr/mercury make 99480 pan_and_scan txt REG 1,4 436000 394462061 /Applications/Xcode.app/Contents/Developer/usr/bin/make make 99480 pan_and_scan 0u CHR 16,4 0t1117558 1467 /dev/ttys004 make 99480 pan_and_scan 1 PIPE 0xe7c678c3a315df77 16384 ->0x38f87768519d5616 make 99480 pan_and_scan 2u CHR 16,4 0t1117558 1467 /dev/ttys004 make 99480 pan_and_scan 3r REG 1,4 8265 445364825 /Users/pan_and_scan/repos/dlr/mercury/Makefile make 99480 pan_and_scan 4 PIPE 0x478605bcbc5309bf 16384 ->0x53f5a15df6bf83c7 ❯ lsof | rg 0x478605bcbc5309bf COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME make 99480 pan_and_scan 4 PIPE 0x478605bcbc5309bf 16384 ->0x53f5a15df6bf83c7 docker 99487 pan_and_scan 1 PIPE 0x53f5a15df6bf83c7 16384 ->0x478605bcbc5309bf docker 99487 pan_and_scan 4 PIPE 0x478605bcbc5309bf 16384 ->0x53f5a15df6bf83c7 com.docke 99488 pan_and_scan 1 PIPE 0x53f5a15df6bf83c7 16384 ->0x478605bcbc5309bf com.docke 99488 pan_and_scan 4 PIPE 0x478605bcbc5309bf 16384 ->0x53f5a15df6bf83c7 ❯ lsof | rg 0xe7c678c3a315df77 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME Python 99479 pan_and_scan 3 PIPE 0x38f87768519d5616 16384 ->0xe7c678c3a315df77 Python 99479 pan_and_scan 5 PIPE 0xe7c678c3a315df77 16384 ->0x38f87768519d5616 make 99480 pan_and_scan 1 PIPE 0xe7c678c3a315df77 16384 ->0x38f87768519d5616 Python 99481 pan_and_scan 0 PIPE 0x38f87768519d5616 16384 ->0xe7c678c3a315df77
Post marked as solved
8 Replies
Here is the output: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME make 29609 pan_and_scan cwd DIR 1,4 1280 137640208 /Users/pan_and_scan/repos/me/myrepo make 29609 pan_and_scan txt REG 1,4 436000 394462061 /Applications/Xcode.app/Contents/Developer/usr/bin/make make 29609 pan_and_scan 0u CHR 16,4 0t475564 1241 /dev/ttys004 make 29609 pan_and_scan 1u CHR 16,4 0t475564 1241 /dev/ttys004 make 29609 pan_and_scan 2u CHR 16,4 0t475564 1241 /dev/ttys004 make 29609 pan_and_scan 3r REG 1,4 8265 445364825 /Users/pan_and_scan/repos/me/myrepo/Makefile make 29609 pan_and_scan 4 PIPE 0x679b693239084285 16384 ->0x113baff81831caff
Post marked as solved
8 Replies
The example above appears to work fine. It could be related to the specific file descriptor as you mentioned above. Additional information: It works correctly for some period of time after reboot. Once it gets in to this situation, the only way to clear it is to reboot. Appears to also occur with Homebrew gmake. I'm also see an issue where a service I have created to write output to a file on a regular interval also timeout. Here is the service definition and the script to reproduce: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.stonehengelabs.pan_and_scan.update_status</string> <key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin</string> </dict> <key>Program</key> <string>/Users/pan_and_scan/bin/update_status.sh</string> <key>StartInterval</key> <integer>1</integer> </dict> </plist> #!/bin/sh # -------------------------------------------------- # Docker Machine Configuration # -------------------------------------------------- function docker_status() { # -------------------------------------------------- # Minikube Configuration # -------------------------------------------------- local DOCKER_SOURCE=`kubectl config get-contexts --no-headers=true | grep '^*'| awk '{print $2}'` # -------------------------------------------------- # Print running docker processes # -------------------------------------------------- echo "===========================================================" > ~/.data/docker_status.md echo "Docker Status - ${DOCKER_SOURCE} - $(date)" >> ~/.data/docker_status.md echo "===========================================================" >> ~/.data/docker_status.md /Applications/Docker.app/Contents/Resources/bin/docker stack services atlantis 2>&1 >> ~/.data/docker_status.md } # cat ~/.data/docker_status.md ################################################## # Export Status ################################################## docker_status