[Debian-science-sagemath] Sponsors needed for last uploads before stable freeze

Ximin Luo infinity0 at debian.org
Mon Jan 23 10:54:00 UTC 2017


Well, the 7.4-6 build worked, first time even. I can't guess what could have possibly caused this, in the changes I did to 7.4-7. The only other difference was I built with parallel=13 for the succesful build and parallel=12 for the unsuccessful build; the schroots were identical.

If the 7.4-7 rebuild succeeds then I'll upload that somewhere. If not then I'll hide the failure like you described. Then I'll finish with 7.4 and continue working on 7.5.

X

Tobias Hansen:
> We could also change debian/rules to allow this one test to time out.
> Since the bug might also exist in 7.4-6 that would not make anything
> worse and at least the new changes go in.
> 
> On 01/23/2017 02:05 AM, Ximin Luo wrote:
>> Ximin Luo:
>>> [..]
>>>
>>> sage -t --long src/sage/functions/wigner.py
>>>     Timed out (and interrupt failed)
>>> **********************************************************************
>>> Tests run before process (pid=1248) timed out:
>>> sage: from sage.functions.wigner import _calc_factlist ## line 59 ##
>>> sage: _calc_factlist(10) ## line 60 ##
>>> [1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800]
>>> sage: sig_on_count() # check sig_on/off pairings (virtual doctest) ## line 62 ##
>>> 0
>>> sage: wigner_3j(2, 6, 4, 0, 0, 0) ## line 87 ##
>>> sqrt(5/143)
>>> sage: wigner_3j(2, 6, 4, 0, 0, 1) ## line 89 ##
>>> 0
>>> sage: wigner_3j(0.5, 0.5, 1, 0.5, -0.5, 0) ## line 91 ##
>>> sqrt(1/6)
>>> sage: wigner_3j(40, 100, 60, -10, 60, -50) ## line 93 ##
>>> 95608/18702538494885*sqrt(21082735836735314343364163310/220491455010479533763)
>>> sage: wigner_3j(2500, 2500, 5000, 2488, 2400, -4888, prec=64) ## line 95 ##
>>> 7.60424456883448589e-12
>>> sage: wigner_3j(2.1, 6, 4, 0, 0, 0) ## line 101 ##
>>> sage: wigner_3j(2, 6, 4, 1, 0, -1.1) ## line 105 ##
>>> sage: sig_on_count() # check sig_on/off pairings (virtual doctest) ## line 162 ##
>>> 0
>>> sage: simplify(clebsch_gordan(3/2,1/2,2, 3/2,1/2,2)) ## line 241 ##
>>> [... hangs here ...]
>>>
>>> However if I log into the schroot (that is doing the build) and execute the test manually, it passes quickly:
>>>
>>> [..]
>>> sage -t --long src/sage/functions/wigner.py
>>>     [49 tests, 5.43 s]
>>> ----------------------------------------------------------------------
>>> All tests passed!
>>> [..]
>>>
>>
>> It's busy-looping inside libgc when trying to do init_ecl(), see "Details" at
>> the bottom of this email. I am not sure the best way to fix this, especially
>> since I can't reproduce it when running the tests manually. Very likely there
>> is some sort of race condition relating to running the tests in parallel, but I
>> don't have the time to track it down in detail. :/
>>
>> It's also possible that it will go away if we upgrade to ECL 16, but I don't
>> think we have the time for that.
>>
>> One option is to just ignore it and instead let 7.4-6 go into stable. I think
>> that's possible still. However, it's very probable the bug will crop up there
>> too when someone rebuilds it... I've started a rebuild of this just to check,
>> though.
>>
>> New packages
>> ============
>>
>> That is, in Debian unstable since 7.4-6 was built
>> https://buildd.debian.org/status/logs.php?pkg=sagemath
>>
>> By running `debian/show-deps.sh by-date` inside the chroot:
>>
>> Mon Jan  9 11:52:45 UTC 2017 python-olefile
>> Mon Jan  9 17:50:17 UTC 2017 libgnutls-dane0
>> Mon Jan  9 17:50:17 UTC 2017 libgnutls-openssl27
>> Mon Jan  9 17:50:17 UTC 2017 libgnutls28-dev
>> Mon Jan  9 17:50:17 UTC 2017 libgnutls30
>> Mon Jan  9 17:50:17 UTC 2017 libgnutlsxx28
>> Mon Jan  9 18:50:31 UTC 2017 libpng-dev
>> Mon Jan  9 18:50:31 UTC 2017 libpng16-16
>> Tue Jan 10 15:38:23 UTC 2017 libgl1-mesa-glx
>> Tue Jan 10 15:38:23 UTC 2017 libglapi-mesa
>> Tue Jan 10 15:38:23 UTC 2017 libosmesa6
>> Tue Jan 10 17:53:03 UTC 2017 libjs-jquery-typeahead
>> Tue Jan 10 19:28:57 UTC 2017 python-jinja2
>> Tue Jan 10 19:35:07 UTC 2017 libjs-text-encoding
>> Tue Jan 10 22:44:36 UTC 2017 python-pil
>> Wed Jan 11 09:31:13 UTC 2017 libjs-moment
>> Wed Jan 11 13:45:03 UTC 2017 libkpathsea6
>> Wed Jan 11 13:45:03 UTC 2017 libptexenc1
>> Wed Jan 11 13:45:03 UTC 2017 libsynctex1
>> Wed Jan 11 13:45:03 UTC 2017 libtexlua52
>> Wed Jan 11 13:45:03 UTC 2017 libtexluajit2
>> Wed Jan 11 13:45:03 UTC 2017 texlive-binaries
>> Wed Jan 11 19:21:48 UTC 2017 libjs-jquery-colorpicker
>> Wed Jan 11 20:33:49 UTC 2017 libgraphite2-3
>> Wed Jan 11 20:48:53 UTC 2017 python-pip
>> Wed Jan 11 20:48:53 UTC 2017 python-pip-whl
>> Thu Jan 12 14:25:19 UTC 2017 python-sympy
>> Thu Jan 12 15:52:37 UTC 2017 linux-libc-dev
>> Thu Jan 12 22:02:44 UTC 2017 libcurl3
>> Thu Jan 12 22:02:44 UTC 2017 libcurl3-gnutls
>> Sat Jan 14 09:45:31 UTC 2017 liboctave3v5
>> Sat Jan 14 09:45:31 UTC 2017 octave
>> Sat Jan 14 09:45:31 UTC 2017 octave-common
>> Sat Jan 14 10:06:04 UTC 2017 libgcrypt11-dev
>> Sat Jan 14 10:06:04 UTC 2017 libgcrypt20
>> Sat Jan 14 10:06:04 UTC 2017 libgcrypt20-dev
>> Sat Jan 14 10:41:47 UTC 2017 python-pathlib2
>> Sat Jan 14 14:31:49 UTC 2017 libxml2
>> Sat Jan 14 15:46:54 UTC 2017 icedtea-netx-common
>> Sun Jan 15 16:49:05 UTC 2017 libtiff5
>> Sun Jan 15 16:49:05 UTC 2017 libtiff5-dev
>> Sun Jan 15 16:49:05 UTC 2017 libtiffxx5
>> Sun Jan 15 22:00:02 UTC 2017 base-files
>> Sun Jan 15 23:35:20 UTC 2017 libperl5.24
>> Sun Jan 15 23:35:20 UTC 2017 perl
>> Sun Jan 15 23:35:20 UTC 2017 perl-base
>> Sun Jan 15 23:35:20 UTC 2017 perl-modules-5.24
>> Mon Jan 16 08:20:46 UTC 2017 libidn2-0
>> Mon Jan 16 12:55:35 UTC 2017 iso-codes
>> Mon Jan 16 17:43:37 UTC 2017 libc-dev-bin
>> Mon Jan 16 17:43:37 UTC 2017 libc6
>> Mon Jan 16 17:43:37 UTC 2017 libc6-dbg
>> Mon Jan 16 17:43:37 UTC 2017 libc6-dev
>> Mon Jan 16 17:43:37 UTC 2017 multiarch-support
>> Mon Jan 16 17:56:54 UTC 2017 libp11-kit-dev
>> Mon Jan 16 17:56:54 UTC 2017 libp11-kit0
>> Mon Jan 16 23:24:28 UTC 2017 libfltk-gl1.3
>> Mon Jan 16 23:24:28 UTC 2017 libfltk1.3
>> Mon Jan 16 23:45:42 UTC 2017 libgdk-pixbuf2.0-0
>> Mon Jan 16 23:45:42 UTC 2017 libgdk-pixbuf2.0-common
>> Tue Jan 17 01:29:36 UTC 2017 fakeroot
>> Tue Jan 17 01:29:36 UTC 2017 libfakeroot
>> Tue Jan 17 02:45:34 UTC 2017 tex-common
>> Tue Jan 17 16:23:34 UTC 2017 libvpx-dev
>> Tue Jan 17 16:23:34 UTC 2017 libvpx4
>> Tue Jan 17 18:13:39 UTC 2017 libtasn1-6
>> Tue Jan 17 18:13:39 UTC 2017 libtasn1-6-dev
>> Tue Jan 17 23:56:22 UTC 2017 texlive-base
>> Tue Jan 17 23:56:22 UTC 2017 texlive-latex-base
>> Wed Jan 18 13:06:44 UTC 2017 libcups2
>> Wed Jan 18 13:17:07 UTC 2017 init-system-helpers
>> Wed Jan 18 13:33:24 UTC 2017 libqhull7
>> Wed Jan 18 16:11:46 UTC 2017 cpp
>> Wed Jan 18 16:11:46 UTC 2017 g++
>> Wed Jan 18 16:11:46 UTC 2017 gcc
>> Wed Jan 18 16:11:46 UTC 2017 gfortran
>> Wed Jan 18 16:27:10 UTC 2017 libgpg-error-dev
>> Wed Jan 18 16:27:10 UTC 2017 libgpg-error0
>> Wed Jan 18 19:05:43 UTC 2017 binutils
>> Wed Jan 18 19:40:41 UTC 2017 gnupg
>> Wed Jan 18 19:40:41 UTC 2017 gnupg-agent
>> Wed Jan 18 19:40:41 UTC 2017 gpgv
>> Wed Jan 18 20:06:46 UTC 2017 libgd-dev
>> Wed Jan 18 20:06:46 UTC 2017 libgd3
>> Thu Jan 19 09:46:21 UTC 2017 docutils-common
>> Thu Jan 19 09:46:21 UTC 2017 python-docutils
>> Thu Jan 19 10:28:25 UTC 2017 gdb-python2
>> Thu Jan 19 14:11:04 UTC 2017 libpython3.5-stdlib
>> Thu Jan 19 14:11:04 UTC 2017 python3.5
>> Thu Jan 19 14:48:08 UTC 2017 libpython2.7
>> Thu Jan 19 14:48:08 UTC 2017 libpython2.7-dev
>> Thu Jan 19 14:48:08 UTC 2017 libpython2.7-stdlib
>> Thu Jan 19 14:48:08 UTC 2017 python2.7
>> Thu Jan 19 14:48:08 UTC 2017 python2.7-dev
>> Thu Jan 19 14:48:08 UTC 2017 python2.7-minimal
>> Thu Jan 19 17:02:25 UTC 2017 python-pkg-resources
>> Thu Jan 19 17:02:25 UTC 2017 python-setuptools
>> Thu Jan 19 17:02:25 UTC 2017 python3-pkg-resources
>> Thu Jan 19 17:22:49 UTC 2017 passwd
>> Fri Jan 20 00:34:19 UTC 2017 python-numpy
>> Fri Jan 20 05:36:39 UTC 2017 libxcomposite1
>> Fri Jan 20 10:03:28 UTC 2017 libpython3-stdlib
>> Fri Jan 20 10:03:28 UTC 2017 python3
>> Fri Jan 20 10:03:28 UTC 2017 python3-minimal
>> Fri Jan 20 12:58:59 UTC 2017 debconf
>> Fri Jan 20 16:33:41 UTC 2017 libmount1
>> Fri Jan 20 16:33:41 UTC 2017 libuuid1
>> Fri Jan 20 21:18:15 UTC 2017 libssl1.1
>> Fri Jan 20 21:18:15 UTC 2017 openssl
>> Sat Jan 21 17:51:03 UTC 2017 cpp-6
>> Sat Jan 21 17:51:03 UTC 2017 g++-6
>> Sat Jan 21 17:51:03 UTC 2017 gcc-6
>> Sat Jan 21 17:51:03 UTC 2017 gcc-6-base
>> Sat Jan 21 17:51:03 UTC 2017 gfortran-6
>> Sat Jan 21 17:51:03 UTC 2017 libcc1-0
>> Sat Jan 21 17:51:03 UTC 2017 libgcc-6-dev
>> Sat Jan 21 17:51:03 UTC 2017 libgcc1
>> Sat Jan 21 17:51:03 UTC 2017 libgfortran3
>> Sat Jan 21 17:51:03 UTC 2017 libgomp1
>> Sat Jan 21 17:51:03 UTC 2017 libquadmath0
>> Sat Jan 21 17:51:03 UTC 2017 libstdc++-6-dev
>> Sat Jan 21 17:51:03 UTC 2017 libstdc++6
>> Sun Jan 22 00:17:42 UTC 2017 python-sagenb
>> Sun Jan 22 02:35:45 UTC 2017 python-matplotlib
>> Sun Jan 22 02:35:45 UTC 2017 python-matplotlib-data
>>
>> Details
>> =======
>>
>> After installing the debugging tools and symbols (in the schroot):
>>
>> $ sudo apt-get install python-dbg cython-dbg ecl-dbgsym libgc1c2-dbgsym
>>
>> then manually running the `debian/rules export-build-env` stuff, we use gdb to
>> figure out we're in the correct python process (because there are many of them
>> in parallel), then we use cygdb to print some more detailed information.
>>
>> Using gdb with python
>> ---------------------
>>
>> https://wiki.python.org/moin/DebuggingWithGdb
>>
>> (unstable-i386-sbuild)infinity0 at host:/build/sagemath-ZP1Le0/sagemath-7.4/sage$ gdb python 46075
>> [..]
>> Reading symbols from python...Reading symbols from /usr/lib/debug/.build-id/41/b28b05836a808ae7dd4e567c413177923cc4b2.debug...done.
>> done.
>> Attaching to program: /usr/bin/python, process 46075
>> [New LWP 46106]
>> [..]
>> [New LWP 46117]
>> [Thread debugging using libthread_db enabled]
>> Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
>> 0xce401bc6 in ?? () from /usr/lib/i386-linux-gnu/libgc.so.1
>> (gdb) py-bt
>> Traceback (most recent call first):
>>   File "/build/sagemath-ZP1Le0/sagemath-7.4/debian/build/usr/lib/python2.7/dist-packages/sage/interfaces/maxima_lib.py", line 92, in <module>
>>     from sage.libs.ecl import EclObject, ecl_eval
>>   File "/build/sagemath-ZP1Le0/sagemath-7.4/debian/build/usr/lib/python2.7/dist-packages/sage/calculus/functional.py", line 52, in simplify
>>     return f.simplify()
>>   File "<doctest sage.functions.wigner.clebsch_gordan[0]>", line 1, in <module>
>>   File "/build/sagemath-ZP1Le0/sagemath-7.4/debian/build/usr/lib/python2.7/dist-packages/sage/doctest/forker.py", line 861, in compile_and_execute
>>     exec(compiled, globs)
>>   [.. uninteresting ..]
>>   File "/build/sagemath-ZP1Le0/sagemath-7.4/sage/src/bin/sage-runtests", line 89, in <module>
>>     err = DC.run()
>> (gdb) py-list
>>   87    from __future__ import print_function
>>   88    from __future__ import absolute_import
>>   89    
>>   90    from sage.symbolic.ring import SR
>>   91    
>>  >92    from sage.libs.ecl import EclObject, ecl_eval
>>   93    
>>   94    from .maxima_abstract import (MaximaAbstract, MaximaAbstractFunction,
>>   95      MaximaAbstractElement, MaximaAbstractFunctionElement,
>>   96      MaximaAbstractElementFunction)
>>   97    
>> (gdb) quit
>> A debugging session is active.
>>
>> 	Inferior 1 [process 46075] will be detached.
>>
>> Quit anyway? (y or n) y
>> Detaching from program: /usr/bin/python, process 46075
>>
>> Using cygdb
>> -----------
>>
>> https://cython.readthedocs.io/en/latest/src/userguide/debugging.html
>>
>> (unstable-i386-sbuild)infinity0 at host:/build/sagemath-ZP1Le0/sagemath-7.4/sage$ cygdb src/build/ -- -d src/sage -d .. python 46075
>> [..]
>> Reading symbols from python...Reading symbols from /usr/lib/debug/.build-id/41/b28b05836a808ae7dd4e567c413177923cc4b2.debug...done.
>> done.
>> Attaching to program: /usr/bin/python, process 46075
>> [New LWP 46106]
>> [..]
>> [New LWP 46117]
>> [Thread debugging using libthread_db enabled]
>> Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
>> 0xce401bc6 in get_index (addr=addr at entry=2232868864) at headers.c:207
>> 207	headers.c: No such file or directory.
>> warning: .cygdbinit: No such file or directory
>> (gdb) bt
>> #0  0xce401bc6 in get_index (addr=addr at entry=2232868864) at headers.c:207
>> #1  0xce401e19 in GC_install_counts (h=0xff96e000, sz=4456448) at headers.c:279
>> #2  0xce3faf45 in GC_allochblk_nth (sz=4456448, kind=1, flags=1, n=60, may_split=1) at allchblk.c:791
>> #3  0xce3fb361 in GC_allochblk (sz=4456448, kind=1, flags=1) at allchblk.c:624
>> #4  0xce4022f1 in GC_alloc_large (lb=4456448, k=1, flags=1) at malloc.c:64
>> #5  0xce40304b in GC_generic_malloc_ignore_off_page (lb=4456448, k=1) at mallocx.c:192
>> #6  0xce4031ba in GC_malloc_ignore_off_page (lb=4456448) at mallocx.c:223
>> #7  0xce5a8678 in ecl_alloc_unprotected (n=4456448) at /build/ecl-IrXgwb/ecl-15.3.7+dfsg1/src/c/alloc_2.d:717
>> #8  0xce5a8769 in ecl_alloc (n=4456448) at /build/ecl-IrXgwb/ecl-15.3.7+dfsg1/src/c/alloc_2.d:732
>> #9  0xce58d251 in alloc_pointerfull_memory (l=1114112) at /build/ecl-IrXgwb/ecl-15.3.7+dfsg1/src/c/array.d:530
>> #10 0xce58d2ed in ecl_array_allocself (x=0xff920de0) at /build/ecl-IrXgwb/ecl-15.3.7+dfsg1/src/c/array.d:545
>> #11 0xce58dc95 in si_make_vector (etype=0xce6ef61c <cl_symbols+28>, dim=0x440003, adj=0x1, fillp=0x1, displ=0x1, disploff=0x3) at /build/ecl-IrXgwb/ecl-15.3.7+dfsg1/src/c/array.d:521
>> #12 0xce4e32d3 in _eclWWewOka7_1m3gSs21 (flag=0x0) at lsp/format.c:17846
>> #13 0xce566eec in ecl_init_module (block=<optimized out>, entry_point=0xce4e3140 <_eclWWewOka7_1m3gSs21>) at /build/ecl-IrXgwb/ecl-15.3.7+dfsg1/src/c/read.d:2444
>> #14 0xce48b62f in init_lib_LSP (cblock=0x0) at eclinitFTPx4A.c:193
>> #15 0xce566eec in ecl_init_module (block=<optimized out>, entry_point=0xce48b430 <init_lib_LSP>) at /build/ecl-IrXgwb/ecl-15.3.7+dfsg1/src/c/read.d:2444
>> #16 0xce48a57e in cl_boot (argc=<optimized out>, argv=<optimized out>) at /build/ecl-IrXgwb/ecl-15.3.7+dfsg1/src/c/main.d:779
>> #17 0xce7204f4 in __pyx_pf_4sage_4libs_3ecl_4init_ecl (__pyx_self=<optimized out>) at ./sage/src/build/cythonized/sage/libs/ecl.c:5438
>> #18 0xce71fe51 in __Pyx_PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ./sage/src/build/cythonized/sage/libs/ecl.c:13253
>> #19 __Pyx_PyObject_CallNoArg (func=<optimized out>) at ./sage/src/build/cythonized/sage/libs/ecl.c:13532
>> #20 0xce72effb in initecl () at ./sage/src/build/cythonized/sage/libs/ecl.c:13034
>> #21 0xf74f3c22 in ?? ()
>> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>> (gdb) up 17
>> #17 0xce7204f4 in __pyx_pf_4sage_4libs_3ecl_4init_ecl (__pyx_self=<optimized out>) at ./sage/src/build/cythonized/sage/libs/ecl.c:5438
>> 5438	  cl_boot(1, __pyx_v_argv);
>> (gdb) cy list
>>   5433     *     ecl_set_option(ECL_OPT_SIGNAL_HANDLING_THREAD, 0)
>>   5434     *     cl_boot(1, argv)             # <<<<<<<<<<<<<<
>>   5435     * 
>>   5436     *     #save signal handler from ECL
>>   5437     */
>>> 5438      cl_boot(1, __pyx_v_argv);
>>   5439    
>>   5440      /* "sage/libs/ecl.pyx":264
>>   5441     * 
>>   5442     *     #save signal handler from ECL
>> (gdb) up
>> #18 0xce71fe51 in __Pyx_PyObject_Call (kw=<optimized out>, arg=<optimized out>, func=<optimized out>) at ./sage/src/build/cythonized/sage/libs/ecl.c:13253
>> 13253	    result = (*call)(func, arg, kw);
>> (gdb) up
>> #19 __Pyx_PyObject_CallNoArg (func=<optimized out>) at ./sage/src/build/cythonized/sage/libs/ecl.c:13532
>> 13532	    return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
>> (gdb) up
>> #20 0xce72effb in initecl () at ./sage/src/build/cythonized/sage/libs/ecl.c:13034
>> 13034	    __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1334, __pyx_L1_error)
>> (gdb) cy bt
>> #1  0x00000000ce72d7e0 in ecl() at /build/sagemath-ZP1Le0/sagemath-7.4/sage/src/sage/libs/ecl.pyx:1334
>>       1334    init_ecl()(gdb) cy list
>>   1329        cdef cl_object o
>>   1330        o=ecl_safe_read_string(s)
>>   1331        o=ecl_safe_eval(o)
>>   1332        return ecl_wrap(o)
>>   1333    
>>> 1334    init_ecl()
>> (gdb) quit
>> A debugging session is active.
>>
>> 	Inferior 1 [process 46075] will be detached.
>>
>> Quit anyway? (y or n) y
>> Detaching from program: /usr/bin/python, process 46075
>> close failed in file object destructor:
>> IOError: [Errno 9] Bad file descriptor
>>
>> At this point I gave up because I didn't want to spend time debugging libgc or ecl.
>>
>> X
>>
> 
> 
> _______________________________________________
> Debian-science-sagemath mailing list
> Debian-science-sagemath at lists.alioth.debian.org
> https://lists.alioth.debian.org/mailman/listinfo/debian-science-sagemath
> 


-- 
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git



More information about the Debian-science-sagemath mailing list