state of 2.4 final release
I didn't see any replies to the last post, so I'll ask again with a better subject line - as I said last time, as far as I'm aware, I'm not aware of anyone having done a fix for the issue Tim identified ( http://www.python.org/sf/1069160 ) So, my question is: Is this important enough to delay a 2.4 final for? My plan is currently to release it _this_ _Tuesday_, so I really need an answer soon... I've attached Tim's original message at the end here. At the moment, I'm inclined to say "if it's not fixed, it won't kill us". But that's admittedly my own biases - threading bugs annoy me <wink> I'm happy to defer to more knowlegable types, though - is this so bad that it merits delaying the release? I can't make time to look at it before then - I'm still writing slides for a couple of talks at OSDC. Anthony From: Tim Peters <tim.peters@gmail.com> To: Python Dev <python-dev@python.org> Date: 2004-11-19 13:08 This one is a puzzler. See http://www.python.org/sf/1069160 for details. The short course is that the PyThreadState_SetAsyncExc() implementation fell into a common trap, and can cause segfaults under rare conditions (like every other Python thread segfault bug we've ever had). This is easily repaired (although I've got no interest in doing the coding, or even in contriving a test case -- this was an obvious "by eyeball" bug). The puzzle is how to treat this wrt 2.4. Since it's a critical bug, I suppose it "should" force another release candidate. OTOH, this is a C-only API (there's no exposure from Python) that's never used in the core. We could add code to make it segfault every time <wink>, and nothing in the distribution would notice. OTOH, if we broke its intended behavior while fixing the bug, we'd never know that either. "Never used in the core" means never -- the function isn't tested. On the third hand, it's a simple function with an obvious segfault mode that has an obvious fix. I'll leave it to the release manager <wink>.
Anthony Baxter wrote:
So, my question is: Is this important enough to delay a 2.4 final for?
I think we should release the code with that bug. I feel that this async exceptions thing has many more problems in it, and we may have to revert the entire feature. Regards, Martin
[Anthony Baxter]
I didn't see any replies to the last post, so I'll ask again with a better subject line - as I said last time, as far as I'm aware, I'm not aware of anyone having done a fix for the issue Tim identified ( http://www.python.org/sf/1069160 )
So, my question is: Is this important enough to delay a 2.4 final for?
Not according to me; said before I'd be happy if everyone pretended I hadn't filed that report until a month after 2.4 final was released.
[Anthony Baxter]
I didn't see any replies to the last post, so I'll ask again with a better subject line - as I said last time, as far as I'm aware, I'm not aware of anyone having done a fix for the issue Tim identified ( http://www.python.org/sf/1069160 )
So, my question is: Is this important enough to delay a 2.4 final for?
[Tim]
Not according to me; said before I'd be happy if everyone pretended I hadn't filed that report until a month after 2.4 final was released.
Any chance of this getting fixed before 2.4.1 goes out in February? Raymond
[Anthony Baxter]
I didn't see any replies to the last post, so I'll ask again with a better subject line - as I said last time, as far as I'm aware, I'm not aware of anyone having done a fix for the issue Tim identified ( http://www.python.org/sf/1069160 )
So, my question is: Is this important enough to delay a 2.4 final for?
[Tim]
Not according to me; said before I'd be happy if everyone pretended I hadn't filed that report until a month after 2.4 final was released.
[Raymond Hettinger]
Any chance of this getting fixed before 2.4.1 goes out in February?
It probably won't be fixed by me. It would be better if a Unix-head volunteered to repair it, because the most likely kind of thread race (explained in the bug report) has proven impossible to provoke on Windows (short of carefully inserting sleeps into Python's C code) any of the times this bug has been reported in the past (the same kind of bug has appeared several times in different parts of Python's threading code -- holding the GIL is not sufficient protection against concurrent mutation of the tstate chain, for reasons explained in the bug report). A fix is very simple (also explained in the bug report) -- acquire the damn mutex, don't trust to luck.
[Anthony Baxter]
I'm not aware of anyone having done a fix for the issue Tim identified ( http://www.python.org/sf/1069160 )
[Raymond Hettinger]
Any chance of this getting fixed before 2.4.1 goes out in February?
[Timbot]
It probably won't be fixed by me. It would be better if a Unix-head volunteered to repair it, because the most likely kind of thread race (explained in the bug report) has proven impossible to provoke on Windows (short of carefully inserting sleeps into Python's C code) any of the times this bug has been reported in the past (the same kind of bug has appeared several times in different parts of Python's threading code -- holding the GIL is not sufficient protection against concurrent mutation of the tstate chain, for reasons explained in the bug report).
A fix is very simple (also explained in the bug report) -- acquire the damn mutex, don't trust to luck.
Hey Unix-heads. Any takers? Raymond
participants (4)
-
"Martin v. Löwis"
-
Anthony Baxter
-
Raymond Hettinger
-
Tim Peters