Edgewall Software

Opened 8 years ago

Closed 8 years ago

#11421 closed defect (fixed)

Duplicate entries on System Info page — at Version 6

Reported by: Ryan J Ollos Owned by: Jun Omae
Priority: normal Milestone: 0.12.6
Component: general Version: 1.0-stable
Severity: normal Keywords: about
Cc: Branch:
Release Notes:

Prevent duplicated entries in System Information to disable the trac.test package by default.

API Changes:

Environment.is_component_enabled returns None if passing a component in the trac.test package.

Internal Changes:


I've noticed this several times in development and production Trac instances, but it doesn't occur on every instance.

Change History (7)

by Ryan J Ollos, 8 years ago

Attachment: SystemInformation.png added

comment:1 by Ryan J Ollos, 8 years ago

Keywords: about added
Milestone: next-stable-1.0.x

comment:2 by Jun Omae, 8 years ago

trac.env.Environment and trac.test.EnvironmentStub which is a subclass of the former class generate the duplicated entries.

  • trac/env.py

    diff --git a/trac/env.py b/trac/env.py
    index f976ef8..59b5856 100644
    a b class Environment(Component, ComponentManager):  
    304304                break
    305305            cname = cname[:idx]
    307         # By default, all components in the trac package are enabled
    308         return component_name.startswith('trac.') or None
     307        # By default, all components in the trac package except trac.test
     308        # are enabled
     309        return component_name.startswith('trac.') and \
     310               not component_name.startswith('trac.test.') or None
    310312    def enable_component(self, cls):
    311313        """Enable a component or module."""
  • trac/test.py

    diff --git a/trac/test.py b/trac/test.py
    index cffc711..69cdd4e 100755
    a b class EnvironmentStub(Environment):  
    242242    href = abs_href = None
    243243    dbenv = db = None
     244    required = False
    245246    def __init__(self, default_data=False, enable=None):
    246247        """Construct a new Environment stub object.

comment:3 by Ryan J Ollos, 8 years ago

Milestone: next-stable-1.0.x0.12.6

Oh, nice find. Any idea why I only see this for some environments?

comment:4 by Jun Omae, 8 years ago

Well, the trac.test package normally is not loaded from Trac itself. But some plugins can load the package, e.g. th:source:tagsplugin/trunk/tractags/ticket.py@13461:16. When it is loaded, the issue would be reproduced.

Also, it is reproduced with 0.12-stable and 1.0.1. However it is not reproduced after r11758.

comment:5 by Jun Omae, 8 years ago

Owner: set to Jun Omae
Status: newassigned

Proposed changes with unit tests can be found in log:jomae.git:t11421. I'll push to 0.12-stable branch later.

Last edited 8 years ago by Ryan J Ollos (previous) (diff)

comment:6 by Jun Omae, 8 years ago

API Changes: modified (diff)
Release Notes: modified (diff)
Resolution: fixed
Status: assignedclosed

Committed into 0.12-stable in [12442] and merged in [12443,12444].

Note: See TracTickets for help on using tickets.