[Bug 4273] New: Python tracebacks serving web requests: ValueError: offset must be zero or positive

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Wed Jun 11 13:47:15 CDT 2014


http://bz.selenic.com/show_bug.cgi?id=4273

          Priority: normal
            Bug ID: 4273
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: Python tracebacks serving web requests: ValueError:
                    offset must be zero or positive
          Severity: bug
    Classification: Unclassified
                OS: Linux
          Reporter: bkero at mozilla.com
          Hardware: PC
            Status: UNCONFIRMED
           Version: 3.0.1
         Component: hgweb
           Product: Mercurial

We're experiencing random failed transactions serving the following:

We're using the 'Siege' tool to perform stress testing against out hgweb
infrastructure and discovered that over many requests, the following issue
exists. It can be replicated by doing:

$ wget http://people.mozilla.org/~bkero/nb-NO.tar.gz
$ tar zxvf nb-NO.tar.gz
$ cd nb-NO
$ hg serve
$ siege http://localhost:8000/FIREFOX_31_0_RELEASE.tar.bz2 # which simply
renders the index

    Traceback (most recent call last):
      File
"/root/hg/usr/lib64/python2.6/site-packages/mercurial/hgweb/server.py", line
80, in do_POST
        self.do_write()
      File
"/root/hg/usr/lib64/python2.6/site-packages/mercurial/hgweb/server.py", line
73, in do_write
        self.do_hgweb()
      File
"/root/hg/usr/lib64/python2.6/site-packages/mercurial/hgweb/server.py", line
140, in do_hgweb
        for chunk in self.server.application(env, self._start_response):
      File "/root/hg/usr/lib64/python2.6/site-packages/mercurial/util.py", line
369, in increasingchunks
        for chunk in source:
      File "/root/hg/usr/lib64/python2.6/site-packages/mercurial/templater.py",
line 517, in _flatten
        for j in _flatten(i):
      File "/root/hg/usr/lib64/python2.6/site-packages/mercurial/templater.py",
line 510, in _flatten
        for i in thing:
      File "/root/hg/usr/lib64/python2.6/site-packages/mercurial/templater.py",
line 193, in runmap
        for i in d:
      File
"/root/hg/usr/lib64/python2.6/site-packages/mercurial/hgweb/webcommands.py",
line 606, in branches
        'date': web.repo[n].date()}
      File "/root/hg/usr/lib64/python2.6/site-packages/mercurial/context.py",
line 357, in date
        return self._changeset[2]
      File "/root/hg/usr/lib64/python2.6/site-packages/mercurial/util.py", line
287, in __get__
        result = self.func(obj)
      File "/root/hg/usr/lib64/python2.6/site-packages/mercurial/context.py",
line 332, in _changeset
        return self._repo.changelog.read(self.rev())
      File "/root/hg/usr/lib64/python2.6/site-packages/mercurial/changelog.py",
line 284, in read
        text = self.revision(node)
      File "/root/hg/usr/lib64/python2.6/site-packages/mercurial/revlog.py",
line 1012, in revision
        bins = self._chunks(chain)
      File "/root/hg/usr/lib64/python2.6/site-packages/mercurial/revlog.py",
line 934, in _chunks
        ladd(decompress(buffer(data, chunkstart - offset, chunklength)))
    ValueError: offset must be zero or positive

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list