Description of problem: When accepting socket connections, cherrypy doesn't handle interrupted system calls gracefully. This means that e.g. if a cherrypy application (e.g. a TurboGears website) gets SIGSTOP and SIGCONT or the machine gets suspended/resumed, it doesn't serve web pages anymore. Version-Release number of selected component (if applicable): python-cherrypy-2.2.1-6.fc7 (any version < 3.1.0 beta!) How reproducible: Easy Steps to Reproduce: 1. Start a cherrypy app 2. Load one of its pages into the browser (works) 3. "kill -STOP ..." its processes 4. Try to load the same page into the browser Actual results: Browser hangs, traceback in app: Exception in thread CPHTTPServer Thread-2: Traceback (most recent call last): File "/usr/lib64/python2.5/threading.py", line 460, in __bootstrap self.run() File "/usr/lib64/python2.5/threading.py", line 440, in run self.__target(*self.__args, **self.__kwargs) File "/usr/lib/python2.5/site-packages/cherrypy/_cpserver.py", line 114, in _start_http self.httpserver.start() File "/usr/lib/python2.5/site-packages/cherrypy/_cpwsgiserver.py", line 319, in start self.tick() File "/usr/lib/python2.5/site-packages/cherrypy/_cpwsgiserver.py", line 325, in tick s, addr = self.socket.accept() File "/usr/lib64/python2.5/socket.py", line 167, in accept sock, addr = self._sock.accept() error: (4, 'Interrupted system call') Expected results: Page gets served, no traceback in app. Additional info: Upstream Ticket is http://www.cherrypy.org/ticket/707
Created attachment 247161 [details] backported fix
NB: same on F8 as it is the same package (inherited from F7).
Fixed in python-cherrypy-2.2.1-7.fc9. I'll push this into bodhi for F7/F8 shortly. Thanks for the patch!
Itch, meet scratch ;-). Changing resolution to ERRATA, as I think NEXTRELEASE is for things you don't intend to fix in the current product (here Fedora) version.
... or come to think of it MODIFIED since new packages for F7/F8 haven't been built/pushed.
python-cherrypy-2.2.1-7.fc8 has been pushed to the Fedora 8 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update python-cherrypy'
Works for me with python-cherrypy-2.2.1-7.fc7 from koji. I'll try the F8 version once I get in front of the laptop.
python-cherrypy-2.2.1-7.fc8 works as well.
python-cherrypy-2.2.1-7.fc7 has been pushed to the Fedora 7 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update python-cherrypy'
python-cherrypy-2.2.1-7.fc8 has been pushed to the Fedora 8 stable repository. If problems still persist, please make note of it in this bug report.
python-cherrypy-2.2.1-7.fc7 has been pushed to the Fedora 7 stable repository. If problems still persist, please make note of it in this bug report.