Message253749
Before committing any solution we first should have understood the cause of the crash. The peculiarity of example ctypes_crash.py is that the argument of ctypes.c_char.from_buffer is a memoryview. With current code we have following chain (the list creates a reference loop with itself):
list->memoryview->ManagedBuffer->memoryview->ManagedBuffer->bytearray
Using PyMemoryView_FromObject or hypothetical PyMemoryView_FromObjectEx we could get shorter chain:
list->memoryview->ManagedBuffer->bytearray
May be the cause not in current hack, but in memoryview that can't survive with breaking long chain? Or may be we just are lucky in latter case?
I share Martin's doubts about writability in Eryksun’s patch. |
|
| Date |
User |
Action |
Args |
| 2015-10-30 17:39:59 | serhiy.storchaka | set | recipients:
+ serhiy.storchaka, jnoller, r.david.murray, skrah, sbt, martin.panter, zach.ware, JakeMont |
| 2015-10-30 17:39:59 | serhiy.storchaka | set | messageid: <[email protected]> |
| 2015-10-30 17:39:59 | serhiy.storchaka | link | issue25498 messages |
| 2015-10-30 17:39:58 | serhiy.storchaka | create | |
|