세분화 오류 : OS X에서 11
OSX 10.9의 Python 3.3.2에서 문제가 발생합니다. 터미널 창에서 Python을 열면 두 명령이 무엇인지에 관계없이 입력 한 두 번째 줄 후에 "Segmentation error : 11"로 종료됩니다. 예를 들어 다음을 입력하면 :
>>> for x in range(1000): print(x)
잘 작동하지만 입력하면 :
>>> for x in range(1000):
... print(x)
두 번째 줄에서 Enter 키를 누르면 오류가 발생합니다. 또한 문제없이 2 줄 이상의 스크립트를 실행할 수 있습니다.
오늘 오후에 OSX 10.9로 업데이트했기 때문에 그럴 수도 있습니다.
그러나 최근에 IPython (다른 여러 패키지와 함께)을 설치했고 지난 며칠 동안 사용 했으므로 최근에 설치 한 다른 것일 수 있습니다. configure.py를 실행 한 PyQt 설치 시도가 몇 번 실패했지만 "make"명령이 실패했고 의심 스러웠습니다.
Python 재설치를 시도했지만 문제가 해결되지 않았습니다. IPython과 IDLE 모두 문제없이 작동합니다. 나는 근본적인 문제가 무엇인지 걱정하고 있습니다.
이것은 OSX10.9에 도입 된 변경 사항과 관련된 Python의 readline 호환성 버그입니다. 이번 주말에이 버그를 수정하는 Python2.7.6 및 Python3.3.3의 릴리스 후보가 릴리스되었습니다. 다운로드 링크는 다음과 같습니다.
http://python.org/download/releases/2.7.6/
http://python.org/download/releases/3.3.3/
다음은 Ned Deily에서 인용 한 python-dev 이메일 목록에있는 문제 입니다.
화요일에 Apple은 OS X 10.9 (일명 Mavericks)를 출시했습니다. 부분적으로는 Apple이 무료로 제공하고 10.8, 10.7 및 (대부분) 10.6 시스템을 사용하는 사용자가 10.9로 직접 업그레이드하는 것을 쉽게 만들었 기 때문에 이미 많은 관심이있었습니다. 안타깝게도 OS X 10.9의 현재 유지 관리 릴리스 (3.3.2 및 2.7.5)에 가능한 한 빨리 새로운 유지 관리 릴리스가 필요한 문제가 있습니다.
하나는 대화 형 모드 ( http://bugs.python.org/issue18458). 문제는 libedit의 readline 호환성 계층에서 오랫동안 지속 된 호환성 문제로 인해 업스트림이 마침내 수정되었고 Apple은 이제 10.9에서 출시되었습니다. python.org 설치 프로그램이 libedit에 동적으로 링크되기 때문에, 히스토리 인덱싱의 원래 디자인 결함에 대한 readline.c의 원래 해결 방법은 사용자가 두 번째 명령을 대화식으로 입력 할 때 10.9에서 segfault를 발생시킵니다. 안좋다. Ronald는 런타임에 readline.so가 libedit의 두 버전 중 하나를 감지하고 작업 할 수 있도록 수정하여 여러 OS X 릴리스에서 이진 호환성을 계속 유지할 수 있도록했습니다. 이 수정 사항은 이미 3.4.0 알파 버전에서 출시되었으며 3.3 및 2.7 브랜치로 백 포트되어 릴리스를 기다리고 있습니다. 지난 12 시간 동안 사용자가보고 한 문제의 중복이 4 개 이상있었습니다. 나는' 은 10.9를 명시 적으로 언급하도록 업데이트했으며, 이제 더 이상 NDA에 포함되지 않으며, 경험이없는 사용자가 readline.so를 "제거"하여 문제를 해결할 수 있도록 다운로드 가능한 스크립트를 제공합니다. 아마도 말이 나오면 중복 된 이슈는 줄어들 겠지만 그 영향은 남을 것입니다.
OS X 10.9로 업그레이드 한 후이 문제가 발생했으며 Python 웹 사이트 ( http://bugs.python.org/issue18458#msg201087) 에 제공된 패치를 사용했습니다.
이를 사용하려면 Terminal.app (또는 다른 쉘)에서 터미널 세션을 열고 다음을 입력하십시오.
curl -O http://bugs.python.org/file32324/patch_readline_issue_18458.sh
openssl sha1 patch_readline_issue_18458.sh
# the digest should be 7cb0ff57820a027dd4ca242eb2418930f8f46b4c
그때
sh ./patch_readline_issue_18458.sh
메시지가 나타나면 암호를 입력하십시오.
나는이 문제가 있었다. chunksize
내 csv 파서를 100으로 변경하면 오류가 제거되었습니다.
비슷한 '분할 오류 11'오류가 발생했지만 저에게는 mercurial (hg)을 사용했습니다.
이것은 .mpkg 설치 프로그램을 통해 설치된 Python 2.7.8을 사용하고 OS X 10.9.5에서 mercurial을 설치하려고했습니다.
2.7.8로 업데이트하면이 문제가 해결 될 것이라고 생각했지만 mercurial은 여전히 System / Library / Frameworks / Python.framework / Versions / 2.7을 찾고있는 것 같습니다.
이 약간 어리석은 조언 을 따르려고 시도한 후에도 여전히 작동하지 않았습니다. 나는 달릴 것이다
hg init
hg add *
hg commit -m ...
hg status
'분할 오류 11'이 발생합니다.
스택 추적의 처음 두 줄은 다음을 가리 킵니다.
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 ??? 000000000000000000 0 + 0
1 osutil.so 0x00000001095ef768 listdir + 313
2 org.python.python 0x0000000109261b35 PyEval_EvalFrameEx + 14712
3 org.python.python 0x000000010925e093 PyEval_EvalCodeEx + 1641
결국 내 솔루션은 2.7.8 릴리스를 얻기 위해 homebrew 와 함께 Python을 (재) 설치 하여 나온 것 같습니다 (2014 년 12 월 기준)
그런 다음 brew install mercurial로 수은을 다시 설치했는데, 이는이 문제를 일으키는 모든 종속성을 해결 한 것으로 보입니다. 나는 Seg 결함으로 무슨 일이 일어나고 있는지 더 잘 이해하고 싶지만 그 밑바닥에 도달하지 못했습니다.
내가 여전히 가지고있는 가장 좋은 추측은 2.7.8이 올바르게 설치되고 usr / local / bin이 경로에서 첫 번째 임에도 불구하고 mercurial이 여전히 시스템 파이썬을 참조하고 있다는 것입니다.
/usr/local/bin:usr/local/git/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:~/Develop:/usr/local/git/bin: No such file or directory
So, what I'm suggesting is updating the python install with brew and then reinstalling whatever other packages you depend on.
참고URL : https://stackoverflow.com/questions/19531969/segmentation-fault-11-in-os-x
'Development Tip' 카테고리의 다른 글
Angular.js 클릭시 요소 CSS 클래스를 변경하고 다른 모든 요소를 제거하는 방법 (0) | 2020.12.02 |
---|---|
jQuery Uncaught TypeError : 정의되지 않은 'fn'속성 (익명 함수)을 읽을 수 없습니다. (0) | 2020.12.02 |
마이크로 데이터, RDFa 또는 JSON-LD 적절하거나 최상의 사용입니까? (0) | 2020.12.01 |
Angular-POST 업로드 파일 (0) | 2020.12.01 |
redux 연결 구성 요소는 언제 다시 렌더링할지 어떻게 알 수 있습니까? (0) | 2020.12.01 |