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....@orange.com 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@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api

Reply via email to