Re: mod_python 3.2.7 available for testing

2006-02-06 Thread Volodya
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

2006-02-03 Thread Volodya
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)

2006-01-31 Thread Volodya
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?

2006-01-28 Thread Volodya
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.