homepage

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 Alexey Kazantsev
Recipients Alexey Kazantsev
Date 2015年03月20日.12:56:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1426856186.55.0.426766995956.issue23720@psf.upfronthosting.co.za>
In-reply-to
Content
Pythons prior to 3.4.0 print
Vector!
Device!
while >=3.4.0 print
Device!
Vector!
If we replace Main with Vector on line 21, the behavior becomes random: in 50% of all cases it prints the wrong sequence, in other 50% the right. Our team treats this as a bug for several reasons:
1) Objects should be destroyed in breadth first reference tree traversal order, starting from the root. There are no cycles. It is nonsense to have freed children in parent's destructor.
2) Our applications suffer very much from this bug. Real "Vector" holds GPGPU memory and real "Device" holds the context, and CUDA/OpenCL require the context to be freed the last. With CUDA, the invalid destructor call order leads to segmentation faults.
This may have something to deal with the implementation of PEP 442 (though in our case there no reference cycles at all).
History
Date User Action Args
2015年03月20日 12:56:26Alexey Kazantsevsetrecipients: + Alexey Kazantsev
2015年03月20日 12:56:26Alexey Kazantsevsetmessageid: <1426856186.55.0.426766995956.issue23720@psf.upfronthosting.co.za>
2015年03月20日 12:56:26Alexey Kazantsevlinkissue23720 messages
2015年03月20日 12:56:26Alexey Kazantsevcreate

AltStyle によって変換されたページ (->オリジナル) /