2016-04-18 1 views
2

Quelle est la signification de cette erreur paradoxale?subprocess.CalledProcessError: état de sortie non nul 0

subprocess.CalledProcessError: Command '/home/travis/build/fritzo/pomagma/build/debug/src/cartographer/cartographer' returned non-zero exit status 0

Il arrive quand je commence un sous-processus, puis dire que le sous-processus pour sortir proprement via une prise ZMQ. Il semble que, bien que zmq interroge, le processus se termine proprement (code de sortie 0), puis cette erreur est déclenchée.

est ici l'ensemble retraçage (d'un travis log):

Traceback (most recent call last): 
    File "/home/travis/virtualenv/python2.7_with_system_site_packages/bin/pomagma.make", line 9, in <module> 
    load_entry_point('pomagma==0.2.8', 'console_scripts', 'pomagma.make')() 
    File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/parsable.py", line 181, in dispatch 
    dispatch(argv) 
    File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/parsable.py", line 129, in dispatch 
    parser(*args, **kwargs) 
    File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/parsable.py", line 64, in parser 
    fun(*typed_args, **typed_kwargs) 
    File "/home/travis/build/fritzo/pomagma/pomagma/make.py", line 130, in test_atlas 
    _test_atlas(theory) 
    File "/home/travis/build/fritzo/pomagma/pomagma/make.py", line 59, in _test_atlas 
    assert actual_size == expected_size 
    File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__ 
    self.gen.next() 
    File "/home/travis/build/fritzo/pomagma/pomagma/cartographer/__init__.py", line 14, in load 
    client.stop() 
    File "/home/travis/build/fritzo/pomagma/pomagma/cartographer/client.py", line 207, in stop 
    self._call(request) 
    File "/home/travis/build/fritzo/pomagma/pomagma/cartographer/client.py", line 35, in _call 
    self._poll_callback() 
    File "/home/travis/build/fritzo/pomagma/pomagma/cartographer/server.py", line 66, in check 
    self.log_error() 
    File "/home/travis/build/fritzo/pomagma/pomagma/cartographer/server.py", line 73, in log_error 
    raise CalledProcessError(self._proc.poll(), BINARY) 
subprocess.CalledProcessError: Command '/home/travis/build/fritzo/pomagma/build/debug/src/cartographer/cartographer' returned non-zero exit status 0 

Répondre

0

Selon les docs, si votre sous-processus retourne non-zéro, alors il soulèvera cette exception. C'est aussi la convention standard sous Linux. https://docs.python.org/2/library/subprocess.html

Essayez d'inclure votre code client subprocess essayer: < ...> hic: < ...> enfin: sys.exit (0)

+0

Mais le processus ne retourne pas non nul: il renvoie 0. Que se passe-t-il? – fritzo