Anyway, I just tested the threading problem on 8.0. Comparable (fatal) results.
On 12/16/14 17:39, Stephen R. van den Berg wrote:
Anyway, I just tested the threading problem on 8.0. Comparable (fatal) results.
Arne Goedeke wrote:
What exactly does that mean? Is there a threading bug in pike 8 or is there a threading bug in the new postgres module?
In this case it means that there is a threading bug in Pike 8. The new postgres module has been performing quite admirably for the past four weeks in various production systems. Looks stable.
I tried rewriting the module slightly to fold back threads into the backend when idle. During that process, I ran into some fundamental threading wierdness in Pike 8.x Since there is no cmod in play here, and the changes are in pike code only, the problem must be in Pike itself.
However, in an effort to dig out the bug in Pike, I compiled Pike with various debugging options; which resulted in inconsistent erratic behaviour (even stranger than the original problem), which, to add insult to injury, even varies depending on the debugging level applied.
Can you generate a testcase which does not use postgres? It should be possible with just stdio.file/stdio.buffer, right? It could also be a kernel bug...
Arne
On 01/05/15 10:05, Stephen R. van den Berg wrote:
On 12/16/14 17:39, Stephen R. van den Berg wrote:
Anyway, I just tested the threading problem on 8.0. Comparable (fatal) results.
Arne Goedeke wrote:
What exactly does that mean? Is there a threading bug in pike 8 or is there a threading bug in the new postgres module?
In this case it means that there is a threading bug in Pike 8. The new postgres module has been performing quite admirably for the past four weeks in various production systems. Looks stable.
I tried rewriting the module slightly to fold back threads into the backend when idle. During that process, I ran into some fundamental threading wierdness in Pike 8.x Since there is no cmod in play here, and the changes are in pike code only, the problem must be in Pike itself.
However, in an effort to dig out the bug in Pike, I compiled Pike with various debugging options; which resulted in inconsistent erratic behaviour (even stranger than the original problem), which, to add insult to injury, even varies depending on the debugging level applied.
Arne Goedeke wrote:
Can you generate a testcase which does not use postgres? It should be possible with just stdio.file/stdio.buffer, right? It could also be a kernel bug...
Well, to be honest, (so far) I didn't try. Bugs in threading are the archetypical Heisenbugs. I couldn't predict why/when the bug happened, so it's difficult to reduce it to a simpler testcase. Did you (or anyone else) see the detailed bugreport I mailed to pike-devel ?
But, since I seem to be only one seeing it, I'll take a stab at it (just not today).
pike-devel@lists.lysator.liu.se