Opened 11 years ago

Closed 10 years ago

#11152 closed defect (fixed)

Tags are not supported on the 'wiki' realm

Reported by: Ryan J Ollos Owned by: Steffen Hoffmann
Priority: normal Component: TagsPlugin
Severity: normal Keywords:
Cc: osimons Trac Release: 1.0


I've seen this error a few times this evening, and just now when trying to navigate to the FootNoteMacro. After two page refreshes, I no longer saw the error and the page loaded.

2013-06-06 11:48:16,239 Trac[main] WARNING: [] HTTPInternalError: 500 Trac Error (Tags are not supported on the 'wiki' realm)

Sometimes it is accompanied by a traceback in the logs,

2013-06-06 12:01:15,188 Trac[formatter] ERROR: Macro ListTagged(lucky) failed:
Traceback (most recent call last):
  File "/srv/", line 765, in _macro_formatter
    return macro.ensure_inline(macro.process(args))
  File "/srv/", line 356, in process
    text = self.processor(text)
  File "/srv/", line 343, in _macro_processor
  File "/srv/", line 231, in expand_macro
    results = sorted(query_result, key=lambda r: \
  File "/srv/", line 210, in query
  File "/srv/", line 380, in _get_provider
    % realm)
InvalidTagRealm: Tags are not supported on the 'wiki' realm

Attachments (0)

Change History (5)

comment:1 Changed 11 years ago by Steffen Hoffmann

Since TagsPlugin has a non-thread-safe issue (#10636), this might hit here. This is yet a guess, because rendering of a TagsPlugin macro is involved.

Plan: I'll fix that ASAP, and we'll see, how it goes.

comment:2 Changed 11 years ago by Jun Omae

TagSystem._realm_provider_map is rarely empty on multi-thread. At least, we should use it after it is fully initialized.

  • tractags/

    367367    def _populate_provider_map(self):
    368368        if self._realm_provider_map is None:
    369             self._realm_provider_map = {}
    370             for provider in self.tag_providers:
    371                 self._realm_provider_map[provider.get_taggable_realm()] = \
    372                     provider
     369            # use the "map" variable once it is fully initialized
     370            map = dict((provider.get_taggable_realm(), provider)
     371                       for provider in self.tag_providers)
     372            self._realm_provider_map = map
    374374    def _get_provider(self, realm):
    375375        self._populate_provider_map()
Last edited 11 years ago by Jun Omae (previous) (diff)

comment:3 Changed 11 years ago by Steffen Hoffmann

Thank you for the idea. I'll test it.

comment:4 Changed 11 years ago by Steffen Hoffmann

In 13278:

TagsPlugin: Provide a more thread-safe map of taggable realms, refs #11152.

This change has been kindly contributed by Jun Omae.

comment:5 Changed 10 years ago by Steffen Hoffmann

Resolution: fixed
Status: newclosed

In 13815:

TagsPlugin: Completing preparation for v0.7 release.

Availability of that code as stable, tagged release
closes #2429, #3359, #3610, #3624, #3677, #3754, #3864, #3947, #3983, #4078, #4277, #4503, #4799, #5523, #7787, #7857, #8638, #9057, #9058, #9059, #9060, #9061, #9062, #9063, #9149, #9210, #9521, #9630, #9636, #10032, #10416, #10636, #11096, #11147, #11152, #11274, #11302, #11658 and #11659.

Additionally there are some issues and enhancement requests showing progress,
but known to require more work to resolve them satisfactorily, specifically
refs #2804, #4200, #8747 and #9064.

Thanks to all contributors and followers, that enabled and encouraged a good
portion of this development work.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Steffen Hoffmann.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.