Opened 14 months ago

Closed 4 months ago

#11152 closed defect (fixed)

Tags are not supported on the 'wiki' realm

Reported by: rjollos Owned by: hasienda
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 14 months ago by hasienda

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 14 months ago by jun66j5

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 14 months ago by jun66j5 (previous) (diff)

comment:3 Changed 14 months ago by hasienda

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

comment:4 Changed 14 months ago by hasienda

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 4 months ago by hasienda

  • Resolution set to fixed
  • Status changed from new to closed

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.

Add Comment

Modify Ticket

as closed .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from hasienda. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.

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

Note: See TracTickets for help on using tickets.