Re: mod_python 3.2.7 available for testing
On Sun, Feb 05, 2006 at 09:10:15PM -0500, Jim Gallacher wrote: Mod_python 3.2.7 tarball is available for test. Here's hoping this will be to final time we need your help testing before the official release. 3.2.7 adds a fix for the connection read issue that was causing problems on FreeBSD. Here are the rules: In order for a file to be officially announced, it has to be tested by developers on the dev list. Anyone subscribed to this list can (and should feel obligated to :-) ) test it, and provide feedback *to _this_ list*! (Not the [EMAIL PROTECTED] list, and preferably not me personally). +1 FreeBSD 4.9 , Apache 2.0.50 (prefork), Python 2.3.4 +1 FreeBSD 4.9 , Apache 2.0.55 (prefork), Python 2.4.2
Re: 3.2.6 or not
On Thu, Feb 02, 2006 at 10:54:27PM -0500, Jim Gallacher wrote: Graham Dumpleton wrote: To confirm Jim's arithmetic anyway, I say -1 on 3.2.6 as it stands. As to 3.2.7, I say +1, subject to removal of problematic test case as already raised and with us at least confirming tests run OK for version out of SVN prior to packaging. Oh, so *that's* where you said we should disable the test. ;) I've disabled the publisher_cache test and the connection handler fix has been checked in. We are good to go for 3.2.7. As Graham suggests perhaps we could get some people to confirm the current version in SVN trunk prior to packaging. A couple of thumbs up from some FreeBSD'ers would be especially nice since the connection handler problem seemed to be most prevalent on that platform. If everything looks ok I'll create the 3.2.7 tarball sometime Friday. I've tested trunk (rev 374588): FreeBSD 4.9, Apache 2.0.55 (prefork), Python 2.4.2 FreeBSD 4.9, Apache 2.0.50 (prefork), Python 2.3.4 All tests passed successfully.
Re: Segfaults in ConnectionHander (Possible Solution)
On Mon, Jan 30, 2006 at 09:40:39PM -0500, Graham Dumpleton wrote: Graham Dumpleton wrote .. Extending the above code as: Py_BEGIN_ALLOW_THREADS; rc = ap_get_brigade(c-input_filters, bb, mode, APR_BLOCK_READ, bufsize); Py_END_ALLOW_THREADS; if (! APR_STATUS_IS_SUCCESS(rc)) { PyErr_SetObject(PyExc_IOError, PyString_FromString(Connection read error)); return NULL; } /* Return empty string if no buckets. Can be caused by EAGAIN. */ if (APR_BRIGADE_EMPTY(bb)) { return PyString_FromString(); } seems to fix the problem. Ie., use call to APR_BRIGADE_EMPTY(bb) to check whether any new buckets added and returning empty string if not. Okay, this may work, but the EAGAIN propogating backup as an empty string to Python can cause a tight loop to occur where calls are going out and back into Python code. This will occur until something is read or an error occurs. To avoid the back and forth, another option may be: while (APR_BRIGADE_EMPTY(bb)) { Py_BEGIN_ALLOW_THREADS; rc = ap_get_brigade(c-input_filters, bb, mode, APR_BLOCK_READ, bufsize); Py_END_ALLOW_THREADS; if (! APR_STATUS_IS_SUCCESS(rc)) { PyErr_SetObject(PyExc_IOError, PyString_FromString(Connection read error)); return NULL; } } Graham, this code runs smoothly, i.e. no segfaults, all tests passed: FreeBSD 4.9: Apache/2.0.50 (prefork) Python/2.3.4 Apache/2.0.55 (prefork) Python/2.4.2 Thanks!
Re: 3.2.6 test period - how long do we wait?
On Fri, Jan 27, 2006 at 10:28:24AM -0500, Gregory (Grisha) Trubetskoy wrote: OK, and I see Ron sent a Solaris 10 +1, which is good. I think we need a FreeBSD +1 - perhaps not necessarily 6.0, but something... FreeBSD 4.9 In my case PythonConnectionHandler test fails. Tested on: Apache/2.0.55 (prefork) mod_python/3.2.6 Python/2.4.2 Apache/2.0.50 (prefork) mod_python/3.2.6 Python/2.3.4 I've tried to reproduce this test manually: $ /usr/local/sbin/httpd -k start -f /home/volodya/mod_python-3.2.6/test/conf/test.conf $ GET http://localhost:2758/tests.py 500 Server closed connection without sending any data back $ telnet localhost 2758 telnet localhost 2758 Trying 127.0.0.1... Connected to localhost.mydomain.tld. Escape character is '^]'. Connection closed by foreign host. Child sigfaults immediately after connection being established. logs/error_log: [notice] mod_python: Creating 8 session mutexes based on 256 max processes and 0 max threads. [notice] Apache/2.0.50 (FreeBSD) mod_python/3.2.6 Python/2.3.4 configured -- resuming normal operations [info] Server built: Jul 15 2004 11:25:58 [debug] prefork.c(955): AcceptMutex: flock (default: flock) [notice] child pid 98975 exit signal Segmentation fault (11), possible coredump in /home/volodya/mod_python-3.2.6/test [notice] child pid 98977 exit signal Segmentation fault (11), possible coredump in /home/volodya/mod_python-3.2.6/test Yes, i know that FreeBSD 4.9 is rather old, but this is the only version i have at my disposal.