classification
Title: Changes in traceback broke existing code (Python 3.5)
Type: behavior Stage: resolved
Components: Library (Lib) Versions: Python 3.5
process
Status: closed Resolution: duplicate
Dependencies: Superseder: traceback.extract_stack() compatibility break in 3.5
View: 25108
Assigned To: Nosy List: X-Istence, berker.peksag
Priority: normal Keywords:

Created on 2015-10-12 04:42 by X-Istence, last changed 2015-10-12 05:37 by berker.peksag. This issue is now closed.

Messages (3)
msg252841 - (view) Author: Bert JW Regeer (X-Istence) * Date: 2015-10-12 04:42
One of the changes in Python 3.5's traceback functionality broke existing code compared to Python 3.4 by injecting an extra stack frame into the list when using traceback.extract_stack:

What this looks like on Python 3.5:

pyramid/tests/test_config/test_init.py 1108 includeme2 config.add_view(view2)
pyramid/util.py 526 wrapper return wrapped(self, *arg, **defaults)
pyramid/util.py 557 wrapper f = traceback.extract_stack(limit=4)
/Users/xistence/.pyenv/versions/3.5.0/lib/python3.5/traceback.py 201 extract_stack stack = StackSummary.extract(walk_stack(f), limit=limit)

What it used to look like on Python 3.4:

pyramid/config/__init__.py 798 include c(configurator)
pyramid/tests/test_config/test_init.py 1108 includeme2 config.add_view(view2)
pyramid/util.py 526 wrapper return wrapped(self, *arg, **defaults)
pyramid/util.py 557 wrapper f = traceback.extract_stack(limit=4)

Notice that in the Python 3.5 version:

/Users/xistence/.pyenv/versions/3.5.0/lib/python3.5/traceback.py 201 extract_stack stack = StackSummary.extract(walk_stack(f), limit=limit)

Is added.

We are tracking this issue here: https://github.com/Pylons/pyramid/issues/1973 on our side.
msg252842 - (view) Author: Bert JW Regeer (X-Istence) * Date: 2015-10-12 05:18
Looks like this is a dup of: https://bugs.python.org/issue25108
msg252843 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2015-10-12 05:37
Thanks for the report! Yes, this is a duplicate of issue 25108. It would be great if you have time to test it with the current 3.5 branch.
History
Date User Action Args
2015-10-12 05:37:13berker.peksagsetstatus: open -> closed

superseder: traceback.extract_stack() compatibility break in 3.5
components: + Library (Lib)

nosy: + berker.peksag
messages: + msg252843
resolution: duplicate
stage: resolved
2015-10-12 05:18:51X-Istencesetmessages: + msg252842
2015-10-12 04:42:20X-Istencecreate