Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LoadError: unkown opcode '\x00' #142

Open
ionelmc opened this issue May 11, 2017 · 3 comments
Open

LoadError: unkown opcode '\x00' #142

ionelmc opened this issue May 11, 2017 · 3 comments
Labels

Comments

@ionelmc
Copy link
Member

ionelmc commented May 11, 2017

I get this weird issue on Windows/PyPy5.7.1:

pypy-30-43 inst-nodeps: f:\projects\pytest-cov\.tox\dist\pytest-cov-2.5.0.zip
pypy-30-43 installed: apipkg==1.4,appdirs==1.4.3,cffi==1.10.0,colorama==0.3.9,coverage==4.3.4,execnet==1.4.1,fields==5.0.0,greenlet==0.4.12,packaging==16.8,process-tests==1.2.1,py
=1.4.33,pyparsing==2.2.0,pytest==3.0.7,pytest-capturelog==0.7,pytest-cov==2.5.0,pytest-xdist==1.16.0,readline==6.2.4.1,six==1.10.0,virtualenv==15.1.0
pypy-30-43 runtests: PYTHONHASHSEED='103'
pypy-30-43 runtests: commands[0] | pytest test_things.py -n 2 --cov --cov-report=term --max-slave-restart=0
============================= test session starts =============================
platform win32 -- Python 2.7.13[pypy-5.7.1-final], pytest-3.0.7, py-1.4.33, pluggy-0.4.0
rootdir: f:\projects\pytest-cov, inifile: setup.cfg
plugins: xdist-1.16.0, cov-2.5.0, capturelog-0.7
gw0 C / gw1 C[gw0] node down: Traceback (most recent call last):
  File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\execnet\gateway_base.py", line 841, in _local_receive
    data = loads_internal(data, channel, strconfig)
  File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\execnet\gateway_base.py", line 1350, in loads_internal
    return Unserializer(io, channelfactory, strconfig).load()
  File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\execnet\gateway_base.py", line 1160, in load
    "wire protocol corruption?" % (opcode,))
LoadError: unkown opcode '\x00' - wire protocol corruption?

Slave restarting disabled
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\main.py", line 98, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\main.py", line 132, in _main
INTERNALERROR>     config.hook.pytest_collection(session=session)
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "<remote exec>", line 43, in pytest_collection
INTERNALERROR>   File "<remote exec>", line 25, in sendevent
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\execnet\gateway_base.py", line 716, in send
INTERNALERROR>     raise IOError("cannot send to %r" % (self,))
INTERNALERROR> IOError: cannot send to <Channel id=1 closed>
[gw1] node down: Traceback (most recent call last):
  File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\execnet\gateway_base.py", line 841, in _local_receive
    data = loads_internal(data, channel, strconfig)
  File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\execnet\gateway_base.py", line 1350, in loads_internal
    return Unserializer(io, channelfactory, strconfig).load()
  File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\execnet\gateway_base.py", line 1160, in load
    "wire protocol corruption?" % (opcode,))
LoadError: unkown opcode '\x00' - wire protocol corruption?

Slave restarting disabled
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\main.py", line 98, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\main.py", line 132, in _main
INTERNALERROR>     config.hook.pytest_collection(session=session)
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\vendored_packages\pluggy.py", line 745, in __call__
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\vendored_packages\pluggy.py", line 339, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\vendored_packages\pluggy.py", line 334, in <lambda>
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\_pytest\vendored_packages\pluggy.py", line 614, in execute
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "<remote exec>", line 43, in pytest_collection
INTERNALERROR>   File "<remote exec>", line 25, in sendevent
INTERNALERROR>   File "f:\projects\pytest-cov\.tox\pypy-30-43\site-packages\execnet\gateway_base.py", line 716, in send
INTERNALERROR>     raise IOError("cannot send to %r" % (self,))
INTERNALERROR> IOError: cannot send to <Channel id=1 closed>

Any clues as to what is wrong?

@RonnyPfannschmidt
Copy link
Member

At first glace it looks like ecexnet doesn't work with that python version

@ionelmc
Copy link
Member Author

ionelmc commented Feb 18, 2019

FYI still broken on pypy2 7.0.0

@nicoddemus
Copy link
Member

Hmm while we do test execnet with pypy, unfortunately its job is allowed to fail. 😞

clrpackages pushed a commit to clearlinux-pkgs/pytest-cov that referenced this issue May 4, 2019
… on multiple signals. Also fix incorrect handling for default handlers of INT/TERM.

Alexander Shadchin (1):
      Skip hook if cov disabled (#263)

Daniel Hahler (16):
      tox.ini: do not use "pytest" inside of "{posargs}" (#255)
      Update docs/subprocess-support.rst
      Update docs/subprocess-support.rst
      Update docs/subprocess-support.rst
      Add "testing" extras_require, use it in tox (#266)
      tests: set PYTHONPATH via session scoped fixture
      tests: minor code style fixes
      flake8: remove excludes
      reqs: testing: use process-tests==2.0.2 again (#272)
      ci: Travis: dist=xenial
      fixup! ci: Travis: dist=xenial
      tox: do not force py34 with check/clean/…
      tox: do not set basepython at all
      adjust ci/templates/.travis.yml
      ci: revisit templates
      ci: test only pytest 3 and 4.3

Ionel Cristian M?rie? (2):
      Skip a bunch of stuff on windows+pypy - it's broken, see pytest-dev/pytest-xdist#142
      Use travispls instead - travis_wait is so broken ...

Ionel Cristian Mărieș (52):
      Fix appveyor env. Revert accidental removal of bootstrap.py changes.
      Revert unnecessary changes.
      Bump.
      Call the previous handler if any and do the default handling if not ignored. Should fix #261.
      Add cleanup_on_signal and allow registering cleanup on multiple signals. Also fix incorrect handling for default handlers of INT/TERM.
      Bump.
      Stop using multiprocess finalizers. Better document workarounds for unclean subprocess exits.
      Rename file.
      Remove the note about windows completely.
      Well ... bring back the finalizer, but make the cleanup reentrant.
      Remove this attribute and rely on pytest_cov.embed's internal storage. Fixes regression (cleanup don't take no argument no more).
      Ignore SIG_DFL (lil regression).
      Avoid doubly registering the signal handler (so the previous handler is not lost).
      Add missing global.
      Add a test for #250.
      Add a windows specific test.
      Some renaming to better reflect what is actually tested.
      Add few more multiprocessing tests and change some details for skips.
      Correct some assertions. Revert bogus change.
      Run this fewer times. Maybe travis too slow for such heavy test.
      Rework a bit the mp pool integration tests to generate a line of code for each iteration (more precise). Also spawns a bit less workers.
      Some cleanup.
      Skip this on windows/pypy (xdist broken).
      Extend assertion a bit.
      Change the docs again to reflect the current implementation.
      Fix escaping.
      Use travis_wait (mainly for pypy which often times out).
      Don't run pypy3 on Windows.
      Skip the terminate tests on PyPy and remove travispls (doesn't work on Python2).
      Remove the automatic SIGTERM handler install from the afterfork
      Avoid having stray tracers around. This fixes an "AssertionError: Expected current collector to be <Collector at ...: CTracer>, but it's <Collector at ...: CTracer>" error (caused by the embed.cleanup running way too late).
      Avoid writing bogus data files from dead coverage tracers.
      Allow COV_CORE_SOURCE to be empty (it'd be converted to None). Also update docs regarding using pytest-cov with other pytest plugins.
      Fix cleanup leaving unusable state.
      Always skip this on PyPy as it sometimes fail with `error: release unlocked lock` and the goal of this test was rather to assert that combining is done in the right place not that xdist works well on pypy.
      Recreate the examples to solve common user problems regarding cov data aggregation and layout.
      Add a CLI reference section. Close #169.
      Fix the manifest collecting garbage from examples.
      Document how to use it with tox. Close #170.
      Minor fixes/cleanup.
      Correct punctuation/capitalization.
      Add ci for examples.
      Make it look prettier in travis.
      Sort imports and improve docstrings, esp. on `--cov`. Ref #282.
      Bump test deps.
      Add pytest 4.4 to test grid.
      Update changelog.
      Completely move xdist pins in tox.ini. Fixes incorrect installs during testing.
      Forgot the examples.
      Bump version: 2.6.1 → 2.7.0
      Fix manifest.
      Bump version: 2.7.0 → 2.7.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants