I used to run a backend fastcgi server on Fedora box with
lighttpd-1.3.16, and everything was OK.
Recently I installed Cygwin which has lighttpd-1.4.9 included, on
WinXP boxes, and run the same backend server on it. Everything seems
started normally at the beginning, but when the client (web broswer)
sents a request to the fastcgi server, the connection from lighttpd to
the backend broken.
I have sent question to the lighttpd forum, but seems few people
have expeirence with Cygwin there. So I post it to here, hoping some
one can help.
=======================================================
At the lighttpd error log, I got:
2006-03-09 17:50:40:
(/home/lapo/packaging/tmp/lighttpd-1.4.9/src/log.c.75) server started
2006-03-09 17:51:34:
(/home/lapo/packaging/tmp/lighttpd-1.4.9/src/mod_fastcgi.c.2645) proc:
0 /cygdrive/g/BackServer/fcgi_socket1-0 1 1 0 5616
2006-03-09 17:51:35:
(/home/lapo/packaging/tmp/lighttpd-1.4.9/src/mod_fastcgi.c.2645) proc:
0 /cygdrive/g/BackServer/fcgi_socket1-0 1 1 0 5616
...
2006-03-09 17:51:49:
(/home/lapo/packaging/tmp/lighttpd-1.4.9/src/mod_fastcgi.c.2645) proc:
0 /cygdrive/g/BackServer/fcgi_socket1-0 1 1 0 5616
2006-03-09 17:51:50:
(/home/lapo/packaging/tmp/lighttpd-1.4.9/src/mod_fastcgi.c.1665) connect
delayed, will continue later:
2006-03-09 17:51:50:
(/home/lapo/packaging/tmp/lighttpd-1.4.9/src/mod_fastcgi.c.2918) got
proc: 8 5616 /cygdrive/g/BackServer/fcgi_socket1-0 0 1
2006-03-09 17:51:50:
(/home/lapo/packaging/tmp/lighttpd-1.4.9/src/mod_fastcgi.c.2986) write
failed: Broken pipe 32
2006-03-09 17:51:50:
(/home/lapo/packaging/tmp/lighttpd-1.4.9/src/mod_fastcgi.c.1471) release
proc: 8 5616 /cygdrive/g/BackServer/fcgi_socket1-0
2006-03-09 17:51:50:
(/home/lapo/packaging/tmp/lighttpd-1.4.9/src/mod_fastcgi.c.2645) proc:
0 /cygdrive/g/BackServer/fcgi_socket1-0 1 1 0 5616
2006-03-09 17:51:51:
(/home/lapo/packaging/tmp/lighttpd-1.4.9/src/mod_fastcgi.c.2645) proc:
0 /cygdrive/g/BackServer/fcgi_socket1-0 1 1 0 5616
=======================================================
And at the backend side, where I used Jonpy fcgi server, which was using
a python socket.accept to listen to lighttpd, I got:
Mar 09 17:50:41 INFO BackServer [5616-4587528]: fcgi.Server:
threading_level = 1
Mar 09 17:50:41 INFO BackServer [5616-4587528]: fcgi.Server: Initiated
Mar 09 17:50:41 INFO BackServer [5616-4587528]: fcgi.Server:
Server.run()
Mar 09 17:50:41 INFO BackServer [5616-4587528]: fcgi.Server:
web_server_addrs = None
Mar 09 17:50:41 INFO BackServer [5616-4587528]: fcgi.Server:
excptn[0]==errno.ENOTCONN
Mar 09 17:50:41 INFO BackServer [5616-4587528]: fcgi.Server: self._sock:
fileno=5
Mar 09 17:50:41 INFO BackServer [5616-4587528]: fcgi.Server: self._sock:
sockname='/cygdrive/g/B'
Mar 09 17:50:41 INFO BackServer [5616-4587528]: fcgi.Server: before
_sock.setblocking(1)
Mar 09 17:50:41 INFO BackServer [5616-4587528]: fcgi.Server: before
select
Mar 09 17:51:50 INFO BackServer [5616-4587528]: fcgi.Server: Before
accept.
Mar 09 17:51:50 INFO ERROR BackServer [5616-4587528]: fcgi.Server:
socket.error=(113, 'Software caused connection abort')
Mar 09 17:51:50 INFO BackServer [5616-4587528]: FCGI worker process
finished
Mar 09 17:51:50 ERROR BackServer [5616-4587528]: (113, 'Software caused
connection abort')
=======================================================
Compare with the successful running on Fedora with lighttpd-1.3.16,
where I have the log as the followings:
Lighttpd error log:
2006-03-09 18:53:33: (log.c.73) server started
2006-03-09 18:53:57: (mod_fastcgi.c.2275) proc: 0
/usr/local/BackServer/fcgi_socket1-0 1 1 0 3572
2006-03-09 18:53:58: (mod_fastcgi.c.2275) proc: 0
/usr/local/BackServer/fcgi_socket1-0 1 1 0 3572
...
2006-03-09 18:54:10: (mod_fastcgi.c.2275) proc: 0
/usr/local/TileFile/BackServer/fcgi_socket1-0 1 1 0 3572
2006-03-09 18:54:11: (mod_fastcgi.c.1487) connect succeeded: 8
2006-03-09 18:54:11: (mod_fastcgi.c.2485) got proc: 8 3572
/usr/local/BackServer/fcgi_socket1-0 0 1
2006-03-09 18:54:11: (mod_fastcgi.c.1285) release proc: 8 3572
/usr/local/BackServer/fcgi_socket1-0
2006-03-09 18:54:11: (mod_fastcgi.c.1487) connect succeeded: 8
2006-03-09 18:54:11: (mod_fastcgi.c.2485) got proc: 8 3572
/usr/local/BackServer/fcgi_socket1-0 0 1
2006-03-09 18:54:11: (mod_fastcgi.c.2275) proc: 0
/usr/local/BackServer/fcgi_socket1-0 1 1 1 3572
2006-03-09 18:54:12: (mod_fastcgi.c.1285) release proc: 8 3572
/usr/local/BackServer/fcgi_socket1-0
2006-03-09 18:54:12: (mod_fastcgi.c.1487) connect succeeded: 8
2006-03-09 18:54:12: (mod_fastcgi.c.2485) got proc: 8 3572
/usr/local/BackServer/fcgi_socket1-0 0 1
...
=======================================================
And at the backend server's log, I got:
Mar 09 18:53:34 INFO BackServer [3572--1209014592]: fcgi.Server:
threading_level = 1
Mar 09 18:53:34 INFO BackServer [3572--1209014592]: fcgi.Server:
Initiated
Mar 09 18:53:34 INFO BackServer [3572--1209014592]: fcgi.Server:
Server.run()
Mar 09 18:53:34 INFO BackServer [3572--1209014592]: fcgi.Server:
web_server_addrs = None
Mar 09 18:53:34 INFO BackServer [3572--1209014592]: fcgi.Server:
exceptn[0]==errno.ENOTCONN
Mar 09 18:53:34 INFO BackServer [3572--1209014592]: fcgi.Server:
self._sock: fileno=8
Mar 09 18:53:34 INFO BackServer [3572--1209014592]: fcgi.Server:
self._sock: sockname=/usr/local/Bac¸ ¡¿án©
Mar 09 18:53:34 INFO BackServer [3572--1209014592]: fcgi.Server: before
_sock.setblocking(1)
Mar 09 18:54:11 INFO BackServer [3572--1209014592]: fcgi.Server: after
select
Mar 09 18:54:11 INFO BackServer [3572--1209014592]: fcgi.Server:
self._sock: fileno=8
Mar 09 18:54:11 INFO BackServer [3572--1209014592]: fcgi.Server:
self._sock: sockname=/usr/local/Bac¸ ¡¿án©
Mar 09 18:54:11 INFO BackServer [3572--1209014592]: fcgi.Server: Before
accept.
Mar 09 18:54:11 INFO BackServer [3572--1209014592]: fcgi.Server:
newsock=<socket object, fd=9, family=2, type=1, protocol=0>, addr=
Mar 09 18:54:11 INFO BackServer [3572--1209014592]: fcgi.Server:
accepted connection 9 from ''
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Connection: 9
New connection running
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Connection: 9/
1 FCGI_BEGIN_REQUEST: role = 1, flags = 0
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Connection: 9/
1 executing request
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Request: 9/ 1
New request running
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Request: 9/ 1
Calling handler
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: Handler Process
start.
Mar 09 18:54:11 INFO BackServer [3572--1214444624]:
req=<jon.fcgi.Request object at 0xb79fadec>
Mar 09 18:54:11 INFO BackServer [3572--1214444624]:
response=<back.myserver.http_jon.Response instance at 0xb79f20ac>
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: Request: GET
/myserver/login?onLoad=%5Btype%20Function%5D&password=password&email=testuser%40myserver%2Ecom
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: Responded to request
'login' in 274.25ms
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: dispatch done.
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Request: 9/ 1
Handler finished
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Request: 9/ 1
FCGI_STDOUT: 'Content-Type: application/x-www-form-urlencoded\r\n'
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Request: 9/ 1
FCGI_STDOUT: '\r\n'
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Request: 9/ 1
FCGI_STDOUT:
'sessionID=5fa4cfe3a002b9052a3ce2127d11064617bfd3d6&error=0'
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Request: 9/ 1
Closed FCGI_STDOUT
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Request: 9/ 1
Sent FCGI_END_REQUEST
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Request: 9/ 1
Closed connection
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Request: 9/ 1
Request complete
Mar 09 18:54:11 INFO BackServer [3572--1214444624]: fcgi.Connection: 9
EOF received on connection
...
============================================================
So, what could be the cause? Thank you in advance.
Xiaogang
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/