Opened 7 years ago

Last modified 7 years ago

#6259 defect new

— at epoll reactor continually errors when given a delayed call with an excessive timeoutInitial Version

Reported by: Tom Cocagne Owned by:
Priority: normal Milestone:
Component: core Keywords: epoll reactor timeout
Cc: Branch:
Author:

Description

Found in 12.1/python2.6 & 12.3/python2.7. Occurs when using the epoll function from the stdlib select module.

To repeat:

#echo > t.tap <<< EOF from twisted.application import service from twisted.internet import reactor

application = service.Application('blah')

reactor.callLater(1000000000000, lambda : None) EOF #twistd -noy t

This generates a continual stream of the following message:

2013-01-17 14:40:11-0600 [-] Unhandled Error

Traceback (most recent call last):

File "/usr/lib64/python2.7/site-packages/twisted/scripts/_twistd_unix.py", line 231, in postApplication

self.startReactor(None, self.oldstdout, self.oldstderr)

File "/usr/lib64/python2.7/site-packages/twisted/application/app.py", line 402, in startReactor

self.config, oldstdout, oldstderr, self.profiler, reactor)

File "/usr/lib64/python2.7/site-packages/twisted/application/app.py", line 323, in runReactorWithLogging

reactor.run()

File "/usr/lib64/python2.7/site-packages/twisted/internet/base.py", line 1173, in run

self.mainLoop()

--- <exception caught here> ---

File "/usr/lib64/python2.7/site-packages/twisted/internet/base.py", line 1185, in mainLoop

self.doIteration(t)

File "/usr/lib64/python2.7/site-packages/twisted/internet/epollreactor.py", line 364, in doPoll

l = self._poller.poll(timeout, len(self._selectables))

exceptions.OverflowError: timeout is too large

The problem does not occur if the "select" reactor is used instead:

#twistd --reactor=select -noy t

Change History (0)

Note: See TracTickets for help on using tickets.