[users at bb.net] Buildbot-worker 0.9.3 fails to start on Windows

Grzegorz Antoniak ga at anadoxin.org
Tue Jan 17 08:59:24 UTC 2017


Hello Pierre and Neil,

Thank you for both answers. Especially the `appveyor.yml` file was
helpful. I've managed to get buildbot-worker v0.9.3 running on
Python v2.7.6.

I'll add some details in case someone will stumble upon this thread in
the future:

The patch I wrote about in my original mail turned out to be necessary
only when the environment is missing the NUMBER_OF_PROCESSORS
environment variable. It appears that this variable is used by
<python2.7>/lib/multiprocessing/__init__.py, which uses it inside the
implementation of the `cpu_count` function. If this variable is missing,
the function throws NotImplementedError instead of returning a default
of 1 cpu, and `buildbot-worker` doesn't catch this exception.

While I understand that a missing NUMBER_OF_PROCESSORS variable is a
problem on my side, I think buildbot-worker also might have a bug in
this case, because Python documentation states that `cpu_count()`
function is allowed to throw an exception. I think it might be a good
idea to catch it in the code, and set worker's CPU count to 1, if it
will occur.

Anyway, setting the correct NUMBER_OF_PROCESSORS variable fixed the
problem for me.

Thank you for your help,
Grzegorz Antoniak

On Mon, Jan 16, 2017 at 09:28:20AM -0600, Neil Gilmore wrote:
> Hi everyone,
>
> Our Windows workers are generally running on 2.7.12, with a few older back
> to 2.7.6 (I think, I'm too lazy to look). We start them using ssh under
> Cygwin, if that matters to you. However, the few running a release version
> are running 0.9.1. The others are running 0.9.9rc2(?) or so. I don't recall
> any significant patches. We aren't running any masters on Windows.
>
> Neil Gilmore
> grammatech.com
>
> On 1/16/2017 8:25 AM, Pierre Tardy wrote:
> >Hi,
> >
> >Buildbot at the moment only works with python 2.
> >We are working at the python3 port but it is not quite ready (I'm hoping
> >we can have worker support for 0.9.4 thanks to the great work from Craig)
> >
> >As per the Windows support, we are supporting windows by running unit test
> >suite and integration suite on appveyor.
> >However, according to our statistics, we have no user accepting to send
> >info to the statistic server and running windows. :-(
> >So I cannot say "it works, we have people running it". We are however
> >interested in having windows users, and are willing to help as much as we
> >can.
> >
> >You can see on the appveyor.yml how we install pywin32 and other buildbot
> >dependencies:
> >https://github.com/buildbot/buildbot/blob/master/appveyor.yml#L13
> >
> >Let us know.
> >Pierre
> >
> >
> >Le lun. 16 janv. 2017 à 12:15, Grzegorz Antoniak <ga at anadoxin.org
> ><mailto:ga at anadoxin.org>> a écrit :
> >
> >    Hello,
> >
> >    I would like to know what is the preferred version of Python for
> >    running
> >    buildbot-worker on Windows?
> >
> >    Currently I'm trying 0.9.3 on Python 3.6, but it fails with an error:
> >
> >        File "C:\python36\lib\site-packages\twisted\spread\pb.py",
> >    line 1076 [...]
> >            m.update(password)
> >        builtins.TypeError: Unicode-objects must be encoded before hashing
> >
> >    I've also tried 0.9.2 and 0.9.1, same error.
> >
> >    I've tried to install 0.9.3 on Python 2.7, but it failed with this
> >    error:
> >
> >        File "c:\python27\lib\site-packages\buildbot_worker\base.py",
> >    line 315[...]
> >            self.numcpus = multiprocessing.cpu_count()
> >        File "c:\python27\lib\multiprocessing\__init__.py", line 136,
> >    in cpu_count
> >            raise NotImplementedError('cannot determine number of cpus')
> >        exceptions.NotImplementedError: cannot determine number of cpus
> >
> >    I've checked the documentation for `multiprocessing.cpu_count`, and it
> >    says that this function can throw NotImplementedError, as it
> >    happens on
> >    my machine. I've added a simple patch to catch this exception in
> >    `base.py` around line 315, the error was gone and the worker started
> >    successfully, but now I'm having some problems installing `pywin32`
> >    (which are not related to this mailing list) so the worker is
> >    still not
> >    fully operational.
> >
> >    So I'm wondering, what is the Python setup of the developers? Which
> >    version of Python is known to work on Windows without any patches?
> >
> >    Regards,
> >    Grzegorz Antoniak


More information about the users mailing list