오류: git-submodule이 신호 11로 인해 사망했습니다.

오류: git-submodule이 신호 11로 인해 사망했습니다.

FML 편집: 그래서..... 짧게 말하면, 그것은 내 bashrc 프로필에 있던 기능이었습니다... test() { npm run test $1 $2 $3 $4 ;}; 내보내기 -f 테스트

하지만!

내가 이것을 어떻게 추적했는지 물어볼 수도 있습니다.

글쎄, iosnoop을 조사한 후 iosnoop이 ??경로에 '를 제공하는 이유를 찾아보니 다음과 같은 답이 나왔습니다.https://stackoverflow.com/questions/18191708/why-iosnoop-io-snooping-files-on-disk-returns-paths-with-question-marks

나에게 이 마법의 명령을 준 것은 sudo dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'

이 명령은 모든 syscall::open*:entry. git을 어떻게 골라야 할지 잘 몰랐지만 프로세스 이름은 출력에서 ​​매우 쉽게 식별할 수 있으므로 해당 명령을 사용하여 git의 IO를 비교했습니다 sudo git submodule.git submodule

그리고 그 결과는 다음과 같았습니다.

# git submodule
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    171                       open:entry taskgated /usr/local/Cellar/git/2.21.0/bin/git
  2    171                       open:entry git /usr/local/opt/pcre2/lib/libpcre2-8.0.dylib
  2    171                       open:entry git /usr/local/opt/gettext/lib/libintl.8.dylib
  2    171                       open:entry git /dev/dtracehelper
dtrace: error on enabled probe ID 7 (ID 171: syscall::open:entry): invalid address (0x10b832652) in action #2 at DIF offset 12
  2    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  2    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_TIME
  2    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  2    957              open_nocancel:entry git .
  2    957              open_nocancel:entry git /usr/local/etc/gitconfig
  0    171                       open:entry sh /dev/dtracehelper
  4    171                       open:entry sh /dev/tty
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  0    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-submodule
  2    171                       open:entry basename /dev/dtracehelper
  4    171                       open:entry sed /dev/dtracehelper
  2    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  2    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  1    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  1    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  1    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_TIME
  1    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  2    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-sh-setup
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    171                       open:entry taskgated /usr/local/Cellar/git/2.21.0/bin/git
  4    171                       open:entry git /usr/local/opt/pcre2/lib/libpcre2-8.0.dylib
  4    171                       open:entry git /usr/local/opt/gettext/lib/libintl.8.dylib
  4    171                       open:entry git /dev/dtracehelper
dtrace: error on enabled probe ID 7 (ID 171: syscall::open:entry): invalid address (0x10f47f652) in action #2 at DIF offset 12
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  0    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-sh-i18n
  0    957              open_nocancel:entry ReportCrash /bin
sudo git submodule
  2    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  2    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  2    171                       open:entry taskgated /usr/local/Cellar/git/2.21.0/bin/git
  2    171                       open:entry git /usr/local/opt/pcre2/lib/libpcre2-8.0.dylib
  2    171                       open:entry git /usr/local/opt/gettext/lib/libintl.8.dylib
  2    171                       open:entry git /dev/dtracehelper
  6    957              open_nocancel:entry git /etc/master.passwd
  4    171                       open:entry git /dev/autofs_nowait
  4    171                       open:entry git /var/root/.CFUserTextEncoding
  4    957              open_nocancel:entry git /etc/master.passwd
  4    171                       open:entry git /dev/autofs_nowait
  4    171                       open:entry git /var/root/.CFUserTextEncoding
dtrace: error on enabled probe ID 7 (ID 171: syscall::open:entry): invalid address (0x107dd7652) in action #2 at DIF offset 12
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  4    957              open_nocancel:entry git .
  4    957              open_nocancel:entry git /usr/local/etc/gitconfig
  0    171                       open:entry sh /dev/dtracehelper
  4    171                       open:entry sh /dev/tty
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  4    957              open_nocancel:entry sh .
  4    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-submodule
  4    171                       open:entry basename /dev/dtracehelper
  2    171                       open:entry sed /dev/dtracehelper
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_TIME
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  4    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-sh-setup
  2    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  2    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  2    171                       open:entry taskgated /usr/local/Cellar/git/2.21.0/bin/git
  0    171                       open:entry git /usr/local/opt/pcre2/lib/libpcre2-8.0.dylib
  0    171                       open:entry git /usr/local/opt/gettext/lib/libintl.8.dylib
  0    171                       open:entry git /dev/dtracehelper
dtrace: error on enabled probe ID 7 (ID 171: syscall::open:entry): invalid address (0x10af1c652) in action #2 at DIF offset 12
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_TIME
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  2    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-sh-i18n
  2    171                       open:entry sh /dev/null
  2    171                       open:entry sh /opt/local/bin/gettext.sh
  0    171                       open:entry sh /dev/null
  0    171                       open:entry sh /dev/null
  4    171                       open:entry basename /dev/dtracehelper
  2    171                       open:entry sed /dev/dtracehelper
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_TIME
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  2    957              open_nocancel:entry taskgated /opt/local/bin
  2    957              open_nocancel:entry taskgated /opt/local/bin
  2    171                       open:entry taskgated /opt/local/bin/gettext
  2    171                       open:entry gettext /opt/local/lib/libintl.8.dylib
  2    171                       open:entry gettext /opt/local/lib/libiconv.2.dylib
  2    171                       open:entry gettext /dev/dtracehelper
  0    957              open_nocancel:entry taskgated /opt/local/bin
  0    957              open_nocancel:entry taskgated /opt/local/bin
  0    171                       open:entry taskgated /opt/local/bin/envsubst
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  6    171                       open:entry envsubst /opt/local/lib/libintl.8.dylib
  4    957              open_nocancel:entry gettext /opt/local/share/locale/locale.alias
  6    171                       open:entry envsubst /opt/local/lib/libiconv.2.dylib
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en_AU.UTF-8/LC_MESSAGES/git.mo
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en_AU.utf8/LC_MESSAGES/git.mo
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en_AU/LC_MESSAGES/git.mo
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en.UTF-8/LC_MESSAGES/git.mo
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en.utf8/LC_MESSAGES/git.mo
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en/LC_MESSAGES/git.mo
  6    171                       open:entry envsubst /dev/dtracehelper
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  0    957              open_nocancel:entry taskgated /opt/local/bin
  0    957              open_nocancel:entry taskgated /opt/local/bin
  0    171                       open:entry taskgated /opt/local/bin/envsubst
  6    171                       open:entry envsubst /opt/local/lib/libintl.8.dylib
  6    171                       open:entry envsubst /opt/local/lib/libiconv.2.dylib
  6    171                       open:entry envsubst /dev/dtracehelper
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_TIME
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  2    171                       open:entry uname /dev/dtracehelper
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_TIME
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    171                       open:entry taskgated /usr/local/Cellar/git/2.21.0/bin/git
  0    171                       open:entry git /usr/local/opt/pcre2/lib/libpcre2-8.0.dylib
  0    171                       open:entry git /usr/local/opt/gettext/lib/libintl.8.dylib
  0    171                       open:entry git /dev/dtracehelper
dtrace: error on enabled probe ID 7 (ID 171: syscall::open:entry): invalid address (0x101b2d652) in action #2 at DIF offset 12
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_TIME
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  0    957              open_nocancel:entry git .
  0    957              open_nocancel:entry git /usr/local/Cellar/gettext/0.19.8.1/share/locale/locale.alias
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en_AU.UTF-8/LC_MESSAGES/git.mo
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en_AU.utf8/LC_MESSAGES/git.mo
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en_AU/LC_MESSAGES/git.mo
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en.UTF-8/LC_MESSAGES/git.mo
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en.utf8/LC_MESSAGES/git.mo
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en/LC_MESSAGES/git.mo

이를 통해 각 명령의 IOps를 한 줄씩 비교할 수 있어 명령의 매우 명확한 분기점을 알 수 있습니다. 2 171 open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-sh-i18n

그래서 나는 ??/git-sh-i18n에 나노를 추가하고 echo "debug n"세그폴트가 발생한 위치를 파악하기 위해 몇 줄을 추가했습니다.

이 문제는 한 라인에서 발생하는 것으로 나타났으며 test -z충돌이 발생하지 않은 이유 sudo git submodule는 sudo가 새 셸을 열기 때문입니다.

그래서...

네.... 나중에 참고할 수 있도록.......... 이것은 오류에 대한 유일한 Google 검색 결과입니다: git-submodule dieed of signal 11

하지만 이봐, 나에겐 그 10시간의 평생이 필요하지 않았어

편집: 그래서 실행이 작동한다는 것을 알았습니다. sudo git submodule따라서 권한 오류입니다. 여기에서 읽을 수 있는 dtruss 추적을 수행했습니다.https://pastebin.com/k1qNCsTY

하지만 dtruss가 어떻게 작동하는지 전혀 모르기 때문에 어떤 fs 객체가 잘못된 권한으로 액세스하고 있는지 알 수 없습니다. 1477/0x3e98: write_nocancel(0x1, "/usr/local/Cellar/git/2.21.0/libexec/git-core\n\b\0", 0x2E) = 46 0오류가 1471/0x3e8b: write_nocancel(0x2, "error: git-submodule died of signal 11\n\0", 0x27) = 39 0발생하기 직전에 액세스를 시도하는 것처럼 보이지만 write_nocancel이 무엇을 의미하는지 모르겠습니다.

git-submodule이 내부에 있고 libexec/git-core권한은 다음과 같습니다.

lopu@lopu-pro:~/tmp/test2$ ls -l /usr/local/Cellar/git/2.21.0/libexec/git-core/ | grep submodule -rwxr-xr-x 1 lopu admin 23373 25 Feb 03:31 git-submodule

내 컴퓨터에

편집을 종료합니다.

어제부터 매우 이상한 문제가 발생했습니다.

소프트웨어 사양은

OS: OS X 10.13.4

힘내: 2.21.0

노드: 10.15.3

npm: 6.4.1

펄: 5.18.2

내가 겪고 있는 문제는 git submodule update내 시스템의 어느 곳에서나 실행하면 오류가 반환되는 문제입니다.error: git-submodule died of signal 11

Git 저장소 URL에서 npm 모듈을 설치하려고 할 때 이 오류를 발견했습니다.

예를 들어

mkdir test ; cd test ; npm init -y
npm i lopugit/test# https://github.com/lopugit/test if you want to take a look, literally an empty npm package

나에게는 이 말이 떠오른다

lopu@lopu-pro:~/tmp/test2$ npm i lopugit/test
npm ERR! code 139
npm ERR! Command failed: /usr/local/bin/git submodule update -q --init --recursive
npm ERR! error: git-submodule died of signal 11
npm ERR!

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/lopu/.npm/_logs/2019-03-31T10_48_41_525Z-debug.log
# /Users/lopu/.npm/_logs/2019-03-31T10_48_41_525Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/Users/lopu/.nvm/versions/node/v10.15.3/bin/node',
1 verbose cli   '/Users/lopu/.nvm/versions/node/v10.15.3/bin/npm',
1 verbose cli   'i',
1 verbose cli   'lopugit/test' ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session 24a6679416e47473
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 silly fetchPackageMetaData error for github:lopugit/test Command failed: /usr/local/bin/git submodule update -q --init --recursive
7 silly fetchPackageMetaData error: git-submodule died of signal 11
8 timing stage:rollbackFailedOptional Completed in 1ms
9 timing stage:runTopLevelLifecycles Completed in 2532ms
10 verbose stack Error: Command failed: /usr/local/bin/git submodule update -q --init --recursive
10 verbose stack error: git-submodule died of signal 11
10 verbose stack
10 verbose stack     at ChildProcess.exithandler (child_process.js:294:12)
10 verbose stack     at ChildProcess.emit (events.js:189:13)
10 verbose stack     at maybeClose (internal/child_process.js:970:16)
10 verbose stack     at Socket.stream.socket.on (internal/child_process.js:389:11)
10 verbose stack     at Socket.emit (events.js:189:13)
10 verbose stack     at Pipe._handle.close (net.js:597:12)
11 verbose cwd /Users/lopu/tmp/test2
12 verbose Darwin 17.5.0
13 verbose argv "/Users/lopu/.nvm/versions/node/v10.15.3/bin/node" "/Users/lopu/.nvm/versions/node/v10.15.3/bin/npm" "i" "lopugit/test"
14 verbose node v10.15.3
15 verbose npm  v6.4.1
16 error code 139
17 error Command failed: /usr/local/bin/git submodule update -q --init --recursive
17 error error: git-submodule died of signal 11
18 verbose exit [ 1, true ]

Perl일지도 모른다고 생각했지만 osx에서는 Perl을 업데이트할 수 없습니다. activeperl을 살펴봤지만 이는 git이 사용하는 Perl 버전을 변경하는 것을 의미합니다.

이것이 무엇인지 아는 사람이 있습니까?

나는 이것을 사용하여 Perl을 수정해 보았습니다. sudo perl -MCPAN -e 'CPAN::Shell->notest(install => CPAN::Shell->r)'

앱 스토어를 통해 xcode를 업데이트합니다.

Perl 문제라고 생각하게 만드는 것은 Perl을 업그레이드하려고 할 때 Brewperl을 설치하려고 했는데 설치 후 이 명령을 실행하게 되었다는 것입니다.

brewperl install-5.18.1

이 오류 로그 파일을 가져오는 중

Auto-guessed '5.18.1'
patching Configure
patching ext/Errno/Errno_pm.PL
sh: line 1:  2709 Segmentation fault: 11  sh Configure -de '-Dprefix=/Users/lopu/perl5/perlbrew/perls/perl-5.18.1' '-A'eval:scriptdir=/Users/lopu/perl5/perlbrew/perls/perl-5.18.1/bin''
##### Brew Failed #####

나는 또한 dtruss 추적을 수행했고 이것을 얻었습니다

https://pastebin.com/k1qNCsTY

30000명의 슈퍼유저 문자 제한을 위반했습니다.

sudo로 실행하면 작동하게 되는데, 권한 문제인 게 틀림없어요.....

답변1

.bashrc간단히 말해서 내 프로필 에는 다음과 같은 기능이 있었습니다 .

test() { npm run test $1 $2 $3 $4 ;}; export -f test

하지만!

내가 이것을 어떻게 추적했는지 물어볼 수도 있습니다.

글쎄, iosnoop을 조사한 후 iosnoop이 ??경로에 '를 제공하는 이유를 찾아보니 다음과 같은 답이 나왔습니다.https://stackoverflow.com/questions/18191708/why-iosnoop-io-snooping-files-on-disk-returns-paths-with-question-marks

나에게 이 마법의 명령을 준 것은 sudo dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'

이 명령은 모든 syscall::open*:entry. git을 어떻게 골라야 할지 잘 몰랐지만 프로세스 이름은 출력에서 ​​매우 쉽게 식별할 수 있으므로 해당 명령을 사용하여 git의 IO를 비교했습니다 sudo git submodule.git submodule

그리고 그 결과는 다음과 같았습니다.

# git submodule
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    171                       open:entry taskgated /usr/local/Cellar/git/2.21.0/bin/git
  2    171                       open:entry git /usr/local/opt/pcre2/lib/libpcre2-8.0.dylib
  2    171                       open:entry git /usr/local/opt/gettext/lib/libintl.8.dylib
  2    171                       open:entry git /dev/dtracehelper
dtrace: error on enabled probe ID 7 (ID 171: syscall::open:entry): invalid address (0x10b832652) in action #2 at DIF offset 12
  2    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  2    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_TIME
  2    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  2    957              open_nocancel:entry git .
  2    957              open_nocancel:entry git /usr/local/etc/gitconfig
  0    171                       open:entry sh /dev/dtracehelper
  4    171                       open:entry sh /dev/tty
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  0    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-submodule
  2    171                       open:entry basename /dev/dtracehelper
  4    171                       open:entry sed /dev/dtracehelper
  2    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  2    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  1    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  1    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  1    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_TIME
  1    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  2    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-sh-setup
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    171                       open:entry taskgated /usr/local/Cellar/git/2.21.0/bin/git
  4    171                       open:entry git /usr/local/opt/pcre2/lib/libpcre2-8.0.dylib
  4    171                       open:entry git /usr/local/opt/gettext/lib/libintl.8.dylib
  4    171                       open:entry git /dev/dtracehelper
dtrace: error on enabled probe ID 7 (ID 171: syscall::open:entry): invalid address (0x10f47f652) in action #2 at DIF offset 12
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  0    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-sh-i18n
  0    957              open_nocancel:entry ReportCrash /bin
sudo git submodule
  2    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  2    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  2    171                       open:entry taskgated /usr/local/Cellar/git/2.21.0/bin/git
  2    171                       open:entry git /usr/local/opt/pcre2/lib/libpcre2-8.0.dylib
  2    171                       open:entry git /usr/local/opt/gettext/lib/libintl.8.dylib
  2    171                       open:entry git /dev/dtracehelper
  6    957              open_nocancel:entry git /etc/master.passwd
  4    171                       open:entry git /dev/autofs_nowait
  4    171                       open:entry git /var/root/.CFUserTextEncoding
  4    957              open_nocancel:entry git /etc/master.passwd
  4    171                       open:entry git /dev/autofs_nowait
  4    171                       open:entry git /var/root/.CFUserTextEncoding
dtrace: error on enabled probe ID 7 (ID 171: syscall::open:entry): invalid address (0x107dd7652) in action #2 at DIF offset 12
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  4    957              open_nocancel:entry git .
  4    957              open_nocancel:entry git /usr/local/etc/gitconfig
  0    171                       open:entry sh /dev/dtracehelper
  4    171                       open:entry sh /dev/tty
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry sh /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  4    957              open_nocancel:entry sh .
  4    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-submodule
  4    171                       open:entry basename /dev/dtracehelper
  2    171                       open:entry sed /dev/dtracehelper
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_TIME
  0    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  4    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-sh-setup
  2    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  2    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  2    171                       open:entry taskgated /usr/local/Cellar/git/2.21.0/bin/git
  0    171                       open:entry git /usr/local/opt/pcre2/lib/libpcre2-8.0.dylib
  0    171                       open:entry git /usr/local/opt/gettext/lib/libintl.8.dylib
  0    171                       open:entry git /dev/dtracehelper
dtrace: error on enabled probe ID 7 (ID 171: syscall::open:entry): invalid address (0x10af1c652) in action #2 at DIF offset 12
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_TIME
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  2    171                       open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-sh-i18n
  2    171                       open:entry sh /dev/null
  2    171                       open:entry sh /opt/local/bin/gettext.sh
  0    171                       open:entry sh /dev/null
  0    171                       open:entry sh /dev/null
  4    171                       open:entry basename /dev/dtracehelper
  2    171                       open:entry sed /dev/dtracehelper
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_TIME
  6    957              open_nocancel:entry sed /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  2    957              open_nocancel:entry taskgated /opt/local/bin
  2    957              open_nocancel:entry taskgated /opt/local/bin
  2    171                       open:entry taskgated /opt/local/bin/gettext
  2    171                       open:entry gettext /opt/local/lib/libintl.8.dylib
  2    171                       open:entry gettext /opt/local/lib/libiconv.2.dylib
  2    171                       open:entry gettext /dev/dtracehelper
  0    957              open_nocancel:entry taskgated /opt/local/bin
  0    957              open_nocancel:entry taskgated /opt/local/bin
  0    171                       open:entry taskgated /opt/local/bin/envsubst
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry gettext /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  6    171                       open:entry envsubst /opt/local/lib/libintl.8.dylib
  4    957              open_nocancel:entry gettext /opt/local/share/locale/locale.alias
  6    171                       open:entry envsubst /opt/local/lib/libiconv.2.dylib
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en_AU.UTF-8/LC_MESSAGES/git.mo
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en_AU.utf8/LC_MESSAGES/git.mo
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en_AU/LC_MESSAGES/git.mo
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en.UTF-8/LC_MESSAGES/git.mo
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en.utf8/LC_MESSAGES/git.mo
  4    171                       open:entry gettext /usr/local/Cellar/git/2.21.0/share/locale/en/LC_MESSAGES/git.mo
  6    171                       open:entry envsubst /dev/dtracehelper
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_TIME
  4    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  0    957              open_nocancel:entry taskgated /opt/local/bin
  0    957              open_nocancel:entry taskgated /opt/local/bin
  0    171                       open:entry taskgated /opt/local/bin/envsubst
  6    171                       open:entry envsubst /opt/local/lib/libintl.8.dylib
  6    171                       open:entry envsubst /opt/local/lib/libiconv.2.dylib
  6    171                       open:entry envsubst /dev/dtracehelper
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_TIME
  6    957              open_nocancel:entry envsubst /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  2    171                       open:entry uname /dev/dtracehelper
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_COLLATE
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_MONETARY
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_NUMERIC
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_TIME
  0    957              open_nocancel:entry uname /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    957              open_nocancel:entry taskgated /usr/local/Cellar/git/2.21.0/bin
  0    171                       open:entry taskgated /usr/local/Cellar/git/2.21.0/bin/git
  0    171                       open:entry git /usr/local/opt/pcre2/lib/libpcre2-8.0.dylib
  0    171                       open:entry git /usr/local/opt/gettext/lib/libintl.8.dylib
  0    171                       open:entry git /dev/dtracehelper
dtrace: error on enabled probe ID 7 (ID 171: syscall::open:entry): invalid address (0x101b2d652) in action #2 at DIF offset 12
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_MESSAGES/LC_MESSAGES
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_TIME
  0    957              open_nocancel:entry git /usr/share/locale/en_AU.UTF-8/LC_CTYPE
  0    957              open_nocancel:entry git .
  0    957              open_nocancel:entry git /usr/local/Cellar/gettext/0.19.8.1/share/locale/locale.alias
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en_AU.UTF-8/LC_MESSAGES/git.mo
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en_AU.utf8/LC_MESSAGES/git.mo
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en_AU/LC_MESSAGES/git.mo
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en.UTF-8/LC_MESSAGES/git.mo
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en.utf8/LC_MESSAGES/git.mo
  0    171                       open:entry git /usr/local/Cellar/git/2.21.0/share/locale/en/LC_MESSAGES/git.mo

이를 통해 각 명령의 IOps를 한 줄씩 비교할 수 있어 명령의 매우 명확한 분기점을 알 수 있습니다. 2 171 open:entry sh /usr/local/Cellar/git/2.21.0/libexec/git-core/git-sh-i18n

그래서 나는 ??/git-sh-i18n에 나노를 추가하고 echo "debug n"세그폴트가 발생한 위치를 파악하기 위해 몇 줄을 추가했습니다.

이 문제는 한 라인에서 발생하는 것으로 나타났으며 test -z충돌이 발생하지 않은 이유 sudo git submodule는 sudo가 새 셸을 열기 때문입니다.

그래서...

네.... 나중에 참고할 수 있도록.......... 이것은 오류에 대한 유일한 Google 검색 결과입니다: git-submodule dieed of signal 11

하지만 이봐, 나에겐 그 10시간의 평생이 필요하지 않았어

관련 정보