OverflowError, "long int exceeds XML-RPC limits"

Bug #564476 reported by dino99
140
This bug affects 26 people
Affects Status Importance Assigned to Milestone
denyhosts (Debian)
Fix Released
Unknown
denyhosts (Ubuntu)
Confirmed
High
Unassigned

Bug Description

Binary package hint: denyhosts

Lucid B2 updated

got these errors into /var/log/denyhosts

OverflowError, "long int exceeds XML-RPC limits"

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: denyhosts 2.6-6.1ubuntu1
ProcVersionSignature: Ubuntu 2.6.32-21.31-generic-pae 2.6.32.11+drm33.2
Uname: Linux 2.6.32-21-generic-pae i686
NonfreeKernelModules: nvidia
Architecture: i386
Date: Fri Apr 16 09:35:56 2010
PackageArchitecture: all
ProcEnviron:
 LANG=fr_FR.utf8
 SHELL=/bin/bash
SourcePackage: denyhosts

Revision history for this message
dino99 (9d9) wrote :
Revision history for this message
StoatWblr (stoatwblr) wrote :

FWIW, upstream version of denyhosts has been at 2.7 since November 2008. Perhaps a package update is in order?

Revision history for this message
Ted (kulinskit) wrote :

The denyhosts author (thanks Phil!) and another person seem to have solved this issue. See http://sourceforge.net/tracker/index.php?func=detail&aid=2898723&group_id=131204&atid=720419 for the details.

I am running Ubuntu 10.04. The following fix from sourceforge blog got it working for me:

1) Edit /var/lib/denyhosts/sync-timestamp, and replace the timestamp with a valid unix timestamp. (I used 1276467300 )

2) At line 55 in /usr/share/denyhosts/DenyHosts/sync.py, I made the following change

from
fp = open(os.path.join(self.__work_dir,
SYNC_TIMESTAMP), "a")

to
fp = open(os.path.join(self.__work_dir,
SYNC_TIMESTAMP), "w")

I take *NO* credit for the fix, but am posting to give something back to the community & hopefully save the next chap some research time fixing this issue.

Revision history for this message
dino99 (9d9) wrote :

Thanks Ted, will try your tweaks

Revision history for this message
dino99 (9d9) wrote :

Nice , i've received 50 new hosts since #3 changes

Revision history for this message
dino99 (9d9) wrote :

i confirm that with #3 change proposed, now denyhosts is working fine, but it'll be nice to use the latest stable package available instead of this oldish into ubuntu repo: please devs upgrade it

Revision history for this message
Ted (kulinskit) wrote :

Glad it worked for you!

Revision history for this message
Valerio Angelici (valerio-angelici) wrote :

worked for me too! thanks!

Revision history for this message
RoyK (roysk) wrote :

is this likely to be changed in a package update?

Revision history for this message
RoyK (roysk) wrote :

I just tried this fix, but it didn't help much. I somehow doubt this 'fix' will do much, since the error one should have gotten if there was a problem with opening in append mode would be something completely different than an XML-RPC error.

I've tried tracing the problem, but after some work, I noticed that even though we're getting these error messages, the server does indeed receive updates. It might be a problem where denyhosts are _not_ receiving updates, and probably related to SYNC_DOWNLOAD_RESILIENCY, and then panicing slightly before going on.

I suggest doing a won'tfix on this one, since it's clearly not a critical bug, although it may be good to document it somewhere

roy

Revision history for this message
Daniel Holbert (dholbert) wrote :

> I somehow doubt this 'fix' will do much, since the
> error one should have gotten if there was a problem
> with opening in append mode would be something
> completely different than an XML-RPC error.

No -- the error makes sense actually. What happens is something like this:
 - the timestamp file starts out as a valid timestamp (e.g. "1285710078")
 - denyhosts updates it, **appending** to it, yielding a timestamp with twice the normal amount of digits.
   (e.g. "12857100781285710679" in my case)
 - The next time denyhosts sends a request to the server, it asks for all the changes since this gigantic timestamp, and that causes the long int OverflowError described in the initial comment here.

So I think everything makes sense here. I've just applied the suggested workaround to one of my own servers, but I haven't verified whether it's worked yet.

Revision history for this message
Daniel Holbert (dholbert) wrote :

(Just to follow up on comment #11 -- the workaround did indeed work for me.)

Revision history for this message
Benjamin Schmid (benbuntu) wrote :

Thanks Ted, your feedback helped me alot to pinpoint this isses fast. Expierienced also under Debian squeeze.

Changed in denyhosts (Debian):
status: Unknown → New
Revision history for this message
Pablo Englebienne (pablo-englebienne) wrote :

The change suggested by comment #3 resolves this issue. This is still an existing problem today on an up-to-date system running Maverick, so I generated the attached patch hoping that it will be incorporated soon into an update.

tags: added: patch
tags: added: maverick
Revision history for this message
Ben Coleman (b-coleman) wrote :

This problem also exists in Natty. I just installed a new server with Natty, and it has this problem.

dino99 (9d9)
Changed in denyhosts (Ubuntu):
status: New → Confirmed
Changed in denyhosts (Debian):
status: New → Fix Committed
Changed in denyhosts (Debian):
status: Fix Committed → Fix Released
Revision history for this message
Kaizoku (neoark) wrote :

I still have this problem in oneiric ..

denyhosts --sync
long int exceeds XML-RPC limits
Traceback (most recent call last):
  File "/usr/share/denyhosts/DenyHosts/sync.py", line 117, in receive_new_hosts
    self.__prefs.get("SYNC_DOWNLOAD_RESILIENCY"))
  File "/usr/lib/python2.7/xmlrpclib.py", line 1224, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1569, in __request
    allow_none=self.__allow_none)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1085, in dumps
    data = m.dumps(params)
  File "/usr/lib/python2.7/xmlrpclib.py", line 632, in dumps
    dump(v, write)
  File "/usr/lib/python2.7/xmlrpclib.py", line 654, in __dump
    f(self, value, write)
  File "/usr/lib/python2.7/xmlrpclib.py", line 680, in dump_long
    raise OverflowError, "long int exceeds XML-RPC limits"
OverflowError: long int exceeds XML-RPC limits

Revision history for this message
dusoft (dusoft-staznosti) wrote :

OI confirm, this error occurs in oneiric, 11.10, but the fix mentioned above works! (change from "a" to "w')

Revision history for this message
dino99 (9d9) wrote :

As the Debian is marked as "fixed", the ubuntu one should be synced also

tags: added: needs-synced
Changed in denyhosts (Debian):
status: Fix Released → New
Revision history for this message
no!chance (ralf-fehlau) wrote :

This error is 2 years old. Why isn't it fixed. I think, precise pangolin should be an LTS release. I think I will install this package from the developers homepage instead of installing it from the ubuntu repositories. :-( is there nobody, who maintains this package?

Changed in denyhosts (Debian):
status: New → Fix Released
Revision history for this message
dino99 (9d9) wrote :

That package is quite old : latest sourceforge released is from 2008, even if some maintenance is still done

http://sourceforge.net/p/denyhosts/patches/

tags: added: trusty
removed: lucid maverick needs-synced
Changed in denyhosts (Ubuntu):
importance: Undecided → High
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.