New submission from Peter: I compiled Python 3.4.3 on Solaris 11, and when I ran the regression test, I get a core dump when the hash() function was being used. I went through the bug database looking for something similar but couldn't find anything.
Tests like: test_unaligned_buffers (test.test_hash.HashEqualityTestCase) ... Fatal Python error: Bus error Current thread 0x00000001 (most recent call first): File "/usr/local/lib/python3.4/test/test_hash.py", line 89 in test_unaligned_buffers File "/usr/local/lib/python3.4/unittest/case.py", line 577 in run File "/usr/local/lib/python3.4/unittest/case.py", line 625 in __call__ File "/usr/local/lib/python3.4/unittest/suite.py", line 122 in run File "/usr/local/lib/python3.4/unittest/suite.py", line 84 in __call__ File "/usr/local/lib/python3.4/unittest/suite.py", line 122 in run File "/usr/local/lib/python3.4/unittest/suite.py", line 84 in __call__ File "/usr/local/lib/python3.4/unittest/suite.py", line 122 in run File "/usr/local/lib/python3.4/unittest/suite.py", line 84 in __call__ File "/usr/local/lib/python3.4/unittest/runner.py", line 168 in run File "/usr/local/lib/python3.4/test/support/__init__.py", line 1769 in _run_suite File "/usr/local/lib/python3.4/test/support/__init__.py", line 1803 in run_unittest File "/usr/local/lib/python3.4/test/regrtest.py", line 1279 in test_runner File "/usr/local/lib/python3.4/test/regrtest.py", line 1280 in runtest_inner File "/usr/local/lib/python3.4/test/regrtest.py", line 978 in runtest File "/usr/local/lib/python3.4/test/regrtest.py", line 763 in main File "/usr/local/lib/python3.4/test/regrtest.py", line 1564 in main_in_temp_cwd File "/usr/local/lib/python3.4/test/__main__.py", line 3 in <module> File "/usr/local/lib/python3.4/runpy.py", line 85 in _run_code File "/usr/local/lib/python3.4/runpy.py", line 170 in _run_module_as_main Bus Error (core dumped) and test_hash_equality (test.datetimetester.TestTime_Fast) ... Fatal Python error: Bus error Current thread 0x00000001 (most recent call first): File "/usr/local/lib/python3.4/test/datetimetester.py", line 2155 in test_hash_equality File "/usr/local/lib/python3.4/unittest/case.py", line 577 in run File "/usr/local/lib/python3.4/unittest/case.py", line 625 in __call__ File "/usr/local/lib/python3.4/unittest/suite.py", line 122 in run File "/usr/local/lib/python3.4/unittest/suite.py", line 84 in __call__ File "/usr/local/lib/python3.4/unittest/suite.py", line 122 in run File "/usr/local/lib/python3.4/unittest/suite.py", line 84 in __call__ File "/usr/local/lib/python3.4/unittest/runner.py", line 168 in run File "/usr/local/lib/python3.4/test/support/__init__.py", line 1769 in _run_suite File "/usr/local/lib/python3.4/test/support/__init__.py", line 1803 in run_unittest File "/usr/local/lib/python3.4/test/test_datetime.py", line 45 in test_main File "/usr/local/lib/python3.4/test/regrtest.py", line 1280 in runtest_inner File "/usr/local/lib/python3.4/test/regrtest.py", line 978 in runtest File "/usr/local/lib/python3.4/test/regrtest.py", line 763 in main File "/usr/local/lib/python3.4/test/regrtest.py", line 1564 in main_in_temp_cwd File "/usr/local/lib/python3.4/test/__main__.py", line 3 in <module> File "/usr/local/lib/python3.4/runpy.py", line 85 in _run_code File "/usr/local/lib/python3.4/runpy.py", line 170 in _run_module_as_main Bus Error (core dumped) I then ran the same test through gdb: $ gdb /usr/local/bin/python3.4 GNU gdb (GDB) 7.8.1 <snip> (gdb) run -m test -v test_hash Starting program: /usr/local/bin/python3.4 -m test -v test_hash [Thread debugging using libthread_db enabled] [New Thread 1 (LWP 1)] == CPython 3.4.3 (default, Mar 25 2015, 17:35:25) [GCC 4.6.2] == Solaris-2.11-sun4v-sparc-32bit-ELF big-endian == hash algorithm: fnv 32bit == /tmp/test_python_12329 Testing with flags: sys.flags(debug=0, inspect=0, interactive=0, optimize=0, dont_write_bytecode=0, no_user_site=0, no_ site=0, ignore_environment=0, verbose=0, bytes_warning=0, quiet=0, hash_randomization=1, isolated=0) [1/1] test_hash test_empty_string (test.test_hash.BytesHashRandomizationTests) ... ok test_fixed_hash (test.test_hash.BytesHashRandomizationTests) ... ok test_long_fixed_hash (test.test_hash.BytesHashRandomizationTests) ... ok test_null_hash (test.test_hash.BytesHashRandomizationTests) ... ok test_randomized_hash (test.test_hash.BytesHashRandomizationTests) ... ok test_randomized_hash (test.test_hash.DatetimeDateTests) ... ok test_randomized_hash (test.test_hash.DatetimeDatetimeTests) ... FAIL test_randomized_hash (test.test_hash.DatetimeTimeTests) ... FAIL test_hashes (test.test_hash.HashBuiltinsTestCase) ... ok test_hash_distribution (test.test_hash.HashDistributionTestCase) ... ok test_coerced_floats (test.test_hash.HashEqualityTestCase) ... ok test_coerced_integers (test.test_hash.HashEqualityTestCase) ... ok test_numeric_literals (test.test_hash.HashEqualityTestCase) ... ok test_unaligned_buffers (test.test_hash.HashEqualityTestCase) ... Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] 0xff25d14c in fnv (src=0x1d2289, len=127) at Python/pyhash.c:267 267 x = (_PyHASH_MULTIPLIER * x) ^ block.value; (gdb) bt #0 0xff25d14c in fnv (src=0x1d2289, len=127) at Python/pyhash.c:267 #1 0xff25d3f8 in _Py_HashBytes (src=0x1d2289, len=127) at Python/pyhash.c:186 #2 0xff1a7ce4 in memory_hash (self=0xfdff5570) at Objects/memoryobject.c:2793 #3 0xff1afa40 in PyObject_Hash (v=0xfdff5570) at Objects/object.c:757 #4 0xff22b6fc in builtin_hash (self=0xfee23600, v=0xfdff5570) at Python/bltinmodule.c:1269 #5 0xff236a70 in call_function (oparg=<optimized out>, pp_stack=0xffbfcc94) at Python/ceval.c:4224 #6 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2838 #7 0xff237790 in fast_function (nk=<optimized out>, na=<optimized out>, n=1, pp_stack=0xffbfcd8c, func=<optimized out>) at Python/ceval.c:4334 <snip> (gdb) list 262 263 x = (Py_uhash_t) _Py_HashSecret.fnv.prefix; 264 x ^= (Py_uhash_t) *p << 7; 265 while (blocks--) { 266 PY_UHASH_CPY(block.bytes, p); 267 x = (_PyHASH_MULTIPLIER * x) ^ block.value; 268 p += SIZEOF_PY_UHASH_T; 269 } 270 /* add remainder */ 271 for (; remainder > 0; remainder--) Further info: $ uname -a SunOS vstrlily1d 5.11 11.1 sun4v sparc sun4v Solaris $ gcc --verbose Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/sparc-sun-solaris2.11/4.6.2/lto-wrapper Target: sparc-sun-solaris2.11 Configured with: ../gcc-4.6.2/configure --prefix=/usr/local --enable-languages=c,c++ --disable-nls --with-gnu-as --with-gnu-ld --target=sparc-sun-solaris2.11 Thread model: posix gcc version 4.6.2 (GCC) ---------- components: Interpreter Core, Tests messages: 239330 nosy: petriborg priority: normal severity: normal status: open title: test_unaligned_buffers (test.test_hash.HashEqualityTestCase) ... Fatal Python error: Bus error type: crash versions: Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23786> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com