Edgewall Software
Modify

Opened 12 years ago

Last modified 9 years ago

#769 new defect

Timeline event provider failed when build config references path which does not exist

Reported by: Joel Low <joel@…> Owned by:
Priority: major Milestone:
Component: General Version: 0.6
Keywords: Cc:
Operating System: Windows

Description

If it may help, my Trac install is publicly accessible.

I have a build configuration for /trunk/eraser6 set up. If I browse back far enough in the timeline (try setting the date to some time 2 years back) Trac will report this error:

Event provider Build Controller? failed for filters "Builds": No Such Node?: No node trunk/eraser at revision 1374

Trac.log will contain the following:

2012-03-08 13:27:43,032 Trac[web_ui] ERROR: Timeline event provider failed: 
Traceback (most recent call last):
  File "C:\Program Files\Python\lib\site-packages\trac\timeline\web_ui.py", line 179, in process_request
    filters) or []:
  File "C:\Program Files\Python\lib\site-packages\bitten\web_ui.py", line 677, in get_timeline_events
    if not _has_permission(req.perm, repos, path, rev=rev):
  File "C:\Program Files\Python\lib\site-packages\bitten\web_ui.py", line 91, in _has_permission
    node = repos.get_node(path, rev)
  File "C:\Program Files\Python\lib\site-packages\trac\versioncontrol\cache.py", line 304, in get_node
    return self.repos.get_node(path, self.normalize_rev(rev))
  File "C:\Program Files\Python\lib\site-packages\trac\versioncontrol\svn_fs.py", line 454, in get_node
    return SubversionNode(path, rev, self, self.pool)
  File "C:\Program Files\Python\lib\site-packages\trac\versioncontrol\svn_fs.py", line 689, in __init__
    raise NoSuchNode(path, rev)
NoSuchNode: No node trunk/eraser at revision 1374

I googled around and #606 came up, but I'm not sure if it's the same thing. Any help would be much appreciated.

Attachments (0)

Change History (5)

comment:1 Changed 11 years ago by couldediubbib

  • Component changed from Trac plugin to General

<a href=></a>. . . <a href=></a>

comment:2 Changed 11 years ago by anonymous

I also see a very similar issue. I just upgraded an internal mature Trac 0.12 system to 1.0. At the same time, I upgraded my SVN repo, so added it into the new Trac system from a different path.

I now get the following...

Event provider BuildController failed for filters "Builds": NoSuchNode: No node branches/imgsaveloadXP at revision 433

With a server stack trace log of...

2013-02-28 14:46:31,406 Trac[web_ui] ERROR: Timeline event provider failed:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/timeline/web_ui.py", line 190, in process_request
    filters) or []:
  File "/usr/local/lib/python2.7/dist-packages/Bitten-0.7dev_r0-py2.7.egg/bitten/web_ui.py", line 677, in get_timeline_events
    if not _has_permission(req.perm, repos, path, rev=rev):
  File "/usr/local/lib/python2.7/dist-packages/Bitten-0.7dev_r0-py2.7.egg/bitten/web_ui.py", line 91, in _has_permission
    node = repos.get_node(path, rev)
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/versioncontrol/cache.py", line 291, in get_node
    return self.repos.get_node(path, self.normalize_rev(rev))
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/tracopt/versioncontrol/svn/svn_fs.py", line 481, in get_node
    return SubversionNode(path, rev, self, self.pool)
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/tracopt/versioncontrol/svn/svn_fs.py", line 733, in __init__
    raise NoSuchNode(path, rev)
NoSuchNode: No node branches/imgsaveloadXP at revision 433

The strange thing is I don't think have a repo revision of 433 in SVN that refers to that branch. SVN says that specific branch was created at 453.

comment:3 Changed 11 years ago by anonymous

An update to the most recent comment above... when I deleted the CI build definition from the Bitten Configuration Management that refers to branches/imgsaveloadXP then the timeline started to work again.

comment:4 Changed 11 years ago by ebouaziz@…

I think that bitten is trying to display on the Timeline information about the branch of a configuration at a date when the branch did not exist yet. IMO, a try/except is missing there:

--- a/bitten/web_ui.py
+++ b/bitten/web_ui.py
@@ -696,7 +697,12 @@ class BuildController(Component):
                        Build.FAILURE: 'failedbuild'}

         for id_, config, label, path, rev, platform, stopped, status in cursor:
-            if not _has_permission(req.perm, repos, path, rev=rev):
+            try:
+                if not _has_permission(req.perm, repos, path, rev=rev):
+                    continue
+            except NoSuchNode:
                 continue
             errors = []
             if status == Build.FAILURE:

comment:5 Changed 9 years ago by bhatiar2003@…

I am getting the same message as the original one reported here. Any solutions for that?

I am migrating from python25 on old server to python27 on new server.

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The ticket will remain with no owner.
Author


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

 
Note: See TracTickets for help on using tickets.