On Thu, Nov 24, 2016 at 04:55:28AM +0000, Jerome BENOIT wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > Hello Again, > > On 24/11/16 02:52, Jerome BENOIT wrote: > > > > > > On 23/11/16 09:59, Bill Allombert wrote: > >> Can you generate a full strace dump ? > > > > Yes. Unfortunately I have not yet succeeded to decipher them. > > > > There is a `Broken pipe' somewhere. > > The piping seems to be related to the uncompresion of a `manual.siz.gx'. > > There are a myriad of processes: the messages around the `Broken pipe' are: > > execve("/bin/gunzip", ["gunzip"], [/* 90 vars */]) = 0 > [...] > rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0 > rt_sigaction(SIGHUP, NULL, {SIG_IGN, [], 0}, 8) = 0 > rt_sigaction(SIGPIPE, NULL, {SIG_IGN, [], 0}, 8) = 0 > rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0 > rt_sigaction(SIGXCPU, NULL, {SIG_DFL, [], 0}, 8) = 0 > rt_sigaction(SIGXFSZ, NULL, {SIG_IGN, [], 0}, 8) = 0 > rt_sigaction(SIGINT, {0x4035c0, [INT TERM XCPU], SA_RESTORER, > 0x7eff302e1040}, NULL, 8) = 0 > rt_sigaction(SIGTERM, {0x4035c0, [INT TERM XCPU], SA_RESTORER, > 0x7eff302e1040}, NULL, 8) = 0 > rt_sigaction(SIGXCPU, {0x4035c0, [INT TERM XCPU], SA_RESTORER, > 0x7eff302e1040}, NULL, 8) = 0 > ioctl(0, TCGETS, 0x7ffef9ddf1c0) = -1 ENOTTY (Inappropriate ioctl for > device) > fstat(0, {st_mode=S_IFREG|0644, st_size=171476, ...}) = 0 > read(0, > "\37\213\10\0\0\0\0\0\2\3\244\\\331\222\324H\226}\317\257\220\345\274T\233\1\346\3732c\363\240"..., > 32768) = 32768 > brk(NULL) = 0x669000 > brk(0x68a000) = 0x68a000 > write(1, "#SIXFORMAT GapDocGAP\nHELPBOOKIN"..., 32768) = 32768 > write(1, ".4-1\", [ 20, 4, 1 ], 98, 246, \"l"..., 32768) = 32768 > write(1, " \"35.3-5\", [ 35, 3, 5 ], 310, 46"..., 32768) = 16384 > - --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=9643, si_uid=1000} > --- > write(1, "033[101X\", \"41.10-2\", \n [ 4"..., 16384) = -1 EPIPE (Broken > pipe) > - --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=9643, si_uid=1000} > --- > write(2, "\ngzip: ", 7) = 7 > write(2, "stdout: Broken pipe\n", 20) = 20 > rt_sigprocmask(SIG_BLOCK, [INT TERM XCPU], [], 8) = 0 > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 > lseek(0, 0, SEEK_CUR) = 32768 > close(0) = 0 > close(1) = 0 > close(2) = 0 > exit_group(1) = ? > +++ exited with 1 +++ > > [[/bin/gunzip is in fact a shell script that wraps `gzip -d' ]] > > It looks like that it happens what is described in the following link: > > https://blog.nelhage.com/2010/02/a-very-subtle-bug/ > > that is to say, python/sage manipulates SIGPIPE in such a way that any gzip > piping > becomes hazardous.
Can you confirm that 'CloseStream(stream);' is the call that trigger the SIGPIPE ? In which case this can be worked around. Cheers -- Bill. <ballo...@debian.org> Imagine a large red swirl here.