Page MenuHomePhabricator

loltrs crashes upon migrating to stretch grid
Closed, ResolvedPublic

Description

@Az1568 asked me for help on migrating the loltrs IRC bot over to the stretch grid. The bot runs as a continuous job, and the two external dependencies it has, twisted and BeautifulSoup, are installed via packages.

The bot works when directly run on the trusty bastion, stretch bastion, trusty grid. It does not work when run on the stretch grid.

For whatever reason, the bot is crashing after roughly two minutes, leading me to suspect there's some timeout that's failing.

(venv) tools.loltrs@tools-sgeexec-0934:~$ time python loltrs.py 

Traceback (most recent call last):
  File "loltrs.py", line 540, in <module>
    raise ValueError
ValueError

real	2m0.399s
user	0m0.156s
sys	0m0.044s

(The bot is designed to throw a ValueError at the end so the job will restart, but it should never reach that point since the twisted part should be blocking...)

I set up a virtualenv that has the same versions of twisted/BS from trusty, but that didn't help.

(venv) tools.loltrs@tools-sgeexec-0934:~$ pip freeze
BeautifulSoup==3.2.1
pkg-resources==0.0.0
Twisted==13.2.0
zope.interface==4.6.0

I tried ping irc.freenode.net, which worked fine. ping6 didn't, but I think that's expected.

tools.loltrs@tools-sgeexec-0934:~$ ping irc.freenode.net
PING chat.freenode.net (149.56.134.238) 56(84) bytes of data.
64 bytes from cherryh.freenode.net (149.56.134.238): icmp_seq=1 ttl=54 time=14.4 ms
64 bytes from cherryh.freenode.net (149.56.134.238): icmp_seq=2 ttl=54 time=16.2 ms
64 bytes from cherryh.freenode.net (149.56.134.238): icmp_seq=3 ttl=54 time=13.7 ms
64 bytes from cherryh.freenode.net (149.56.134.238): icmp_seq=4 ttl=54 time=15.4 ms

I checked that identd is running in case freenode is blocking us....??

legoktm@tools-sgeexec-0934:~$ sudo lsof -i :113
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
inetd   9861 root    7u  IPv4  43899      0t0  TCP *:auth (LISTEN)

I'm mostly confused as to how it would work on on a stretch bastion host, but not a stretch grid host, since the former is supposed to be more restrictive.