Hi there,
we run into problems with pymsnt (up to latest hg version) using 100% CPU (with
python 2.4.4 + twisted 2.4.0 + pymsnt-epoll-0.7 as well as python 2.5.1 and
twisted 2.5.0)
strace shows:
...
epoll_wait(5, {{EPOLLERR|EPOLLHUP, {u32=95, u64=95}}}, 105, 35) = 1
gettimeofday({1188308099, 746385}, NULL) = 0
gettimeofday({1188308099, 746420}, NULL) = 0
epoll_wait(5, {{EPOLLERR|EPOLLHUP, {u32=95, u64=95}}}, 105, 35) = 1
gettimeofday({1188308099, 746538}, NULL) = 0
gettimeofday({1188308099, 746573}, NULL) = 0
epoll_wait(5, {{EPOLLERR|EPOLLHUP, {u32=95, u64=95}}}, 105, 35) = 1
gettimeofday({1188308099, 746682}, NULL) = 0
gettimeofday({1188308099, 746722}, NULL) = 0
epoll_wait(5, {{EPOLLERR|EPOLLHUP, {u32=95, u64=95}}}, 105, 35) = 1
gettimeofday({1188308099, 746840}, NULL) = 0
gettimeofday({1188308099, 746875}, NULL) = 0
epoll_wait(5, {{EPOLLERR|EPOLLHUP, {u32=95, u64=95}}}, 105, 35) = 1
gettimeofday({1188308099, 746989}, NULL) = 0
gettimeofday({1188308099, 747024}, NULL) = 0
epoll_wait(5, {{EPOLLERR|EPOLLHUP, {u32=95, u64=95}}}, 105, 35) = 1
gettimeofday({1188308099, 747142}, NULL) = 0
gettimeofday({1188308099, 747177}, NULL) = 0
epoll_wait(5, {{EPOLLERR|EPOLLHUP, {u32=95, u64=95}}}, 105, 34) = 1
gettimeofday({1188308099, 747286}, NULL) = 0
gettimeofday({1188308099, 747326}, NULL) = 0
epoll_wait(5, {{EPOLLERR|EPOLLHUP, {u32=95, u64=95}}}, 105, 34) = 1
...
the timeout value slowly comes down to zero then goes up to 200 or so and comes
down again. The system sees a fair amount of traffic but similar use of the ICQ
transport has CPU utilisation under 10%. Eventually the actual message
processing grinds to a halt, having MSN connections time out, while the CPU
keeps spinning. The gettimeofday() calls are from logging and pose no problem.
Shouldn't the selectable have been removed from the epfd? Is there an easy way
to debug fd allocation of twisted connections? Ideas appreciated!
cheers,
mc
_______________________________________________
py-transports mailing list
[email protected]
http://lists.modevia.com/cgi-bin/mailman/listinfo/py-transports