Skip to content

Conversation

timpalpant
Copy link
Contributor

In Python 2, the line offsets in co_lnotab are unsigned bytes (see: Python2 vs. Python3 implementations of Addr2Line). The code for resolving the line in vmprof assumes that they are signed char. This leads to invalid profiles with negative line numbers (see e.g. the minimal repro in #154).

This change updates the code to instead use PyFrame_GetLineNumber, which is available in the runtime since Python >=2.7 so that we don't need to reimplement it here.

Fixes #154.

@fijal fijal merged commit e4e99e5 into vmprof:master Jun 11, 2019
@timpalpant
Copy link
Contributor Author

Thanks @fijal ! Any chance I could request a new pypi release when you have a chance?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

AssertionError in vmprofshow gives not very helpful error
3 participants