On Sun, Apr 5, 2009 at 12:48 PM, William Stein <wst...@gmail.com> wrote: > On Sun, Apr 5, 2009 at 1:13 AM, Carl Witty <carl.wi...@gmail.com> wrote: >> >> On Sun, Apr 5, 2009 at 12:33 AM, jeffblakeslee <jeffb...@gmail.com> wrote: >>> >>> Here's how I got it. Ctrl-c after a couple seconds on the first one, >>> and then try the next. >>> ---------------------------------------------------------------------- >>> | SAGE Version 3.0.6, Release Date: 2008-07-30 | >>> | Type notebook() for the GUI, and license() for information. | >>> ---------------------------------------------------------------------- >>> >>> sage: pi.n(9999999) >>> ^C >> ... >>> sage: pi.n(999) >> >> Oh, interesting! I've always worried about _sig_on/_sig_off, but this >> is the first reproducible bug I've seen them cause. >> >> When Sage is computing pi to many digits (and in many other cases), it >> sets up a signal handler; if you press Control-C, then it will longjmp >> out of the signal handler. This lets you interrupt long-running >> computations, but it's a really nasty thing to do... you can easily >> get memory leaks, and I can imagine lots of (somewhat unlikely) >> situations where you would crash Sage or get wrong answers. >> >> I'm not sure what to do about the problem, though. The "right" fix is >> to go through all the C libraries that Sage calls, and add periodic >> checks for Control-C; but that's pretty impractical. Another >> possibility would be to disable _sig_on, so that Control-C doesn't >> work in long-running C computations. This would fix the bug, but it >> would also be vastly annoying. >> >> One workaround that might fix this particular problem is to catch >> KeyboardInterrupt exceptions in the .pi() method (and in >> .euler_constant(), .catalan_constant(), and .log2()), and call >> mpfr_free_cache() if one is seen. Hopefully then MPFR would no longer >> believe it has a higher precision value computed than it actually does >> have. >> >> Carl >> > > I've made this trac #5689: > > http://trac.sagemath.org/sage_trac/ticket/5689 >
I also posted a patch that needs review. William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---