[issue36356] Failure to build with address sanitizer

Ben Harper report at bugs.python.org
Sun Mar 24 21:52:42 EDT 2019


Ben Harper <btharper1221 at gmail.com> added the comment:

I'm not sure about the change from 3.7 to master, but that assertion may be more likely to happen while instrumented with ASAN due to the extra space reserved between heap objects. As far as I can tell it's just expecting that the offset of two pointers will fit within an int instead of a intptr_t (4 bytes versus 8 bytes on my system).

For me running the test_pydoc from the test suite fails reliably with the parsetok.c assertion failure, but can be made to pass with a smaller ASAN redzone. The redzone must be a power of 2 and at least 16, default of 2048.

Fails:
ASAN_OPTIONS="max_redzone=256" ./python Tools/scripts/run_tests.py test_pydoc

Passes:
ASAN_OPTIONS="max_redzone=128" ./python Tools/scripts/run_tests.py test_pydoc

Values of 16, 32, and 64 also pass.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue36356>
_______________________________________


More information about the Python-bugs-list mailing list