Message167737
| Author |
vstinner |
| Recipients |
flub, georg.brandl, larry, ned.deily, python-dev, skrah, vstinner |
| Date |
2012年08月08日.23:27:25 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1344468446.99.0.939486407593.issue15589@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
> With all faulthandler references removed from regrtest.py no
> bus errors happen, but most tests fail anyway. As I said, I'm
> NOT blaming faulthandler, but suspect some strange platform
> bug that perhaps involves linuxthreads.
Threads + signal is a very complex problem. It is not solved yet in OpenBSD for example. There were a lot of such issues on old versions of FreeBSD. Extract of the Wikipedia article of LinuxThreads:
"LinuxThreads had a number of problems, mainly owing to the implementation, which used the clone system call to create a new process sharing the parent's address space. For example, threads had distinct process identifiers, causing problems for signal handling; (...)"
If disabling faulthandler avoids new issues, you can add 'if sys.thread_info.version.startswith("linuxthreads"):" on the line:
faulthandler.enable(all_threads=True)
in regrtest.py.
I added sys.thread_info to be able to skip some tests only failing on LinuxThreads...
--
> but most tests fail anyway
Ah? With which message? Can you get more information in gdb? |
|