安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题


Edit: switched to a distro that actually ships debug symbols (Ubuntu 17.10) to get a non-stupid backtrace, incidentally proving that this bug is not specific to Arch:
So they are both blocked on the same condition variable, but not the same futex_word (though those are presumably pthreads guts that are well outside of my expertise).
Edit 2: There might have been a change in glibc 2.25 that causes a deadlock in this situation where older versions returned from pthread_cond_destroy(). See https://sourceware.org/bugzilla/show_bug.cgi?id=21374 and
https://github.com/pytorch/pytorch/issues/1233
This would explain why the problem was first seen in Arch, but it will presumably become more common as more people upgrade to Ubuntu 17.10, Fedora 26/27, etc..
Unfortunately using taskset to pin the executable to a single core does not fix the issue, so the issue exists even with no hardware race conditions. There's just some literal bug.
That term has a special meaning in these kinds of standards that means something along the lines of: you have invoked bad magic and torn a hole in the universe, and literally anything can happen. In standards conformance terms, the system is within its rights to reformat your hard drive and install Windows 3.1.