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

New traceback with 0.2.5 - error: integer out of range for 'L' format code #557

Closed
opoplawski opened this Issue Mar 6, 2019 · 10 comments

Comments

Projects
None yet
2 participants
@opoplawski
Copy link

commented Mar 6, 2019

  • Which version of Ansible are you running?
    ansible-2.7.8-1.el7.noarch

  • Have you tried the latest master version from Git?
    no

  • Mention your host and target OS and versions
    ansible-pull on CentOS 7.6

This is new with 0.2.5:

TASK [Gathering Facts] *********************************************************
Wednesday 06 March 2019  07:43:03 -0800 (0:00:00.248)       0:00:00.248 *******
ERROR! [pid 367380] 07:43:03.734398 E mitogen: mitogen.service.Pool(0x7f21a60d18d0, size=32, th='mitogen.service.Pool.7f21a60d18d0.worker-0'): while invoking u'get' of u'ansible_mitogen.services.ContextService'
Traceback (most recent call last):
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/mitogen/service.py", line 544, in _on_service_call
return invoker.invoke(method_name, kwargs, msg)
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/mitogen/service.py", line 274, in invoke
response = self._invoke(method_name, kwargs, msg)
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/mitogen/service.py", line 260, in _invoke
ret = method(**kwargs)
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/ansible_mitogen/services.py", line 467, in get
reraise(*result)
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/ansible_mitogen/services.py", line 425, in _wait_or_start
response = self._connect(key, spec, via=via)
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/ansible_mitogen/services.py", line 377, in _connect
context = method(via=via, unidirectional=True, **spec['kwargs'])
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/mitogen/parent.py", line 2134, in local
return self.connect(u'local', **kwargs)
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/mitogen/parent.py", line 2097, in connect
**mitogen.core.Kwargs(kwargs))
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/mitogen/parent.py", line 2078, in _connect
stream.connect()
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/mitogen/parent.py", line 1380, in connect
self.pid, fd, diag_fd = self.start_child()
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/mitogen/parent.py", line 1354, in start_child
return self.create_child(args, **self.create_child_args)
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/mitogen/parent.py", line 350, in create_child
**extra
File "/root/.ansible/pull/kronos.mry.nwra.com/mitogen-0.2.5/mitogen/parent.py", line 302, in detach_popen
proc = subprocess.Popen(preexec_fn=preexec_fn, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
error: integer out of range for 'L' format code
An exception occurred during task execution. To see the full traceback, use -vvv. The error was:     raise child_exception
@opoplawski

This comment has been minimized.

Copy link
Author

commented Mar 6, 2019

Only seeing this on a few hosts so far.

@dw

This comment has been minimized.

Copy link
Owner

commented Mar 6, 2019

Most likely they're 32 bit hosts.. I've quite literally just pushed 0.2.6 to PyPI, it includes a fix :) https://mitogen.readthedocs.io/en/latest/changelog.html#v0-2-6-2019-03-06

Thanks a ton for reporting this anyway! And please let me know if it's still broken for you in 0.2.6.

@dw dw closed this Mar 6, 2019

@opoplawski

This comment has been minimized.

Copy link
Author

commented Mar 6, 2019

They are x86_64 hosts, but I'll try with 0.2.6

@dw dw reopened this Mar 6, 2019

@dw

This comment has been minimized.

Copy link
Owner

commented Mar 6, 2019

In 0.2.6 those fields were forced to be signed 64-bit, so no munging should be required for the thread ID or instance ID (both of which might be negative after IIRC Python applies its hash randomization).

But this hadn't manifested on 64-bit before. Are they Intel machines? It's possible it was pure luck this only turned up on ARM the first time around

@dw

This comment has been minimized.

Copy link
Owner

commented Mar 6, 2019

This might be an entirely different issue -- it's not Latch, it's subprocess. Please don't waste time retesting yet, this looks like something different to what I just said :(

@dw

This comment has been minimized.

Copy link
Owner

commented Mar 6, 2019

It's the process affinity code

@dw

This comment has been minimized.

Copy link
Owner

commented Mar 6, 2019

How many CPUs in the machines that failed?

@opoplawski

This comment has been minimized.

Copy link
Author

commented Mar 6, 2019

80

dw added a commit that referenced this issue Mar 6, 2019

@dw dw closed this in c6f4dc3 Mar 6, 2019

dw added a commit that referenced this issue Mar 6, 2019

Merge remote-tracking branch 'origin/dmw'
* origin/dmw:
  docs: update Changelog; closes #557.
  issue #557: support correct cpu_set_t size
@dw

This comment has been minimized.

Copy link
Owner

commented Mar 6, 2019

Hi Orion,

This is on master. There should be another release within weeks. Apologies for the inconvenience, and please let me know if you have any more issues. Thanks again!

@opoplawski

This comment has been minimized.

Copy link
Author

commented Mar 6, 2019

This patch seems to have done the trick. Thanks for the extremely fast fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.