Hi All,

I want to share my little workaround for problem some people here, including 
me, has.
I running Zenoss 2.0.6 on FreeBSD 6.2, Python2.4.

Actually I'm not programmer so be kind if I missed something.
Problem raises when local process id counter is running over 65535.
in icmp.py number of next available pid used in struct.pack function but 
limited by format to H (unsigned short which max value is 65535)
actually this explains the issue when somebody in related post mentioned that 
after some time zenoss running the problem rises.

so, if you have same prob you can apply this patch below.

Regards



Code:
--- lib/python/icmp.py_ Thu Jul 12 04:14:20 2007
+++ lib/python/icmp.py  Wed Sep 26 16:59:47 2007
@@ -128,14 +128,14 @@
     
 
     def _get_icmp_data(self):
-        return struct.pack('HH', self.get_id(), self.get_seq()) + 
self.get_data()
+        return struct.pack('IH', self.get_id(), self.get_seq()) + 
self.get_data()
 
     def _disassemble(self, buffer, cksum):
         if len(buffer) < 8:
             raise ValueError, "Invalid ICMP Packet length: %d" % len(buffer)
         
-        (self.__id, self.__seq) = struct.unpack('HH', buffer[4:8])
-        self.__data = buffer[8:]
+        (self.__id, self.__seq) = struct.unpack('IH', buffer[4:10])
+        self.__data = buffer[10:]
         Packet._disassemble(self, buffer, cksum)
 
     def get_id(self): return self.__id






-------------------- m2f --------------------

Read this topic online here:
http://community.zenoss.com/forums/viewtopic.php?p=11147#11147

-------------------- m2f --------------------



_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users

Reply via email to