bdrewery / PyBorg

Fork of PyBorg AI bot for cutie578 on EFNet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crash on 64bit in pack

bdrewery opened this issue · comments

Was a new bot, first sentences seen:

what the
an imposter

Stack trace

Traceback (most recent call last):
  File "../lib/pyborg/pyborg-irc.py", line 595, in 
    bot.our_start()
  File "../lib/pyborg/pyborg-irc.py", line 159, in our_start
    self.start()
  File "/home/bryan/git/pyborg/lib/pyborg/ircbot.py", line 251, in start
    SimpleIRCClient.start(self)
  File "/home/bryan/git/pyborg/lib/pyborg/irclib.py", line 1114, in start
    self.ircobj.process_forever()
  File "/home/bryan/git/pyborg/lib/pyborg/irclib.py", line 229, in process_forever
    self.process_once(timeout)
  File "/home/bryan/git/pyborg/lib/pyborg/irclib.py", line 214, in process_once
    self.process_data(i)
  File "/home/bryan/git/pyborg/lib/pyborg/irclib.py", line 183, in process_data
    c.process_data()
  File "/home/bryan/git/pyborg/lib/pyborg/irclib.py", line 581, in process_data
    self._handle_event(Event(command, prefix, target, [m]))
  File "/home/bryan/git/pyborg/lib/pyborg/irclib.py", line 604, in _handle_event
    self.irclibobj._handle_event(self, event)
  File "/home/bryan/git/pyborg/lib/pyborg/irclib.py", line 325, in _handle_event
    if handler[1](connection, event) == "NO MORE":
  File "/home/bryan/git/pyborg/lib/pyborg/irclib.py", line 1049, in _dispatcher
    getattr(self, m)(c, e)
  File "../lib/pyborg/pyborg-irc.py", line 227, in on_pubmsg
    self.on_msg(c, e)
  File "../lib/pyborg/pyborg-irc.py", line 333, in on_msg
    self.pyborg.process_msg(self, body, replyrate, learn, (body, source, target, c, e), owner=1)
  File "/home/bryan/git/pyborg/lib/pyborg/pyborg.py", line 348, in process_msg
    self.learn( body )
  File "/home/bryan/git/pyborg/lib/pyborg/pyborg.py", line 1093, in learn
    [learn_line( self, x, num_context ) for x in body.split( ". " )]
  File "/home/bryan/git/pyborg/lib/pyborg/pyborg.py", line 1079, in learn_line
    self.words[words[x]] = [ struct.pack( "iH", hashval, x ) ]
error: 'i' format requires -2147483648 <= number <= 2147483647

The object.hash was changed in Python 2.5 to return a long on 64bit machines. The struct.pack should expect a long instead of an integer.