[Debian-science-sagemath] GAP: issue related to compressed manual.six: PATCHES
Ximin Luo
infinity0 at debian.org
Tue Dec 6 23:11:00 UTC 2016
Ximin Luo:
> Bill Allombert:
>> On Tue, Dec 06, 2016 at 01:01:00PM +0000, Ximin Luo wrote:
>>> Bill Allombert:
>>> Hi all,
>>>
>>> Sorry I only just briefly scanned through the thread now. However I
>>> found this post relating to gzip, pipes and python:
>>>
>>> https://blog.nelhage.com/2010/02/a-very-subtle-bug/
>>>
>>> which summarises the bug report here: https://bugs.python.org/issue1652
>>
>> Yes, this is exactly the problem, and it seems it has been fixed in python 3,
>> but not in python 2.7.
>>
>
> Ok, good to know! The blog post also contains a work-around near the end, which is to add
>
> preexec_fn=lambda: signal.signal(signal.SIGPIPE, signal.SIG_DFL)
>
> as a parameter to the relevant Popen call. Presumably in this case it's wherever Sage calls GAP. Jerome, could you test?
>
Hi Bill,
I'm not sure if the above bug is the cause of this issue. I tried to reproduce it without Sage:
$ apt-cache policy gap
gap:
Installed: 4r8p6-1
Candidate: 4r8p6-1+sage17
Version table:
4r8p6-1+sage17 500
500 https://debian-science.alioth.debian.org/apt sid-sage/ Packages
*** 4r8p6-1 500
500 http://httpredir.debian.org/debian testing/main amd64 Packages
500 http://httpredir.debian.org/debian unstable/main amd64 Packages
100 /var/lib/dpkg/status
$ python -c 'import subprocess; subprocess.Popen(["gap", "-q"], stdin=subprocess.PIPE).communicate("?SymmetricGroup")'
gzip: stdout: Broken pipe
Help: several entries match this topic - type ?2 to get match [2]
[1] Reference: SymmetricGroup
[2] Reference: SymmetricGroup (for a degree)
[3] Reference: SymmetricGroup (for a domain)
$ python -c 'import signal, subprocess; subprocess.Popen(["gap", "-q"], stdin=subprocess.PIPE, preexec_fn=lambda: signal.signal(signal.SIGPIPE, signal.SIG_DFL)).communicate("?SymmetricGroup")'
Help: several entries match this topic - type ?2 to get match [2]
[1] Reference: SymmetricGroup
[2] Reference: SymmetricGroup (for a degree)
[3] Reference: SymmetricGroup (for a domain)
So as you can see, the bug is only to do with the extra "Broken pipe" error messages. However Sage fails in a different way:
$ ./sage -c 'gap.help('SymmetricGroup', pager=False)'
> /usr/lib/python2.7/dist-packages/ptyprocess/ptyprocess.py(220)spawn()
-> if use_native_pty_fork:
(Pdb) c
> /usr/lib/python2.7/dist-packages/ptyprocess/ptyprocess.py(220)spawn()
-> if use_native_pty_fork:
(Pdb) c
#W corrupted 'manual.six': ##W (in stream: InputTextFile(/usr/share/gap/doc/t\
ut/manual.six))
#W corrupted 'manual.six': ##W (in stream: InputTextFile(/usr/share/gap/doc/c\
hanges/manual.six))
#W corrupted 'manual.six': ##W (in stream: InputTextFile(/usr/share/gap/pkg/G\
APDoc/example/manual.six))
Help: no matching entry found
X
--
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git
More information about the Debian-science-sagemath
mailing list