Specification:+index asserts - (from_node, to_node) not in self.edges
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
Critical
|
Curtis Hovey |
Bug Description
OOPS-2021EE81 Obtained this oops after adding a blueprint as a dependency.
AssertionError:
Traceback (most recent call last):
Module zope.publisher.
result = publication.
Module canonical.
return mapply(ob, request.
Module zope.publisher.
return debug_call(obj, args)
- __traceback_info__: <security proxied zope.browserpag
Module zope.publisher.
return obj(*args)
Module canonical.
return self.render()
Module canonical.
return self.template()
Module zope.app.
return self.im_
Module zope.app.
sourceAnnot
Module zope.pagetempla
strictinsert=0, sourceAnnotatio
Module zope.tal.
self.
Module zope.tal.
handlers[
Module zope.tal.
self.
Module zope.tal.
handlers[
Module zope.tal.
self.
Module zope.tal.
return self.no_tag(start, program)
Module zope.tal.
self.
Module zope.tal.
handlers[
Module zope.tal.
self.
Module zope.tal.
self.
Module zope.tal.
handlers[
Module zope.tal.
self.
Module zope.tal.
handlers[
Module zope.tal.
self.
Module zope.tal.
handlers[
Module zope.tal.
self.
Module zope.tal.
return self.no_tag(start, program)
Module zope.tal.
self.
Module zope.tal.
handlers[
Module zope.tal.
self.
Module zope.tal.
self.
Module zope.tal.
handlers[
Module zope.tal.
structure = self.engine.
Module zope.tales.tales, line 696, in evaluate
return expression(self)
- /srv/launchpad.
- Line 289, Column 8
- Expression: <PathExpr standard:
- Names:
{'args': (),
'context': <Specification 38137 u'topic-
'default': <object object at 0x2aead5f39220>,
'loop': {},
'nothing': None,
'options': {},
'repeat': {},
'request': <lp.blueprints.
'template': <z3c.ptcompat.
'view': <zope.browserpa
'views': <zope.app.
Module zope.tales.
return self._eval(
Module zope.tales.
return ob()
Module canonical.
return self.render()
Module lp.blueprints.
image_map = self.renderGrap
Module lp.blueprints.
input = self.getDotFile
Module lp.blueprints.
specgraph = self.makeSpecGr
Module lp.blueprints.
graph.
Module lp.blueprints.
self.
Module lp.blueprints.
link_
Module lp.blueprints.
self.
Module lp.blueprints.
assert (from_node, to_node) not in self.edges
Related branches
- j.c.sackett (community): Approve
-
Diff: 328 lines (+87/-101)2 files modifiedlib/lp/blueprints/browser/specification.py (+11/-12)
lib/lp/blueprints/doc/specgraph.txt (+76/-89)
description: | updated |
summary: |
- OOPS-2021EE81 + Specification:+index asserts - (from_node, to_node) not in self.edges |
Changed in launchpad: | |
status: | New → Triaged |
importance: | Undecided → Critical |
tags: | added: oops |
description: | updated |
Changed in launchpad: | |
assignee: | nobody → Curtis Hovey (sinzui) |
status: | Triaged → In Progress |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
This is a regression from the 'allow specification dependencies from different contexts'.
The graph code treated things as unique by their .name, when we need something more sophisticated - like specification. target. name + specification.name, or canonical_ url(specificati on).