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

Tobias Hansen thansen at debian.org
Mon Jan 23 02:14:08 UTC 2017


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
> 




More information about the Debian-science-sagemath mailing list