-
Notifications
You must be signed in to change notification settings - Fork 61
Crash when setting up a tasklet belonging to a different thread #60
Comments
Original comment by Kristján Valur Jónsson (Bitbucket: krisvale, GitHub: kristjanvalur): I'm a bit busy at the moment with work, but will try to do this on the weekend. |
Original comment by Anselm Kruis (Bitbucket: akruis, GitHub: akruis): I have some time to work on 2.7.9-slp. Unfortunately this patch has not been reviewed up to now. I tested my patch on Windows 32bit and Linux 64bit. No problems so far. |
Original comment by Christian Tismer (Bitbucket: ctismer, GitHub: ctismer): I checked a fresh checkout of 2.7.9 on my Yosemite Mac and saw only some skipped tests, no errors:
If that's ok with you, then I can confirm that the patch works on OSX, too. |
Original comment by Anselm Kruis (Bitbucket: akruis, GitHub: akruis): Stackless issue #80: fix an assertion failure during shutdown This commit adds a test case to trigger an assertion failure during shutdown and Edit: bitbucket attached this commit message to the wrong bug. But the important lesson learned is: Just running the test suite isn't enough. It can't replace a careful code review. |
Originally reported by: Kristján Valur Jónsson (Bitbucket: krisvale, GitHub: kristjanvalur)
The attached file demonstrates a crash recently discovered. If a tasklet created on a different thread gets setup, it crashes. This occurs because a cstack is being allocated using the wrong thread state.
This happens because of a call to "slp_ensure_linkage" in the "bind_task_to_frame" call. If this call is omitted, then all runs fine. But then we have failures in the unittests.
I have never understood what the slp_ensure_linkage is supposed to do. I would like to fix this without complicating the cstack allocation by using the task's thread state. What is the slp_ensure_linkage supposed to be doing?
tcrash.py.zip
The text was updated successfully, but these errors were encountered: