This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author skrah
Recipients pitrou, serhiy.storchaka, skrah, vstinner
Date 2018-06-03.21:37:07
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1528061827.35.0.592728768989.issue33713@psf.upfronthosting.co.za>
In-reply-to
Content
Okay that makes sense. :)

I looked a bit at the gc code. A consumer object always has one
reference to a memoryview with an export, which isn't visited. So
it looks to me that the gc_refs of that memoryview cannot fall to 0.

So memory_clear() isn't called in that case, but mbuf_clear() is, which
is known and expected to handle mbuf->exports >= 0.

Indeed let's perhaps just add "if (self->exports > 0) return 0" to memory_clear() if those assumptions are too complex.
History
Date User Action Args
2018-06-03 21:37:07skrahsetrecipients: + skrah, pitrou, vstinner, serhiy.storchaka
2018-06-03 21:37:07skrahsetmessageid: <1528061827.35.0.592728768989.issue33713@psf.upfronthosting.co.za>
2018-06-03 21:37:07skrahlinkissue33713 messages
2018-06-03 21:37:07skrahcreate