[Bug 4278] New: Python tracebacks serving web requests: 'NoneType' object is unsubscriptable

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Wed Jun 11 14:07:19 CDT 2014


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

          Priority: normal
            Bug ID: 4278
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: Python tracebacks serving web requests: 'NoneType'
                    object is unsubscriptable
          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:

$ hg version | head -1
Mercurial Distributed SCM (version 3.0.1)
$ wget http://people.mozilla.org/~bkero/nb-NO.tar.gz
$ tar zxvf nb-NO.tar.gz
$ cd nb-NO
$ hg serve

(In another terminal)
$ siege http://localhost:8000/FIREFOX_31_0_RELEASE.tar.bz2 # which simply
renders the index


    10.2.10.5 - - [11/Jun/2014 00:47:24] Exception happened during processing
request '/FIREFOX_31_0_RELEASE.tar.bz2':
    Traceback (most recent call last):
      File "/usr/lib64/python2.6/site-packages/mercurial/hgweb/server.py", line
77, in do_POST
        self.do_write()
      File "/usr/lib64/python2.6/site-packages/mercurial/hgweb/server.py", line
70, in do_write
        self.do_hgweb()
      File "/usr/lib64/python2.6/site-packages/mercurial/hgweb/server.py", line
137, in do_hgweb
        for chunk in self.server.application(env, self._start_response):
      File "/usr/lib64/python2.6/site-packages/mercurial/util.py", line 327, in
increasingchunks
        for chunk in source:
      File "/usr/lib64/python2.6/site-packages/mercurial/templater.py", line
315, in _flatten
        for j in _flatten(i):
      File "/usr/lib64/python2.6/site-packages/mercurial/templater.py", line
308, in _flatten
        for i in thing:
      File "/usr/lib64/python2.6/site-packages/mercurial/hgweb/webcommands.py",
line 532, in changelist
        author=ctx.user(),
      File "/usr/lib64/python2.6/site-packages/mercurial/context.py", line 191,
in user
        return self._changeset[1]
      File "/usr/lib64/python2.6/site-packages/mercurial/util.py", line 246, in
__get__
        result = self.func(obj)
      File "/usr/lib64/python2.6/site-packages/mercurial/context.py", line 146,
in _changeset
        return self._repo.changelog.read(self.rev())
      File "/usr/lib64/python2.6/site-packages/mercurial/changelog.py", line
282, in read
        text = self.revision(node)
      File "/usr/lib64/python2.6/site-packages/mercurial/revlog.py", line 919,
in revision
        text = self._cache[2]
    TypeError: 'NoneType' object is unsubscriptable

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


More information about the Mercurial-devel mailing list