Ticket #5551 defect new
struct.error: argument out of range for 4-bytes integer format
| Reported by: | pigmej | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | names | Keywords: | |
| Cc: | Branch: | ||
| Author: | Launchpad Bug: |
Description
I have custom Names backend everything works etc, but after "some hours" after the start some domains seems to stop working. In logs I can see that traceback (see above).
2012-03-14 10:02:33+0000 [DNSDatagramProtocol (UDP)] Unhandled Error
Traceback (most recent call last):
File "/opt/dns/site-packages/twisted/names/server.py", line 192, in messageReceived
self.handleQuery(message, proto, address)
File "/opt/dns/site-packages/twisted/names/server.py", line 137, in handleQuery
self.gotResolverResponse, protocol, message, address
File "/opt/dns/site-packages/twisted/internet/defer.py", line 301, in addCallback
callbackKeywords=kw)
File "/opt/dns/site-packages/twisted/internet/defer.py", line 290, in addCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "/opt/dns/site-packages/twisted/internet/defer.py", line 551, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/opt/dns/site-packages/twisted/names/server.py", line 107, in gotResolverResponse
self.sendReply(protocol, message, address)
File "/opt/dns/site-packages/twisted/names/server.py", line 92, in sendReply
protocol.writeMessage(message, address)
File "/opt/dns/site-packages/twisted/names/dns.py", line 1804, in writeMessage
self.transport.write(message.toStr(), address)
File "/opt/dns/site-packages/twisted/names/dns.py", line 1686, in toStr
self.encode(strio)
File "/opt/dns/site-packages/twisted/names/dns.py", line 1587, in encode
q.encode(body_tmp, compDict)
File "/opt/dns/site-packages/twisted/names/dns.py", line 497, in encode
strio.write(struct.pack(self.fmt, self.type, self.cls, self.ttl, 0))
struct.error: argument out of range for 4-bytes integer format
I checked the backend and it always returns the same values, that's the part where I'm building the A answer:
defer.returnValue([
(
dns.RRHeader(hostname,
dns.A,
dns.IN,
self.ttl,
dns.Record_A(record['content'],
self.ttl)
),
),
(),
()
]
)
When I restart the names server everything starts work again.
Change History
Note: See
TracTickets for help on using
tickets.
