Edgewall Software

Opened 12 years ago

Closed 12 years ago

#8530 closed defect (duplicate)

Viewing xml changesets >= 2200 lines uses 100% of CPU and RAM

Reported by: NickDavidson <nick@…> Owned by:
Priority: normal Milestone:
Component: version control/changeset view Version: 0.11.1
Severity: major Keywords: memory
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:


Using variously mod_python, cgi and fcgi wrappers the following behavior can be observed:

When viewing very large changesets of machine generated xml the current apache2 process will use 100% CPU and huge quantities of RAM. apache2 will keep forking new child processes until trac dies.

Version Info:

  • OS: Debian Lenny i386
  • Python: 2.5.2
  • Apache2: apache2-mpm-prefork 2.2.9-10
  • Database: sqllite (15MB approximately)
  • svn: 1.5.1


Traceback (most recent call last):

  File "/usr/lib/python2.5/site-packages/trac/web/main.py", line 423, in _dispatch_request


  File "/usr/lib/python2.5/site-packages/trac/web/main.py", line 197, in dispatch

    resp = chosen_handler.process_request(req)

  File "/usr/lib/python2.5/site-packages/trac/versioncontrol/web_ui/changeset.py", line 323, in process_request

    self._render_html(req, repos, chgset, restricted, xhr, data)

  File "/usr/lib/python2.5/site-packages/trac/versioncontrol/web_ui/changeset.py", line 577, in _render_html

    diffs = _content_changes(old_node, new_node)

  File "/usr/lib/python2.5/site-packages/trac/versioncontrol/web_ui/changeset.py", line 519, in _content_changes

    new_content = mview.to_unicode(new_content, new_node.content_type)

  File "/usr/lib/python2.5/site-packages/trac/mimeview/api.py", line 790, in to_unicode

    return to_unicode(content, charset)

  File "/usr/lib/python2.5/site-packages/trac/util/text.py", line 59, in to_unicode

    return unicode(text, charset, 'replace')

  File "/usr/lib/python2.5/encodings/iso8859_15.py", line 15, in decode

    return codecs.charmap_decode(input,errors,decoding_table)


Attachments (0)

Change History (1)

comment:1 by Christian Boos, 12 years ago

Keywords: memory added
Resolution: duplicate
Status: newclosed

Duplicate of #7975.

See also TracIni#changeset-section for some parameters you could tune.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.