[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-API] [xs-devel] xen-ringwatch - NameError: global name 's' is not defined



On 22/07/13 13:24, Andrew Cooper wrote:
On 22/07/13 13:23, David Scott wrote:
On 22/07/13 12:56, rdartigues.ext@xxxxxxxxxx wrote:
Good day all,

I'm using XCP release 1.6.10-61809c.
Suddenly today I got flooded by xen-ringwatch:

I've cc:d xs-devel, since I'm not sure which repository xen-ringwatch
comes from. I don't think it's part of the xapi toolstack -- is it a
storage component?

It is a gross hack which somehow managed to get upstreamed into Xen.

Aha :)

It would be interesting to turn it off and see if anything breaks.

Cheers,
Dave


~Andrew



Traceback (most recent call last):
    File "/usr/sbin/xen-ringwatch", line 593, in ?
      watches.update()
    File "/usr/sbin/xen-ringwatch", line 414, in update
      entry = RingWatch.new(ring)
    File "/usr/sbin/xen-ringwatch", line 357, in new
      state = ring.read()
    File "/usr/sbin/xen-ringwatch", line 136, in read
      state = RingState.from_sysfs(self.path())
    File "/usr/sbin/xen-ringwatch", line 223, in from_sysfs
      req = cls.Req.from_sysfs(_req, size=nr_ents)
    File "/usr/sbin/xen-ringwatch", line 240, in from_sysfs
      raise Exception, "Malformed %s input: %s" % \
NameError: global name 's' is not defined

So I edited the file:
--- /usr/sbin/xen-ringwatch    2013-07-22 13:52:19.000000000 +0200
+++ /usr/sbin/xen-ringwatch    2013-07-22 13:52:30.000000000 +0200
@@ -238,7 +238,7 @@
               match = cls._pattern.search(line)
               if not match:
                   raise Exception, "Malformed %s input: %s" % \
-                    (cls.__name__, repr(s))
+                    (cls.__name__, repr(line))

               i = iter(match.groups())
               for k in i:

Now I can get an error message:
# xen-ringwatch check -T3 --kick
Traceback (most recent call last):
    File "/usr/sbin/xen-ringwatch", line 593, in ?
      watches.update()
    File "/usr/sbin/xen-ringwatch", line 414, in update
      entry = RingWatch.new(ring)
    File "/usr/sbin/xen-ringwatch", line 357, in new
      state = ring.read()
    File "/usr/sbin/xen-ringwatch", line 136, in read
      state = RingState.from_sysfs(self.path())
    File "/usr/sbin/xen-ringwatch", line 223, in from_sysfs
      req = cls.Req.from_sysfs(_req, size=nr_ents)
    File "/usr/sbin/xen-ringwatch", line 240, in from_sysfs
      raise Exception, "Malformed %s input: %s" % \
Exception: Malformed Req input: 'req prod 2291415749 cons -2003551547
event 2291415750'

Unfortunately I don't understand what has gone wrong... could
somebody help me there?

My guess is that the tool is monitoring the state of some of the
shared memory rings which typically contain (block, disk)
request/response metadata. Is it looking for unconsumed data and
attempting to kick a server process? If so, does it have a
signed/unsigned integer interpretation problem?

Cheers,
Dave




_______________________________________________
Xen-api mailing list
Xen-api@xxxxxxxxxxxxx
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.