New submission from Simon McVittie: dbus-python has a regression test for https://bugs.freedesktop.org/show_bug.cgi?id=23831 which repeatedly initializes the interpreter, imports dbus and finalizes the interpreter. This test passes in Python up to 3.5, but is failing under Python 3.6 nightly builds on Travis-CI, and in Python 3.6.0a3 (package version 3.6.0~a3-1) on Debian.
I've been able to reproduce the crash without anything specific to dbus with this C code: #include <stdio.h> #include <Python.h> int main(void) { int i; puts("1..1"); for (i = 0; i < 100; ++i) { Py_Initialize(); if (PyRun_SimpleString("\n") != 0) { puts("not ok 1 - there was an exception"); return 1; } Py_Finalize(); } puts("ok 1 - was able to loop 100 times"); return 0; } It appears the crash is reliably in the 10th repeat: Program received signal SIGSEGV, Segmentation fault. 0x00007ffff783a4bb in type_dealloc (type=0x7ffff7d8ad80 <DirEntryType>) at ../Objects/typeobject.c:3032 3032 ../Objects/typeobject.c: No such file or directory. (gdb) bt #0 0x00007ffff783a4bb in type_dealloc (type=0x7ffff7d8ad80 <DirEntryType>) at ../Objects/typeobject.c:3032 #1 0x00007ffff7817a1b in insertdict (value=<optimized out>, hash=<optimized out>, key=<optimized out>, mp=<optimized out>) at ../Objects/dictobject.c:806 #2 PyDict_SetItem ( op=op@entry={'open': None, 'O_DIRECT': None, 'chdir': None, 'O_ACCMODE': None, '__package__': None, 'WCOREDUMP': None, 'setgroups': None, 'O_CREAT': None, 'O_CLOEXEC': None, 'chown': None, 'sched_getscheduler': None, 'RTLD_NODELETE': None, 'terminal_size': None, 'EX_IOERR': None, 'sched_setaffinity': None, 'XATTR_SIZE_MAX': None, 'fstat': None, 'sched_rr_get_interval': None, 'O_LARGEFILE': None, 'times_result': None, 'get_inheritable': None, 'WIFEXITED': None, 'ST_NODEV': None, 'forkpty': None, 'ctermid': None, 'O_RSYNC': None, 'SCHED_FIFO': None, 'stat': None, 'replace': None, 'EX_NOINPUT': None, 'WUNTRACED': None, 'set_blocking': None, '_have_functions': None, 'unsetenv': None, 'setresgid': None, 'fchown': None, 'getgrouplist': None, 'openpty': None, 'lockf': None, 'chroot': None, 'readv': None, 'EX_NOHOST': None, 'error': None, 'WEXITSTATUS': None, 'WIFSIGNALED': None, 'WNOHANG': None, 'POSIX_FADV_WILLNEED': None, 'SEEK_HOLE': None, 'dup': None, 'POSIX_FADV_NOREUSE': None, 'ki ll': None, 'statvfs_result': None, 'WIFCON...(truncated), key='DirEntry', value=value@entry=None) at ../Objects/dictobject.c:1228 #3 0x00007ffff782659c in _PyModule_ClearDict ( d={'open': None, 'O_DIRECT': None, 'chdir': None, 'O_ACCMODE': None, '__package__': None, 'WCOREDUMP': None, 'setgroups': None, 'O_CREAT': None, 'O_CLOEXEC': None, 'chown': None, 'sched_getscheduler': None, 'RTLD_NODELETE': None, 'terminal_size': None, 'EX_IOERR': None, 'sched_setaffinity': None, 'XATTR_SIZE_MAX': None, 'fstat': None, 'sched_rr_get_interval': None, 'O_LARGEFILE': None, 'times_result': None, 'get_inheritable': None, 'WIFEXITED': None, 'ST_NODEV': None, 'forkpty': None, 'ctermid': None, 'O_RSYNC': None, 'SCHED_FIFO': None, 'stat': None, 'replace': None, 'EX_NOINPUT': None, 'WUNTRACED': None, 'set_blocking': None, '_have_functions': None, 'unsetenv': None, 'setresgid': None, 'fchown': None, 'getgrouplist': None, 'openpty': None, 'lockf': None, 'chroot': None, 'readv': None, 'EX_NOHOST': None, 'error': None, 'WEXITSTATUS': None, 'WIFSIGNALED': None, 'WNOHANG': None, 'POSIX_FADV_WILLNEED': None, 'SEEK_HOLE': None, 'dup': None, 'POSIX_FADV_NOREUSE': None, 'kill': None, 'statvfs_result': None, 'WIFCON...(truncated)) at ../Objects/moduleobject.c:593 #4 0x00007ffff782672e in _PyModule_Clear (m=m@entry=<module at remote 0x7ffff65e6598>) at ../Objects/moduleobject.c:544 #5 0x00007ffff78d5874 in PyImport_Cleanup () at ../Python/import.c:452 #6 0x00007ffff78e3a38 in Py_FinalizeEx () at ../Python/pylifecycle.c:588 #7 0x0000000000400795 in main () at /home/smcv/src/dbus-python/test/import-repeatedly.c:19 (gdb) frame 7 #7 0x0000000000400795 in main () at /home/smcv/src/dbus-python/test/import-repeatedly.c:19 19 Py_Finalize(); (gdb) p i $1 = 10 ---------- components: Interpreter Core messages: 272423 nosy: smcv priority: normal severity: normal status: open title: repeated Py_Initialize/PyRun_SimpleString/Py_Finalize segfaults type: crash versions: Python 3.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue27736> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com