[Debian-science-sagemath] GAP: issue related to compressed manual.six: PATCHES: reproducing issue

Jerome BENOIT calculus at rezozer.net
Wed Dec 7 23:32:57 UTC 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hello Again, finally I could reproduce the issue with the current sagemath material
(and the unpatched gap and libgap-sage packages as funishes in unstable).

On 07/12/16 05:45, Jerome BENOIT wrote:
> Hello,
> 
> On 07/12/16 02:45, Ximin Luo wrote:
>> However, as far as I call tell, these do not cause any failures. In
>> fact, I haven't been able to reproduce these Sage GAP failures that
>> this bug is supposed to be about. Could you please copy and paste the
>> test failures here, so that I know what I am supposed to be looking
>> for?
> 
> I could reproduce the failures with the following command, from the debian source folder:
> 
> $ ( cd sage; ./sage -t -d --long src/sage/interfaces/gap.py )
> 
> Right now I cannot because I deleted my former schroot environment, and the former procedure
> seems not to work in the current one.
> 
> In fact you may want to trace it:
> 
> $ mkdir /tmp/sage-gap-debug
> $ ( cd sage ; strace -o  /tmp/sage-gap-debug -ff ./sage -t -d --long src/sage/interfaces/gap.py ; )
> 
> You may also want to uncomment the second bottom line in ./debian/build/usr/share/sage/ext/gap/sage.g
> 
> Keep in mind that the test launches a multitude of jobs, so we are in a sea of EPIPE so to speak.
> 
> 

First I did:

$ DEB_BUILD_PROFILES=pkg.sagemath.ccache DEB_BUILD_OPTIONS="parallel=4 nodoc nocheck" debian/rules build

then

$ export SAGE_LOCAL=$(pwd)/debian/build/usr          
$ export PYTHONPATH=$(pwd)/debian/build/usr/lib/python2.7/dist-packages
$ export SAGE_SPKG_INST=$(pwd)/sage/local/var/lib/sage/installed
$ export SAGE_ROOT=$(pwd)/sage

Now

$ ( cd sage; ./sage -t --long src/sage/interfaces/gap.py )

gives

- --8><----------------------------------------------------------------------------------------------------
too few successful tests, not using stored timings
Running doctests with ID 2016-12-07-22-53-50-76d2b9d7.
Using --optional=optional,sage
Doctesting 1 file.
sage -t --long src/sage/interfaces/gap.py
**********************************************************************
File "src/sage/interfaces/gap.py", line 1319, in sage.interfaces.gap.Gap.help
Failed example:
    print(gap.help('SymmetricGroup', pager=False))
Exception raised:
    Traceback (most recent call last):
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/doctest/forker.py", line 498, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/doctest/forker.py", line 861, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.interfaces.gap.Gap.help[0]>", line 1, in <module>
        print(gap.help('SymmetricGroup', pager=False))
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/gap.py", line 1334, in help
        line = Expect.eval(self, "? %s"%s)
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/expect.py", line 1297, in eval
        for L in code.split('\n') if L != ''])
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/gap.py", line 772, in _eval_line
        raise RuntimeError(message)
    RuntimeError: Gap produced error output
    Error, no method found! For debugging hints type ?Recovery from NoMethodFound
    Error, no 1st choice method found for `+' on 2 arguments

       executing ? SymmetricGroup
**********************************************************************
File "src/sage/interfaces/gap.py", line 1665, in sage.interfaces.gap.GapFunctionElement._sage_doc_
Failed example:
    print(gap(4).SymmetricGroup._sage_doc_())
Exception raised:
    Traceback (most recent call last):
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/doctest/forker.py", line 498, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/doctest/forker.py", line 861, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.interfaces.gap.GapFunctionElement._sage_doc_[0]>", line 1, in <module>
        print(gap(Integer(4)).SymmetricGroup._sage_doc_())
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/gap.py", line 1674, in _sage_doc_
        help = M.help(self._name, pager=False)
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/gap.py", line 1334, in help
        line = Expect.eval(self, "? %s"%s)
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/expect.py", line 1297, in eval
        for L in code.split('\n') if L != ''])
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/gap.py", line 772, in _eval_line
        raise RuntimeError(message)
    RuntimeError: Gap produced error output
    Error, no method found! For debugging hints type ?Recovery from NoMethodFound
    Error, no 1st choice method found for `+' on 2 arguments

       executing ? SymmetricGroup
**********************************************************************
File "src/sage/interfaces/gap.py", line 1683, in sage.interfaces.gap.GapFunction._sage_doc_
Failed example:
    print(gap.SymmetricGroup._sage_doc_())
Exception raised:
    Traceback (most recent call last):
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/doctest/forker.py", line 498, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/doctest/forker.py", line 861, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.interfaces.gap.GapFunction._sage_doc_[0]>", line 1, in <module>
        print(gap.SymmetricGroup._sage_doc_())
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/gap.py", line 1692, in _sage_doc_
        help = M.help(self._name, pager=False)
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/gap.py", line 1334, in help
        line = Expect.eval(self, "? %s"%s)
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/expect.py", line 1297, in eval
        for L in code.split('\n') if L != ''])
      File "/forge/sagemath/container-11/sagemath/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/gap.py", line 772, in _eval_line
        raise RuntimeError(message)
    RuntimeError: Gap produced error output
    Error, no method found! For debugging hints type ?Recovery from NoMethodFound
    Error, no 1st choice method found for `+' on 2 arguments

       executing ? SymmetricGroup
**********************************************************************
3 items had failures:
   1 of   2 in sage.interfaces.gap.Gap.help
   1 of   2 in sage.interfaces.gap.GapFunction._sage_doc_
   1 of   2 in sage.interfaces.gap.GapFunctionElement._sage_doc_
    [236 tests, 3 failures, 29.61 s]
- ----------------------------------------------------------------------
sage -t --long src/sage/interfaces/gap.py  # 3 doctests failed
- ----------------------------------------------------------------------
Total time for all tests: 37.9 seconds
    cpu time: 3.2 seconds
    cumulative wall time: 29.6 seconds
- -----------------------------------------------------------------------------------------------><8--


To see what happens on the GAP side, you can begin by uncommenting the seconf bottom line of

debian/build/usr/share/sage/ext/gap/sage.g

namely:

# LogTo("/tmp/gapsage.log"); 

to

LogTo("/tmp/gapsage.log");


The obtained /tmp/gapsage.log is cacophonous and contains arbitrary bytes .

If you strace the test as follows

$ mkdir /tmp/DEBUG
$  ( cd sage; strace -o /tmp/DEBUG/sage-inter-gap -ff ./sage -t --long src/sage/interfaces/gap.py )

you can more easily catch the `Broken pipe' among one of the nearly 200 strace outputs.

Meanwhile you can split the /tm/gapsage.log trace/log file by replacing the uncommented `LogTo("/tmp/gapsage.log");'
by the following GAP code:


===8><---------------------------------------------------------------------------------------------------------------------------------------------

SAGELOGIDXNAME:="/tmp/gapsage.idx";;
if IsReadableFile(SAGELOGIDXNAME) then
	SAGELOGIDXSTREAM:=InputTextFile(SAGELOGIDXNAME);
	SAGELOBINDEX:=ReadLine(SAGELOGIDXSTREAM);
	CloseStream(SAGELOGIDXSTREAM);
	SAGELOBINDEX:=Int(SAGELOBINDEX);
	if SAGELOBINDEX = fail then SAGELOBINDEX:=0; fi;
else
	SAGELOBINDEX:=0;
fi;;
STRSAGELOBINDEX:=ReplacedString(String(SAGELOBINDEX,4)," ","0");;
SAGELOBINDEX:=SAGELOBINDEX+1;;
PrintTo(SAGELOGIDXNAME,SAGELOBINDEX);;
SAGELOGNAME:=JoinStringsWithSeparator(["/tmp/","gapsage-",STRSAGELOBINDEX,".log"],"");;
####SAGELOGNAME:=JoinStringsWithSeparator(["/tmp/","gapsage-",STRSAGELOBINDEX,"-",String(IO_getpid()),".log"],"");; #### with GAP package io
#
LogTo(SAGELOGNAME);;

- --------------------------------------------------><8===============================================================================================

Note that this very sage test does not involve libgap[-sage].

Please let me know if any precision is needed.

Thanks,
Jerome

> Jerome
> 
> 
> 
> _______________________________________________
> Debian-science-sagemath mailing list
> Debian-science-sagemath at lists.alioth.debian.org
> https://lists.alioth.debian.org/mailman/listinfo/debian-science-sagemath
> 

- -- 
Jerome BENOIT, Ph.D. | jgmbenoit-at+rezozer*dot_net
http://www.rezozer.net/

- -- 
Jerome BENOIT | calculus+at-rezozer^dot*net
https://qa.debian.org/developer.php?login=calculus@rezozer.net
AE28 AE15 710D FF1D 87E5  A762 3F92 19A6 7F36 C68B
-----BEGIN PGP SIGNATURE-----

iQQcBAEBCgAGBQJYSJwpAAoJED+SGaZ/NsaLSkMgAMPplBKcWDVxWg/XCRtOhn8T
iccdRq14KnN26bd4B+3aEfrlE8h4zDHPKBn7uTyLH8e+5r+bcyKfxt7KairPbX3T
wT9LV3nPgEReUfvMkX4Mo4RAqM1aGTts/wbM4Hdmm/n/b1GLxCu4MoK26L/rZ4HP
uw9SSDhju6P5y0zwVLmpK8Vwd8QDc9C31bOUrLoA3gkKI+JUS05jEDbzvUuc9QlP
xTmFloAwHDc+davWZhsgUFoXpL8+5PsxnfYARtaayGtQ0QEqVyHieyFM+IPql522
P/ZqkocuEsEYFhl6WRmc1bkiGmW9DY6RosC+Ehh9dX0jpzbt+LaNYMWGv4tfJmdP
BZT69c+trTPcMOdYaxDuRS0/5ZBCfaAkKrXdEt7i5M8fD5KUqRks2nohyCxEm/R3
MWciWRrYirhv6rEIjxLSti3cOs3YgZRgzIAwRdv1a4NghFxbjUKLd2SQE4WHLX19
zbFClj2RAHVjDfbYiF7QuLXq5iQ041YwtSk5P83idh9k4f7abSYoqvTdmswIhkSt
ynDEYIiHDK/OW6JqdPtYXO8IZSL2djVPkOf9Kd7NzM2rJ2f26MXfA2cgeCXMcBmS
SdvKKW95H5oJXlFl+ig8MwmlCriBs5yd+1zfh4fFSB96VK+ek85kG8guYZ+yktI1
kJ+e2FTECT75H8J5kijrS1qOOFx5tVxc0BMYDS+VTIkJaOlabRT3sBevzYM0voc4
Q37aiMt8+HtVVNtJKdd4/vVxOcZ7/3UKoUNaooh3cjL9PFVvLMl13KnrJbXYk2w8
3d8Q2FTu4LHbmvINMP9uipG1bpv2GdW5uzINmF1ePG0iDmY5XlIN50OTQdx4TYZW
IPymBmxLaZLA6z4122E7f/PCNnkA7Cq7QN3SlDzNhsWtNEFqFogJRbnQqxTJ5lz+
3dm0n6xYbdfH6X4eq3H+jYj0wooHQbTeOr6chObJNtkSMt5G8n6sCIaMoIAao2E5
SsfhtL5xKLnXe7p+l2TeFwHPLOuzGDedmadVZ3CLTL+p3l0lz514/07D1QYYxj5s
hSBPLOwGomBB8g9cN7+1eGcmk38dqjssWEguQ4T+xwICi8alDldqvvlAqQxLdh76
3U/EWJZV3dccg+DvXR0Uu1IE1QTqKel5eqogjm6Y5+1mqQ0YGzMVY/u49cBnGyWO
TTUkjvV43/io+YnUVsdLgqE6bf+ZViZcg6yC1f3Xx7/v+QkZheSwm/wQSR0lH3Zu
g5icEoKlZzWKftdO72RNAb35uVLrIWkxEH6JN0V/C4lHnt/nXrVNL60xWpoiI/Kd
51ItUTgrKrDHFytwiAm2KiH7P6acoBOIpSSGvpdlXs23Sjokd2/mRlHe4h3/zuU=
=e6ax
-----END PGP SIGNATURE-----



More information about the Debian-science-sagemath mailing list