File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,10 @@ What's New in Stackless 3.X.X?
9
9
10
10
*Release date: 20XX-XX-XX*
11
11
12
+ - https://bitbucket.org/stackless-dev/stackless/issues/123
13
+ Fix a rare assertion violation during interpreter shutdown with active
14
+ daemon threads.
15
+
12
16
- https://bitbucket.org/stackless-dev/stackless/issues/122
13
17
Disable the C-stack cache, if Py_REF_DEBUG is defined. The cache causes false
14
18
block leak errors from the test suite. The performance penalty is irrelevant in
Original file line number Diff line number Diff line change @@ -46,8 +46,12 @@ slp_current_remove(void)
46
46
PyThreadState * ts = PyThreadState_GET ();
47
47
PyTaskletObject * * chain = & ts -> st .current , * ret ;
48
48
49
- /* make sure tasklet belongs to this thread */
50
- assert ((* chain )-> cstate -> tstate == ts );
49
+ /* Make sure that the tasklet belongs to this thread.
50
+ * During interpreter shutdown '(*chain)->cstate->tstate' may be already NULL.
51
+ * See function slp_kill_tasks_with_stacks() in stacklesseval.c
52
+ */
53
+ assert ((* chain )-> cstate -> tstate == ts ||
54
+ (* chain )-> cstate -> tstate == NULL );
51
55
52
56
-- ts -> st .runcount ;
53
57
assert (ts -> st .runcount >= 0 );
You can’t perform that action at this time.
0 commit comments