Changes between Initial Version and Version 9 of Ticket #27060


Ignore:
Timestamp:
01/18/19 13:04:43 (3 years ago)
Author:
jdemeyer
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #27060

    • Property Status changed from new to positive_review
    • Property Milestone changed from sage-8.6 to sage-8.7
    • Property Branch changed from to u/jdemeyer/fix_various_invalid_uses_of_sig_on__
    • Property Reviewers changed from to Timo Kaufmann
    • Property Commit changed from to 9fffd00d2f52ed0c2b0d584870c15a22771eebb9
  • Ticket #27060 – Description

    initial v9  
    11In order to debug crashes with cypari2 (#26442), I added some checks to cypari2. But these checks are now failing because `sig_on()` is regularly used badly inside Sage.
    22
    3 In particular, this branch removes code inside `sig_on()` which can potentially cause Python garbage collection.
     3As documented in the cysignals documentation, code inside a `sig_on()`/`sig_off()` block should not manipulate Python objects. The reason is that an interrupt at that time could put Python objects in an invalid state. It is especially problematic if a garbage collection happens inside a `sig_on()` block.
     4
     5This ticket fixes a few of those cases where garbage collection might happen.