New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test_multiprocessing_spawn crashed on AMD64 Windows8.1 Non-Debug 3.x buildbot #74355
Comments
0:05:37 [255/404/1] test_multiprocessing_spawn crashed (Exit code 3221225477) Current thread 0x00001644 (most recent call first): Note: same crash in test_multiprocessing_fork, even if Windows has no os.fork(): the crash occurs at lib\test\test_multiprocessing_fork.py:2 "import test._test_multiprocessing", before check if os.fork() exists. |
The crash is probably random. I looked at the last 250 builds. Since build 421, the first crash occurred at build 578 (commit a00c3fd, no idea if it's related): http://buildbot.python.org/all/builders/AMD64%20Windows8.1%20Non-Debug%203.x/builds/578/ I found 8 test_multiprocessing_spawn crashes in builds:
|
Current thread 0x00001644 (most recent call first): Line 3997 is: I don't understand how creating operator.attrgetter() or property() object can crash? Maybe the memory was corrupted before? Extract of _test_multiprocessing.py around this line: class ManagerMixin(object):
TYPE = 'manager'
Process = multiprocessing.Process
Queue = property(operator.attrgetter('manager.Queue'))
JoinableQueue = property(operator.attrgetter('manager.JoinableQueue'))
Lock = property(operator.attrgetter('manager.Lock'))
RLock = property(operator.attrgetter('manager.RLock'))
Semaphore = property(operator.attrgetter('manager.Semaphore'))
BoundedSemaphore = property(operator.attrgetter('manager.BoundedSemaphore'))
Condition = property(operator.attrgetter('manager.Condition'))
Event = property(operator.attrgetter('manager.Event'))
Barrier = property(operator.attrgetter('manager.Barrier'))
Value = property(operator.attrgetter('manager.Value'))
Array = property(operator.attrgetter('manager.Array'))
list = property(operator.attrgetter('manager.list'))
dict = property(operator.attrgetter('manager.dict'))
Namespace = property(operator.attrgetter('manager.Namespace')) |
I also checked the last 250 builds of AMD64 Windows8 3.x: test_multiprocessing_spawn never crashed. http://buildbot.python.org/all/builders/AMD64%20Windows8%203.x We got 8 crashed on "AMD64 Windows8.1 Non-Debug 3.x", but 0 crash on "AMD64 Windows8 3.x" (similar Windows version, but it's a different buildbot slave, so different hardware, version, etc.)... So *maybe* it's related to the commit a00c3fd and the issue bpo-29941 since this patch changed the behaviour of Python compiled in release mode. |
Eh, commit a00c3fd wasn't supposed to affect any behaviour in release builds, just in non-debug builds *with asserts enabled*, and only in making them build. (There is a bug in that commit that was fixed right after, commit 06bb487, but there shouldn't be any behavioural change since that went in.) What kind of behaviour change do you think the change caused? |
Sadly, the random issue didn't reoccur in the following 13 builds. So I close the issue. I will reopen it if I see the crash again. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: