#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.