Ticket #486 (new defect)
creating a Queue from a multiprocessing.Manager sometimes crashes
| Reported by: | aargri@… | Owned by: | htgoebel |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Hooks | Version: | develop |
| Severity: | normal | Keywords: | multiprocessing queue hooks |
| Cc: |
Description
The following test program will crash for me about once every six runs. It seems like pyinstaller is having trouble extracting a module from an archive, but since this doesn't happen on every run, this bug is a little scary.
#!/usr/bin/python import multiprocessing if __name__ == "__main__": multiprocessing.freeze_support() manager = multiprocessing.Manager() queue = manager.Queue()
This is the full traceback. Note that the actual error string ("incorrect header check" in this case) differs from run to run; I have also seen "invalid literal/lengths set" and "invalid bit length repeat".
Traceback (most recent call last):
File "<string>", line 8, in <module>
File "/Users/overviewer/agrif/tests/build/pyi.darwin/manager_test/outPYZ1.pyz/multiprocessing.managers", line 634, in temp
File "/Users/overviewer/agrif/tests/build/pyi.darwin/manager_test/outPYZ1.pyz/multiprocessing.managers", line 532, in _create
File "/Users/overviewer/agrif/tests/build/pyi.darwin/manager_test/outPYZ1.pyz/multiprocessing.connection", line 140, in Client
File "/Users/overviewer/agrif/tests/build/pyi.darwin/manager_test/outPYZ1.pyz/multiprocessing.connection", line 369, in answer_challenge
File "/Users/overviewer/agrif/pyinstaller/PyInstaller/loader/iu.py", line 449, in importHook
mod = _self_doimport(nm, ctx, fqname)
File "/Users/overviewer/agrif/pyinstaller/PyInstaller/loader/iu.py", line 518, in doimport
mod = director.getmod(nm)
File "/Users/overviewer/agrif/pyinstaller/PyInstaller/loader/iu.py", line 309, in getmod
mod = owner.getmod(nm)
File "/Users/overviewer/agrif/pyinstaller/PyInstaller/loader/archive.py", line 426, in getmod
rslt = self.pyz.extract(nm)
File "/Users/overviewer/agrif/pyinstaller/PyInstaller/loader/archive.py", line 336, in extract
obj = zlib.decompress(obj)
zlib.error: Error -3 while decompressing data: incorrect header check
Line 369 in multiprocessing.connection, the line that triggers this apparent import error, is import hmac on my system. I should also add that in the larger program that first triggered this bug, sometimes it would raise a different exception about an invalid message digest, as though the hmac module did not import correctly.
I am running pyinstaller SVN, revision 1899, on OS X 10.6.2 with Python 2.6.1 and XCode 3.2. If you need any more information I would be happy to provide it.

experiencing the exact issue