Eric Snow added the comment: I've spent a bit of time exploring the segfault. Here's some data that might help relative to the configparser test.
I put the following at the beginning of _odict_resize: Py_ssize_t len = PyObject_Size((PyObject *)od); if (len == 0) PySys_FormatStdout("."); else { if (((PyDictObject *)od)->ma_keys->dk_size < od->od_size) PySys_FormatStdout("-"); if (len < 10) PySys_FormatStdout("%d", len); else PySys_FormatStdout("+"); } if (len >= 10) PySys_FormatStdout("%d\n", len); If the current item count is 0 then it prints a dot. If the resize is shrinking then it prints a - (this did not happen). Otherwise the odict is growing and it prints the current item count. Multi-digit numbers are preceded by + and followed by a newline. I've included the results of different hash seeds (0/no randomization, 1, and 7). You'll notice how the results are subtly different. In the case of 7, it matches no randomization up to the point that it segfaults. I got the same results with 15. However, 35 fails right after the second +22. $ PYTHONHASHSEED=0 ./python -m test.regrtest -m test_basic test_configparser ...6+12 +22 ....6+12 +22 ........6.6........+10 ........6.6........+10 ........6.6........+10 ........6.6........+10 ........6.6........+10 .+10 ........6.6........+10 ........6.6........+10 ........6.6........+10 ........6.6...............6..6............+10 ....6.6.6.6.66.66.6.6.6.6.+12 6.+12 6.6.6.6.6.6.6.6.6.+22 6.+22 6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.+44 6.+44 6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.+86 6.+86 6.6.6.6.6.6.6.6.6.6.6.6.6.6.6........6.6........+10 ........6.6........+10 ........6.6........+10 ........6.6........+10 .6.. $ PYTHONHASHSEED=1 ./python -m test.regrtest -m test_basic test_configparser ...6+12 +22 ....6+12 +22 ........6.6................6.6................6.6................6.6................6.6.........+11 ........6.6................6.6................6.6................6.6...............6..6................6.6.6.6.66.66.6.6.6.6.+12 6.+12 6.6.6.6.6.6.6.6.6.+22 6.+22 6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.+44 6.+44 6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.+86 6.+86 6.6.6.6.6.6.6.6.6.6.6.6.6.6.6........6.6................6.6................6.6................6.6.........6.. $ PYTHONHASHSEED=7 ./python -m test.regrtest -m test_basic test_configparser ...6+12 +22 ....6+12 +22 ........6.6........+10 ........6.6........+10 ........6.6........+10 ........6.6........+10 ........6.6........+10 .+10 Fatal Python error: Segmentation fault ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue16991> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com