Opened 11 years ago

Closed 11 years ago

#3063 closed bug (fixed)

[Trac] OSError: [Errno 24] Too many open files

Reported by: diver Owned by: haiku-web
Priority: normal Milestone: R1
Component: Website/Trac Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Traceback (most recent call last):
  File "/opt/csw/lib/python/site-packages/Trac-0.11.1-py2.5.egg/trac/web/api.py", line 339, in send_error
    'text/html')
  File "/opt/csw/lib/python/site-packages/Trac-0.11.1-py2.5.egg/trac/web/chrome.py", line 715, in render_template
    return stream.render(method, doctype=doctype)
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/core.py", line 179, in render
    return encode(generator, method=method, encoding=encoding, out=out)
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/output.py", line 60, in encode
    return _encode(u''.join(list(iterator)))
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/output.py", line 311, in __call__
    for kind, data, pos in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/output.py", line 753, in __call__
    for kind, data, pos in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/output.py", line 592, in __call__
    for kind, data, pos in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/output.py", line 698, in __call__
    for kind, data, pos in chain(stream, [(None, None, None)]):
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/output.py", line 532, in __call__
    for ev in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/core.py", line 283, in _ensure
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/core.py", line 283, in _ensure
    for event in stream:
  File "/opt/csw/lib/python/site-packages/Trac-0.11.1-py2.5.egg/trac/web/chrome.py", line 767, in _strip_accesskeys
    for kind, data, pos in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/core.py", line 283, in _ensure
    for event in stream:
  File "/opt/csw/lib/python/site-packages/Trac-0.11.1-py2.5.egg/trac/web/chrome.py", line 756, in _generate
    for kind, data, pos in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/core.py", line 283, in _ensure
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 569, in _include
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/markup.py", line 299, in _match
    ctxt, match_templates[idx + 1:], **vars):
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/markup.py", line 299, in _match
    ctxt, match_templates[idx + 1:], **vars):
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/markup.py", line 246, in _match
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 543, in _exec
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 533, in _eval
    for event in substream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 496, in _eval
    for kind, data, pos in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 551, in _flatten
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/core.py", line 283, in _ensure
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/path.py", line 141, in _generate
    subevent = stream.next()
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 569, in _include
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/markup.py", line 235, in _strip
    event = stream.next()
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 543, in _exec
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 533, in _eval
    for event in substream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 496, in _eval
    for kind, data, pos in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 551, in _flatten
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/core.py", line 283, in _ensure
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/path.py", line 141, in _generate
    subevent = stream.next()
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 569, in _include
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/markup.py", line 235, in _strip
    event = stream.next()
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 543, in _exec
    for event in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 533, in _eval
    for event in substream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 496, in _eval
    for kind, data, pos in stream:
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 557, in _flatten
    **vars)
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 272, in _apply_directives
    stream = directives[0](iter(stream), directives[1:], ctxt, **vars)
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/directives.py", line 411, in __call__
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/base.py", line 286, in _eval_expr
    retval = expr.evaluate(ctxt)
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/eval.py", line 180, in evaluate
    return eval(self.code, _globals, {'__data__': data})
  File "/opt/csw/lib/python/site-packages/Trac-0.11.1-py2.5.egg/trac/templates/error.html", line 66, in <Expression u'req.args'>
  File "build/bdist.solaris-2.10-i86pc/egg/genshi/template/eval.py", line 313, in lookup_attr
    val = getattr(obj, key)
  File "/opt/csw/lib/python/site-packages/Trac-0.11.1-py2.5.egg/trac/web/api.py", line 169, in __getattr__
    value = self.callbacks[name](self)
  File "/opt/csw/lib/python/site-packages/Trac-0.11.1-py2.5.egg/trac/web/api.py", line 443, in _parse_args
    fs = cgi.FieldStorage(fp, environ=self.environ, keep_blank_values=True)
  File "/opt/csw/lib/python/cgi.py", line 534, in __init__
    self.read_multi(environ, keep_blank_values, strict_parsing)
  File "/opt/csw/lib/python/cgi.py", line 654, in read_multi
    environ, keep_blank_values, strict_parsing)
  File "/opt/csw/lib/python/cgi.py", line 536, in __init__
    self.read_single()
  File "/opt/csw/lib/python/cgi.py", line 669, in read_single
    self.read_lines()
  File "/opt/csw/lib/python/cgi.py", line 691, in read_lines
    self.read_lines_to_outerboundary()
  File "/opt/csw/lib/python/cgi.py", line 742, in read_lines_to_outerboundary
    self.__write(odelim + line)
  File "/opt/csw/lib/python/cgi.py", line 698, in __write
    self.file = self.make_file('')
  File "/opt/csw/lib/python/cgi.py", line 790, in make_file
    return tempfile.TemporaryFile("w+b")
  File "/opt/csw/lib/python/tempfile.py", line 469, in TemporaryFile
    return _os.fdopen(fd, mode, bufsize)
OSError: [Errno 24] Too many open files

Change History (5)

comment:1 by diver, 11 years ago

Summary: [Trac] error trying to add png attachment[Trac] OSError: [Errno 24] Too many open files

comment:2 by diver, 11 years ago

Probably a dup of #2820

comment:3 by nielx, 11 years ago

Resolution: fixed
Status: newclosed

Fixed again. I did not manage to extract the proper information. Something strange happens with the temporaryfile, for some reason it tries to create the file over and over again (100 times), after that, the whole process is flooded.

Sigh.

comment:4 by axeld, 11 years ago

Resolution: fixed
Status: closedreopened

Thanks! It doesn't really make much sense to mark these bugs as fixed as long as the original problem persists, though.

The bug is also tracked at Trac: http://trac.edgewall.org/ticket/7611

comment:5 by nielx, 11 years ago

Resolution: fixed
Status: reopenedclosed

It seems that the most recent software update fixed this condition. Though it needs a bit more time, I do not see the earlier behaviour, and as such I declare this fixed for now.

Note: See TracTickets for help on using tickets.