[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-09-27 Thread Serhiy Storchaka

Change by Serhiy Storchaka :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed
versions: +Python 2.7, Python 3.6

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-09-27 Thread Serhiy Storchaka

Serhiy Storchaka  added the comment:


New changeset 81691b05484a68df9cebb1310dd7dcabb3c6eb0a by Serhiy Storchaka in 
branch '2.7':
[2.7] bpo-31311: Fix a SystemError and a crash in ctypes._CData.__setstate__(), 
in case of a bad __dict__. (GH-3254). (#3781)
https://github.com/python/cpython/commit/81691b05484a68df9cebb1310dd7dcabb3c6eb0a


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-09-27 Thread Serhiy Storchaka

Change by Serhiy Storchaka :


--
pull_requests: +3768

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-09-25 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:


New changeset a6bddb8e4397df30926eb1ade6420a2277174227 by Serhiy Storchaka 
(Miss Islington (bot)) in branch '3.6':
[3.6] bpo-31311: Fix a SystemError and a crash in ctypes._CData.__setstate__(), 
in case of a bad __dict__. (GH-3254) (#3743)
https://github.com/python/cpython/commit/a6bddb8e4397df30926eb1ade6420a2277174227


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-09-25 Thread Roundup Robot

Changes by Roundup Robot :


--
keywords: +patch
pull_requests: +3730
stage:  -> patch review

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-09-25 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:


New changeset 57c2561c8c5663aef55b00e3f29cba575ff36ccd by Serhiy Storchaka 
(Oren Milman) in branch 'master':
bpo-31311: Fix a SystemError and a crash in ctypes._CData.__setstate__(), in 
case of a bad __dict__. (#3254)
https://github.com/python/cpython/commit/57c2561c8c5663aef55b00e3f29cba575ff36ccd


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-09-25 Thread Oren Milman

Oren Milman added the comment:

> But this is a separate issue, 3.7 only.
I don't think i understand what this issue would include.

Anyway, i updated the PR according to your comments.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-09-24 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

I thought about this issue so long because I can't find good cause for __dict__ 
to be not a dict. Defining the __dict__ method or property doesn't affect 
instance dictionary and attributes lookup. It just breaks the __setstate__ 
method. Without having good example of overriding __dict__ I have no good test 
cases and don't know what a way of handling this error is better.

There is yet one disadvantage of the current implementation. The instance's 
dict can be lazy. It can be created only on demand, when instance's attribute 
is set or the __dict__ attribute is read. PyObject_GetAttrString(myself, 
"__dict__") creates it if it was not created. It would be more efficient to use 
_PyObject_GetDictPtr(). But this is a separate issue, 3.7 only.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-09-24 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:


New changeset 4facdf523aa6967487a9425f124da9661b59fd43 by Serhiy Storchaka 
(Oren Milman) in branch 'master':
bpo-31311: Impove error reporting in case the first argument to 
PyCData_setstate() isn't a dictionary. (#3255)
https://github.com/python/cpython/commit/4facdf523aa6967487a9425f124da9661b59fd43


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-09-10 Thread Oren Milman

Oren Milman added the comment:

just in case it was missed - I have opened two PRs for this issue.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-08-31 Thread Oren Milman

Changes by Oren Milman :


--
components: +ctypes -Extension Modules

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-08-31 Thread Oren Milman

Changes by Oren Milman :


--
pull_requests: +3299

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-08-31 Thread Oren Milman

Changes by Oren Milman :


--
pull_requests: +3298

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-08-31 Thread Oren Milman

Changes by Oren Milman :


--
title: SystemError raised by PyCData_setstate() in case __dict__ is not a dict 
-> a SystemError and a crash in PyCData_setstate() when __dict__ is bad

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com