Author: Remi Meier <remi.me...@inf.ethz.ch> Branch: c8-private-pages Changeset: r1537:593ef95f4496 Date: 2015-01-16 14:24 +0100 http://bitbucket.org/pypy/stmgc/changeset/593ef95f4496/
Log: fix diff --git a/c8/stm/core.c b/c8/stm/core.c --- a/c8/stm/core.c +++ b/c8/stm/core.c @@ -848,6 +848,7 @@ #endif tl->last_abort__bytes_in_nursery = bytes_in_nursery; + list_clear(pseg->objects_pointing_to_nursery); #pragma pop_macro("STM_SEGMENT") #pragma pop_macro("STM_PSEGMENT") } diff --git a/c8/stm/nursery.c b/c8/stm/nursery.c --- a/c8/stm/nursery.c +++ b/c8/stm/nursery.c @@ -391,7 +391,6 @@ for (i = 0; i < NB_SEGMENTS; i++) { set_gs_register(get_segment_base(i)); - assert(!must_abort()); if (!_stm_validate()) { assert(i != 0); /* sharing seg0 should never need an abort */ diff --git a/c8/test/test_gcpage.py b/c8/test/test_gcpage.py --- a/c8/test/test_gcpage.py +++ b/c8/test/test_gcpage.py @@ -309,3 +309,22 @@ self.commit_transaction() self.start_transaction() stm_major_collect() + + def test_bug2(self): + lp_ref_4 = stm_allocate_old(16) + # + self.start_transaction() + stm_set_char(lp_ref_4, 'x') + # + self.switch(1) + self.start_transaction() + stm_set_char(lp_ref_4, 'y') + # + self.switch(0) + self.commit_transaction() + self.start_transaction() + stm_major_collect() + stm_major_collect() + stm_major_collect() + # + py.test.raises(Conflict, self.switch, 1) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit