#18919: Interrupt in PARI's pari_malloc() hangs Sage
----------------------------------+------------------------
       Reporter:  vbraun          |        Owner:
           Type:  defect          |       Status:  new
       Priority:  major           |    Milestone:  sage-6.8
      Component:  interfaces      |   Resolution:
       Keywords:  random_fail     |    Merged in:
        Authors:  Jeroen Demeyer  |    Reviewers:
Report Upstream:  N/A             |  Work issues:
         Branch:                  |       Commit:
   Dependencies:  #18583          |     Stopgaps:
----------------------------------+------------------------
Description changed by jdemeyer:

Old description:

> This fails quite frequently:
> {{{
> sage: 0.binomial(1) ## line 6262 ##
> 0
> sage: 0.binomial(-1) ## line 6264 ##
> 0
> sage: 13.binomial(2r) ## line 6266 ##
> 78
> sage: alarm(0.5); (2^100).binomial(2^22, algorithm='mpir') ## line 6271
> ##
> sage: alarm(0.5); (2^100).binomial(2^22, algorithm='pari') ## line 6275
> ##
>
> **********************************************************************
> ----------------------------------------------------------------------
> sage -t --long src/sage/rings/integer.pyx  # Timed out (and interrupt
> failed)
> ----------------------------------------------------------------------
> }}}
> Possibly consequence of a recent PARI upgrade, on the plus side I didn't
> get the singular failure.
>
> http://build.sagedev.org/release/builders/%20%20slow%20AIMS%20%20%28Debian%208%2064%20bit%29%20incremental/builds/7/steps/shell_4/logs/stdio
> http://build.sagedev.org/release/builders/%20%20slow%20AIMS%20bu12_32s02%20%28Ubuntu%2012.04%2032%20bit%29%20incremental/builds/19/steps/shell_4/logs/stdio
> http://build.sagedev.org/release/builders/%20%20slow%20AIMS%20bu14_64s02%20%28Ubuntu%2014.04%2064%20bit%29%20incremental/builds/22/steps/shell_4/logs/stdio
> http://build.sagedev.org/release/builders/%20%20slow%20AIMS%20bu15_32s02%20%28Ubuntu%2015.04%2032%20bit%29%20incremental/builds/23/steps/shell_4/logs/stdio

New description:

 This fails quite frequently:
 {{{
 sage: 0.binomial(1) ## line 6262 ##
 0
 sage: 0.binomial(-1) ## line 6264 ##
 0
 sage: 13.binomial(2r) ## line 6266 ##
 78
 sage: alarm(0.5); (2^100).binomial(2^22, algorithm='mpir') ## line 6271 ##
 sage: alarm(0.5); (2^100).binomial(2^22, algorithm='pari') ## line 6275 ##

 **********************************************************************
 ----------------------------------------------------------------------
 sage -t --long src/sage/rings/integer.pyx  # Timed out (and interrupt
 failed)
 ----------------------------------------------------------------------
 }}}
 This is a consequence of a recent PARI upgrade, because `malloc()` is used
 in a place where it wasn't used before. The cause is exactly the same as
 #16850.

 For PARI, we should be able to fix this using `PARI_SIGINT_block` which is
 like `sig_block()` but for the PARI library.

--

--
Ticket URL: <http://trac.sagemath.org/ticket/18919#comment:3>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to