Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8249012

http://hg.openjdk.java.net/jdk8 crashes with a python2 traceback

    Details

    • CPU:
      x86_64
    • OS:
      windows_10

      Description

      A DESCRIPTION OF THE PROBLEM :
      When I navigate to http://hg.openjdk.java.net/jdk8, I get a traceback saying that recursion limit has been exceeded. A similar but different traceback occurs on http://hg.openjdk.java.net/jdk8/jdk8 and every subdirectory following that I found. Relevant snippet from /jdk8:

      <type 'exceptions.RuntimeError'> Python 2.6.9: /oj/bin/python
      Wed Jun 12 17:01:18 2019
      A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

       /oj/lib/python2.6/site-packages/flup-1.0.3.dev_20110405-py2.6.egg/flup/server/fcgi_base.py in run(self=<flup.server.fcgi_base.Request object>)
        572
        573 try:
        574 protocolStatus, appStatus = self.server.handler(self)
        575 except:
        576 traceback.print_exc(file=self.stderr)
      protocolStatus undefined, appStatus undefined, self = <flup.server.fcgi_base.Request object>, self.server = <flup.server.fcgi.WSGIServer object>, self.server.handler = <bound method WSGIServer.handler of <flup.server.fcgi.WSGIServer object>>
       /oj/lib/python2.6/site-packages/flup-1.0.3.dev_20110405-py2.6.egg/flup/server/fcgi_base.py in handler(self=<flup.server.fcgi.WSGIServer object>, req=<flup.server.fcgi_base.Request object>)
       1159 result = self.application(environ, start_response)
       1160 try:
       1161 for data in result:
       1162 if data:
       1163 write(data)
      data undefined, result = <generator object increasingchunks>
       /oj/lib/python2.6/site-packages/mercurial/util.py in increasingchunks(source=<generator object _flatten>, min=1024, max=65536)
        360 buf = []
        361 blen = 0
        362 for chunk in source:
        363 buf.append(chunk)
        364 blen += len(chunk)
      chunk = '</h3>\n\n', source = <generator object _flatten>
       /oj/lib/python2.6/site-packages/mercurial/templater.py in _flatten(thing=<generator object runtemplate>)
        394 yield str(i)
        395 elif i is not None:
        396 for j in _flatten(i):
        397 yield j
        398
      j = 'repositories', global _flatten = <function _flatten>, i = <generator object if_>
       /oj/lib/python2.6/site-packages/mercurial/templater.py in _flatten(thing=<generator object if_>)
        394 yield str(i)
        395 elif i is not None:
        396 for j in _flatten(i):
        397 yield j
        398
      j undefined, global _flatten = <function _flatten>, i = <generator object _evalifliteral>
       /oj/lib/python2.6/site-packages/mercurial/templater.py in _flatten(thing=<generator object _evalifliteral>)
        394 yield str(i)
        395 elif i is not None:
        396 for j in _flatten(i):
        397 yield j
        398
      j undefined, global _flatten = <function _flatten>, i = <generator object runtemplate>
       /oj/lib/python2.6/site-packages/mercurial/templater.py in _flatten(thing=<generator object runtemplate>)
        387 yield str(thing)
        388 else:
        389 for i in thing:
        390 if isinstance(i, str):
        391 yield i
      i undefined, thing = <generator object runtemplate>
       /oj/lib/python2.6/site-packages/mercurial/templater.py in runtemplate(context=<mercurial.templater.engine object>, mapping={'descending': False, 'entries': <function entries>, 'fastentries': <function fastentries>, 'header': ['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN... xml:lang="en-US">\n<head>\n<link rel="icon" href="', '/static/', 'nanoduke.ico" />\n<meta name="robots" content="index, nofollow" />\n<link rel="stylesheet" href="', '/static/', 'style-paper.css" type="text/css" />\n<script type="text/javascript" src="', '/static/', 'mercurial.js"></script>\n'], 'pagelogo': ['<div class="logo"><img src="', '/static/', 'duke-pipes.png', '" border=0 alt="Duke!"/></div>'], 'pathdef': <listreverseiterator object>, 'projects': <function projects>, 'sort_contact': 'contact', 'sort_description': 'description', 'sort_lastchange': 'lastchange', ...}, template=[(<function runsymbol>, 'indexentries')])
        178 def runtemplate(context, mapping, template):
        179 for func, data in template:
        180 yield func(context, mapping, data)
        181
        182 def runmap(context, mapping, data):
      func = <function runsymbol>, context = <mercurial.templater.engine object>, mapping = {'descending': False, 'entries': <function entries>, 'fastentries': <function fastentries>, 'header': ['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN... xml:lang="en-US">\n<head>\n<link rel="icon" href="', '/static/', 'nanoduke.ico" />\n<meta name="robots" content="index, nofollow" />\n<link rel="stylesheet" href="', '/static/', 'style-paper.css" type="text/css" />\n<script type="text/javascript" src="', '/static/', 'mercurial.js"></script>\n'], 'pagelogo': ['<div class="logo"><img src="', '/static/', 'duke-pipes.png', '" border=0 alt="Duke!"/></div>'], 'pathdef': <listreverseiterator object>, 'projects': <function projects>, 'sort_contact': 'contact', 'sort_description': 'description', 'sort_lastchange': 'lastchange', ...}, data = 'indexentries'
       /oj/lib/python2.6/site-packages/mercurial/templater.py in runsymbol(context=<mercurial.templater.engine object>, mapping={'descending': False, 'entries': <function entries>, 'fastentries': <function fastentries>, 'header': ['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN... xml:lang="en-US">\n<head>\n<link rel="icon" href="', '/static/', 'nanoduke.ico" />\n<meta name="robots" content="index, nofollow" />\n<link rel="stylesheet" href="', '/static/', 'style-paper.css" type="text/css" />\n<script type="text/javascript" src="', '/static/', 'mercurial.js"></script>\n'], 'pagelogo': ['<div class="logo"><img src="', '/static/', 'duke-pipes.png', '" border=0 alt="Duke!"/></div>'], 'pathdef': <listreverseiterator object>, 'projects': <function projects>, 'sort_contact': 'contact', 'sort_description': 'description', 'sort_lastchange': 'lastchange', ...}, key='indexentries')
        149 return v(**mapping)
        150 if isinstance(v, types.GeneratorType):
        151 v = list(v)
        152 mapping[key] = v
        153 return v
      v = <generator object _flatten>, builtin list = <type 'list'>
       /oj/lib/python2.6/site-packages/mercurial/templater.py in _flatten(thing=<generator object runtemplate>)
        394 yield str(i)
        395 elif i is not None:
        396 for j in _flatten(i):
        397 yield j
        398
      j undefined, global _flatten = <function _flatten>, i = <generator object runmap>
       /oj/lib/python2.6/site-packages/mercurial/templater.py in _flatten(thing=<generator object runmap>)
        387 yield str(thing)
        388 else:
        389 for i in thing:
        390 if isinstance(i, str):
        391 yield i
      i undefined, thing = <generator object runmap>
       /oj/lib/python2.6/site-packages/mercurial/templater.py in runmap(context=<mercurial.templater.engine object>, mapping={'descending': False, 'entries': <function entries>, 'fastentries': <function fastentries>, 'header': ['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN... xml:lang="en-US">\n<head>\n<link rel="icon" href="', '/static/', 'nanoduke.ico" />\n<meta name="robots" content="index, nofollow" />\n<link rel="stylesheet" href="', '/static/', 'style-paper.css" type="text/css" />\n<script type="text/javascript" src="', '/static/', 'mercurial.js"></script>\n'], 'pagelogo': ['<div class="logo"><img src="', '/static/', 'duke-pipes.png', '" border=0 alt="Duke!"/></div>'], 'pathdef': <listreverseiterator object>, 'projects': <function projects>, 'sort_contact': 'contact', 'sort_description': 'description', 'sort_lastchange': 'lastchange', ...}, data='entries')
        188 lm = mapping.copy()
        189
        190 for i in d:
        191 if isinstance(i, dict):
        192 lm.update(i)
      i undefined, d = <generator object entries>
       /oj/lib/python/hgweb/hgwebdir_mod.py in entries(sortcolumn='name', descending=False, fast=False, subdir='jdk8/', **map={'entries': <function entries>, 'fastentries': <function fastentries>, 'header': ['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN... xml:lang="en-US">\n<head>\n<link rel="icon" href="', '/static/', 'nanoduke.ico" />\n<meta name="robots" content="index, nofollow" />\n<link rel="stylesheet" href="', '/static/', 'style-paper.css" type="text/css" />\n<script type="text/javascript" src="', '/static/', 'mercurial.js"></script>\n'], 'pagelogo': ['<div class="logo"><img src="', '/static/', 'duke-pipes.png', '" border=0 alt="Duke!"/></div>'], 'pathdef': <listreverseiterator object>, 'projects': <function projects>, 'sort_contact': 'contact', 'sort_description': 'description', 'sort_lastchange': 'lastchange', 'sort_name': '-name'})
        413 sortkey = '%s_sort' % sortcolumn
        414 rows = sorted(rows, key=lambda x: x[sortkey],
        415 reverse=descending)
        416 for row, parity in zip(rows, paritygen(self.stripecount)):
        417 row['parity'] = parity
      reverse undefined, descending = False
       /oj/lib/python/hgweb/hgwebdir_mod.py in rawentries(subdir='jdk8/', fast=False, **map={'entries': <function entries>, 'fastentries': <function fastentries>, 'header': ['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN... xml:lang="en-US">\n<head>\n<link rel="icon" href="', '/static/', 'nanoduke.ico" />\n<meta name="robots" content="index, nofollow" />\n<link rel="stylesheet" href="', '/static/', 'style-paper.css" type="text/css" />\n<script type="text/javascript" src="', '/static/', 'mercurial.js"></script>\n'], 'pagelogo': ['<div class="logo"><img src="', '/static/', 'duke-pipes.png', '" border=0 alt="Duke!"/></div>'], 'pathdef': <listreverseiterator object>, 'projects': <function projects>, 'sort_contact': 'contact', 'sort_description': 'description', 'sort_lastchange': 'lastchange', 'sort_name': '-name'})
        349 u = None
        350 else:
        351 u = self.ui.copy()
        352 try:
        353 u.readconfig(os.path.join(path, '.hg', 'hgrc'))
      u undefined, self = <hgweb.hgwebdir_mod.hgwebdir object>, self.ui = <mercurial.ui.ui object>, self.ui.copy = <bound method ui.copy of <mercurial.ui.ui object>>
       /oj/lib/python2.6/site-packages/mercurial/ui.py in copy(self=<mercurial.ui.ui object>)
         47
         48 def copy(self):
         49 return self.__class__(self)
         50
         51 def formatter(self, topic, opts):
      self = <mercurial.ui.ui object>, self.__class__ = <class 'mercurial.ui.ui'>
       /oj/lib/python2.6/site-packages/mercurial/ui.py in __init__(self=<mercurial.ui.ui object>, src=<mercurial.ui.ui object>)
         34 self.environ = src.environ
         35 self.callhooks = src.callhooks
         36 self.fixconfig()
         37 else:
         38 self.fout = sys.stdout
      self = <mercurial.ui.ui object>, self.fixconfig = <bound method ui.fixconfig of <mercurial.ui.ui object>>
       /oj/lib/python2.6/site-packages/mercurial/ui.py in fixconfig(self=<mercurial.ui.ui object>, root='/oj/hg/web', section=None)
        134 if section in (None, 'ui'):
        135 # update ui options
        136 self.debugflag = self.configbool('ui', 'debug')
        137 self.verbose = self.debugflag or self.configbool('ui', 'verbose')
        138 self.quiet = not self.debugflag and self.configbool('ui', 'quiet')
      self = <mercurial.ui.ui object>, self.debugflag = False, self.configbool = <bound method ui.configbool of <mercurial.ui.ui object>>
       /oj/lib/python2.6/site-packages/mercurial/ui.py in configbool(self=<mercurial.ui.ui object>, section='ui', name='debug', default=False, untrusted=False)
        225 """
        226
        227 v = self.config(section, name, None, untrusted)
        228 if v is None:
        229 return default
      v undefined, self = <mercurial.ui.ui object>, self.config = <bound method ui.wrap of <mercurial.ui.ui object>>, section = 'ui', name = 'debug', builtin None = None, untrusted = False
       /oj/lib/python2.6/site-packages/mercurial/extensions.py in wrap(*args=(<mercurial.ui.ui object>, 'ui', 'debug', None, False), **kwargs={})
        194 assert util.safehasattr(wrapper, '__call__')
        195 def wrap(*args, **kwargs):
        196 return wrapper(origfn, *args, **kwargs)
        197
        198 origfn = getattr(container, funcname)
      wrapper = <function config>, origfn = <unbound method ui.wrap>, args = (<mercurial.ui.ui object>, 'ui', 'debug', None, False), kwargs = {}
       /oj/lib/python2.6/site-packages/hgext/zeroconf/__init__.py in config(orig=<unbound method ui.wrap>, self=<mercurial.ui.ui object>, section='ui', key='debug', default=None, untrusted=False)
        157 if name == key:
        158 return path
        159 return orig(self, section, key, default, untrusted)
        160
        161 def configitems(orig, self, section, untrusted=False):
      orig = <unbound method ui.wrap>, self = <mercurial.ui.ui object>, section = 'ui', key = 'debug', default = None, untrusted = False
       /oj/lib/python2.6/site-packages/mercurial/extensions.py in wrap(*args=(<mercurial.ui.ui object>, 'ui', 'debug', None, False), **kwargs={})
        194 assert util.safehasattr(wrapper, '__call__')
        195 def wrap(*args, **kwargs):
        196 return wrapper(origfn, *args, **kwargs)
        197
        198 origfn = getattr(container, funcname)
      wrapper = <function config>, origfn = <unbound method ui.wrap>, args = (<mercurial.ui.ui object>, 'ui', 'debug', None, False), kwargs = {}
       /oj/lib/python2.6/site-packages/hgext/zeroconf/__init__.py in config(orig=<unbound method ui.wrap>, self=<mercurial.ui.ui object>, section='ui', key='debug', default=None, untrusted=False)
        157 if name == key:
        158 return path
        159 return orig(self, section, key, default, untrusted)
        160
        161 def configitems(orig, self, section, untrusted=False):
      orig = <unbound method ui.wrap>, self = <mercurial.ui.ui object>, section = 'ui', key = 'debug', default = None, untrusted = False
       /oj/lib/python2.6/site-packages/mercurial/extensions.py in wrap(*args=(<mercurial.ui.ui object>, 'ui', 'debug', None, False), **kwargs={})
        194 assert util.safehasattr(wrapper, '__call__')
        195 def wrap(*args, **kwargs):
        196 return wrapper(origfn, *args, **kwargs)
        197
        198 origfn = getattr(container, funcname)
      wrapper = <function config>, origfn = <unbound method ui.wrap>, args = (<mercurial.ui.ui object>, 'ui', 'debug', None, False), kwargs = {}
      ... continues for several thousand lines ...

       /oj/lib/python2.6/site-packages/mercurial/extensions.py in wrap(*args=(<mercurial.ui.ui object>, 'ui', 'debug', None, False), **kwargs={})
        194 assert util.safehasattr(wrapper, '__call__')
        195 def wrap(*args, **kwargs):
        196 return wrapper(origfn, *args, **kwargs)
        197
        198 origfn = getattr(container, funcname)
      wrapper = <function config>, origfn = <unbound method ui.config>, args = (<mercurial.ui.ui object>, 'ui', 'debug', None, False), kwargs = {}
       /oj/lib/python2.6/site-packages/hgext/zeroconf/__init__.py in config(orig=<unbound method ui.config>, self=<mercurial.ui.ui object>, section='ui', key='debug', default=None, untrusted=False)
        157 if name == key:
        158 return path
        159 return orig(self, section, key, default, untrusted)
        160
        161 def configitems(orig, self, section, untrusted=False):
      orig = <unbound method ui.config>, self = <mercurial.ui.ui object>, section = 'ui', key = 'debug', default = None, untrusted = False
       /oj/lib/python2.6/site-packages/mercurial/ui.py in config(self=<mercurial.ui.ui object>, section='ui', name='debug', default=None, untrusted=False)
        171
        172 def config(self, section, name, default=None, untrusted=False):
        173 if isinstance(name, list):
        174 alternates = name
        175 else:
      builtin isinstance = <built-in function isinstance>, name = 'debug', builtin list = <type 'list'>
      <type 'exceptions.RuntimeError'>: maximum recursion depth exceeded while calling a Python object
            args = ('maximum recursion depth exceeded while calling a Python object',)
            message = 'maximum recursion depth exceeded while calling a Python object'

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Navigate to http://hg.openjdk.java.net/jdk8.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      I expected to see a listing of the jdk8 source code.
      ACTUAL -
      I saw a crash by the python2 interpreter hosting the website.

      FREQUENCY : always


        Attachments

          Activity

            People

            • Assignee:
              fmatte Fairoz Matte
              Reporter:
              webbuggrp Webbug Group
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: