Protocols.SNMP.protocol()->readmsg waits forever trying to read from the socket. The problem is you can send out a request on a lossy link, then try to readmsg() it, and never get an answer, hanging your script. I've attached a tiny patch to add an optional int|void timeout to readmsg().
Adam