2017-09-29 2 views
-3

파이썬 코드에 다음 문을 쓸 때 세그먼트 오류가 발생합니다.moviepy.editor를 가져올 때 세그먼테이션 오류가 발생했습니다.

>>> import moviepy.editor 
Segmentation fault (core dumped) 

무엇이 문제입니까?

OS : 우분투 16.04
파이썬 : 3.6
moviepy : 0.2.3.2
는 FFmpeg :

내가 지금 gdb를 함께 디버깅하려고 3.3.4

업데이트 :

$ gdb 
(gdb) file python 
Reading symbols from python...done. 
(gdb) run test.py 

Starting program: /home/ubuntu/anaconda3/bin/python test.py 
[Thread debugging using libthread_db enabled] 
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 

Program received signal SIGSEGV, Segmentation fault. 
PyType_IsSubtype (a=0x626f6174656d5f74, b=0x7fffd9df0640 <sipVoidPtr_Type>) at Objects/typeobject.c:1357 
1357 Objects/typeobject.c: No such file or directory. 

(gdb) bt 
#0 PyType_IsSubtype (a=0x626f6174656d5f74, b=0x7fffd9df0640 <sipVoidPtr_Type>) at Objects/typeobject.c:1357 
#1 0x00007fffd9be7221 in vp_convertor() from /home/ubuntu/anaconda3/lib/python3.6/site-packages/sip.so 
#2 0x00007fffd9be7ab5 in sip_api_convert_to_void_ptr() 
    from /home/ubuntu/anaconda3/lib/python3.6/site-packages/sip.so 
#3 0x00007fffd98df29d in qpycore_init()() 
    from /home/ubuntu/anaconda3/lib/python3.6/site-packages/PyQt5/QtCore.so 
#4 0x00007fffd98c8b44 in PyInit_QtCore() 
    from /home/ubuntu/anaconda3/lib/python3.6/site-packages/PyQt5/QtCore.so 
#5 0x00007ffff7a3e55b in _PyImport_LoadDynamicModuleWithSpec (spec=0x7fffda0807f0, 
    fp=0x7fffd98c8a60 <PyInit_QtCore>) at ./Python/importdl.c:154 
#6 0x00007ffff7a3b33f in _imp_create_dynamic_impl (file=<optimized out>, spec=0x7fffda0807f0, 
    module=<optimized out>) at Python/import.c:2004 
#7 _imp_create_dynamic (module=<optimized out>, args=<optimized out>) at Python/clinic/import.c.h:289 
#8 0x00007ffff7994ca9 in PyCFunction_Call (func=0x7ffff69c8f78, args=0x7fffda080438, kwds=<optimized out>) 
    at Objects/methodobject.c:114 
#9 0x00007ffff7a20b3c in do_call_core (kwdict=0x7fffda085ee8, callargs=<optimized out>, func=0x7ffff69c8f78) 
    at Python/ceval.c:5053 
#10 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3357 
#11 0x00007ffff7a184c0 in _PyEval_EvalCodeWithName (_co=0x7ffff7e2de40, globals=<optimized out>, 
    locals=<optimized out>, args=<optimized out>, argcount=2, kwnames=0x0, kwargs=0x7fffe2c05590, kwcount=0, 
    kwstep=1, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x7ffff69ab8f0, qualname=0x7ffff69ab8f0) 
    at Python/ceval.c:4119 
#12 0x00007ffff7a19eea in fast_function (kwnames=<optimized out>, nargs=2, stack=<optimized out>, 
    func=0x7ffff7e18ea0) at Python/ceval.c:4929 
#13 call_function (pp_stack=0x7fffffff4588, oparg=<optimized out>, kwnames=<optimized out>) 
    at Python/ceval.c:4809 
#14 0x00007ffff7a1cbbd in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) 
    at Python/ceval.c:3275 
---Type <return> to continue, or q <return> to quit--- 

test.py (단 한 줄) :

import moviepy.editor 
+1

스택 오버플로에 오신 것을 환영합니다! 도움말 페이지, 특히 [Stack Overflow question checklist] (http://meta.stackexchange.com/q/156810/204922) 섹션을 읽어보십시오. [Minimal, Complete, Verifiable Examples] (http://meta.stackexchange.com/q/156810/204922) – Guenther

+0

오픈 스택에 일부 스택 추적을 추가 할 수 있습니다. 그냥 moviepy 가져 오기를 시도해보십시오. 만약 우리가 에디터 모듈을 찾는데 오류가 있고'pdb' 디버거를 사용하여 중단 점을 추가한다면'moviepy import editor에서'하려고하지 않는다면 세그멘테이션 오류를줍니다. 즉'pdb.set_trace()'를 호출 한 다음 다시 가져 오기를 시도하면 중단 점을 추가 한 위치에 도착하게됩니다. 변수 값을 검사하여 디버그하십시오. –

+0

pdb로 디버깅하려했지만 동일한 오류 메시지 ('segmentation fault (core dumped) python -m pdb test.py')가 나타납니다. 그래서 디버깅을 위해 gdb를 사용했습니다. – gaudi08

답변

0

: SIP 패키지를 업데이트하여 문제가 해결되었습니다.

관련 문제