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 Carl.Friedrich.Bolz
Recipients Carl.Friedrich.Bolz
Date 2019-09-17.10:34:54
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1568716495.17.0.305052685385.issue38197@roundup.psfhosted.org>
In-reply-to
Content
The meaning of sys.tracebacklimit seems to be different than the meaning of the various limit parameters in the traceback module. One shows the top n stack frames, the other the bottom n.

Is this intentional, and if yes, is that difference documented somewhere? (it came up because PyPy just uses the traceback module and has no equivalent of PyTraceBack_Print).

See the attached script to understand the problem. The script formats the same exception twice, once with the traceback module, once by the interpreter. I would have expected them to look the same for all limits, but instead:

$ ./python /tmp/x.py 3
limit 3
from traceback module:
Traceback (most recent call last):
  File "/tmp/x.py", line 19, in <module>
    main()
  File "/tmp/x.py", line 16, in main
    x3()
  File "/tmp/x.py", line 14, in x3
    x2()
ZeroDivisionError: division by zero

from interpreter:
Traceback (most recent call last):
  File "/tmp/x.py", line 14, in x3
    x2()
  File "/tmp/x.py", line 12, in x2
    x1()
  File "/tmp/x.py", line 10, in x1
    1 / 0
ZeroDivisionError: division by zero
History
Date User Action Args
2019-09-17 10:34:55Carl.Friedrich.Bolzsetrecipients: + Carl.Friedrich.Bolz
2019-09-17 10:34:55Carl.Friedrich.Bolzsetmessageid: <1568716495.17.0.305052685385.issue38197@roundup.psfhosted.org>
2019-09-17 10:34:55Carl.Friedrich.Bolzlinkissue38197 messages
2019-09-17 10:34:54Carl.Friedrich.Bolzcreate