Message246063
The lower range for this bug may be anything greater than 32 bit maxint. Other modules such as multiprocessing are limited passing objects of size 32 bit maxint, even on 64 bit systems, likely due to this issue. I have demonstrated this by modifying multiprocessing/connection.py to use longs in send and recv, which it surfaces the following error (note that read is os.read).
Traceback (most recent call last):
File "/usr/lib/python3.4/multiprocessing/process.py", line 254, in _bootstrap
self.run()
File "/usr/lib/python3.4/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.4/multiprocessing/pool.py", line 103, in worker
initializer(*initargs)
File "/usr/local/lib/python3.4/dist-packages/gensim-0.11.1_1-py3.4-linux-x86_64.egg/gensim/models/ldamulticore.py", line 266, in worker_e_step
chunk_no, chunk, worker_lda = input_queue.get()
File "/usr/lib/python3.4/multiprocessing/queues.py", line 96, in get
res = self._recv_bytes()
File "/usr/lib/python3.4/multiprocessing/connection.py", line 216, in recv_bytes
buf = self._recv_bytes(maxlength)
File "/usr/lib/python3.4/multiprocessing/connection.py", line 420, in _recv_bytes
return self._recv(size)
File "/usr/lib/python3.4/multiprocessing/connection.py", line 383, in _recv
chunk = read(handle, remaining)
OverflowError: signed integer is greater than maximum
Which can be traced back to this cpython code:
https://github.com/python/cpython/blob/3.4/Modules/posixmodule.c#L8048-L8065 |
|
Date |
User |
Action |
Args |
2015-07-02 05:27:49 | Brian Mingus | set | recipients:
+ Brian Mingus |
2015-07-02 05:27:49 | Brian Mingus | set | messageid: <1435814869.69.0.586441983811.issue24550@psf.upfronthosting.co.za> |
2015-07-02 05:27:49 | Brian Mingus | link | issue24550 messages |
2015-07-02 05:27:48 | Brian Mingus | create | |
|