Edgewall Software
Modify

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#10157 closed defect (cantfix)

BacklogTypeError: No backlog of type: Sprint Backlog

Reported by: admin Owned by:
Priority: normal Milestone:
Component: general Version: 0.12.2
Severity: normal Keywords:
Cc: support@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description

How to Reproduce

While doing a GET operation on /agilo-pro/sprints/demoQLDA/whiteboard, Trac issued an internal error.

(please provide additional details here)

Request parameters:

{'sprint': u'demoQLDA'}

User agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; vi; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16

System Information

Trac 0.12.2
Agilo 1.3.3-pro
Genshi 0.6
pysqlite 2.3.2
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)]
setuptools 0.6c9
SQLite 3.3.4
Subversion 1.5.6 (r36142)
jQuery 1.3.2

Enabled Plugins

binary-agilo 1.3.3-pro
tracaccountmanager 0.2.1dev-r5836

Python Traceback

Traceback (most recent call last):
  File "C:\Program Files\Agilo\lib\site-packages\trac-0.12.2-py2.5-win32.egg\trac\web\main.py", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File "C:\Program Files\Agilo\lib\site-packages\trac-0.12.2-py2.5-win32.egg\trac\web\main.py", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File "z:\code\projekte\agile42\stuff\windows_installer\agilo installer\agilo\lib\site-packages\binary_agilo-1.3.3_PRO-py2.5.egg\agilo\api\view.py", line 155, in process_request
  File "z:\code\projekte\agile42\stuff\windows_installer\agilo installer\agilo\lib\site-packages\binary_agilo-1.3.3_PRO-py2.5.egg\agilo\api\view.py", line 143, in _call_filters_and_handler
  File "build/bdist.macosx-10.6-i386/egg/agilo_pro/web_ui.py", line 138, in do_get
  File "build/bdist.macosx-10.6-i386/egg/agilo_pro/web_ui.py", line 78, in _get_backlog_info
  File "z:\code\projekte\agile42\stuff\windows_installer\agilo installer\agilo\lib\site-packages\binary_agilo-1.3.3_PRO-py2.5.egg\agilo\scrum\backlog\json_ui.py", line 110, in backlog_info
  File "z:\code\projekte\agile42\stuff\windows_installer\agilo installer\agilo\lib\site-packages\binary_agilo-1.3.3_PRO-py2.5.egg\agilo\scrum\backlog\json_ui.py", line 49, in _get_backlog
  File "z:\code\projekte\agile42\stuff\windows_installer\agilo installer\agilo\lib\site-packages\binary_agilo-1.3.3_PRO-py2.5.egg\agilo\api\controller.py", line 361, in process_command
  File "z:\code\projekte\agile42\stuff\windows_installer\agilo installer\agilo\lib\site-packages\binary_agilo-1.3.3_PRO-py2.5.egg\agilo\api\controller.py", line 315, in execute
  File "z:\code\projekte\agile42\stuff\windows_installer\agilo installer\agilo\lib\site-packages\binary_agilo-1.3.3_PRO-py2.5.egg\agilo\scrum\backlog\controller.py", line 56, in _execute
  File "z:\code\projekte\agile42\stuff\windows_installer\agilo installer\agilo\lib\site-packages\binary_agilo-1.3.3_PRO-py2.5.egg\agilo\scrum\backlog\model.py", line 571, in get
  File "z:\code\projekte\agile42\stuff\windows_installer\agilo installer\agilo\lib\site-packages\binary_agilo-1.3.3_PRO-py2.5.egg\agilo\core\model.py", line 1128, in get
  File "z:\code\projekte\agile42\stuff\windows_installer\agilo installer\agilo\lib\site-packages\binary_agilo-1.3.3_PRO-py2.5.egg\agilo\scrum\backlog\model.py", line 168, in __init__
BacklogTypeError: No backlog of type: Sprint Backlog

Attachments (0)

Change History (17)

comment:1 by Remy Blank, 13 years ago

Cc: support@… added
Resolution: cantfix
Status: newclosed

comment:2 by robert.buchholz@…, 13 years ago

@rblank: thanks for the CC. I'm always surprised we have no users posting bugs here for weeks and then three in a row…

@admin/reporter: Please visit the Agilo Google Group to continue debugging this problem. It looks like you removed the Sprint Backlog, which breaks an assumption of the whiteboard.

in reply to:  2 ; comment:3 by Remy Blank, 13 years ago

Replying to robert.buchholz@…:

I'm always surprised we have no users posting bugs here for weeks and then three in a row…

Our semi-automatic bug reporting could be improved. For plugins hosted on trac-hacks, if we detect that a source file from the plugin appears in the traceback, the bug report goes to trac-hacks (provided that the plugin's home_page refers trac-hacks). This unfortunately doesn't work (yet) with plugins hosted elsewhere, as we can't assume that the home_page is a Trac instance. We should find a way for plugins to specify a Trac instance to report errors.

comment:4 by Christian Boos, 13 years ago

Hehe, I thought about the same ;-)

Replying to robert.buchholz@…:

@rblank: thanks for the CC. I'm always surprised we have no users posting bugs here for weeks and then three in a row…

I'm actually surprised we still have semi-automated bug reports for recent versions of Agilo ;-)

IIUC, you only have plugins and don't patch Trac itself, which makes it a bit difficult to change the address of the BTS. What about the following change:

  • trac/web/main.py

     
    5353from trac.web.href import Href
    5454from trac.web.session import Session
    5555
     56# The following URL is used for semi-automatic bug reports.
     57# Please modify if you ship a customized version of Trac.
     58tracker = 'http://trac.edgewall.org'
    5659
    5760class FakeSession(dict):
    5861    sid = None
     
    571574    traceback = get_last_traceback()
    572575
    573576    frames, plugins, faulty_plugins = [], [], []
    574     tracker = 'http://trac.edgewall.org'
    575577    th = 'http://trac-hacks.org'
    576578    has_admin = False
    577579    try:

And then you could do: trac.web.main.tracker = 'http://dev.agile42.com' for example.

in reply to:  3 ; comment:5 by Christian Boos, 13 years ago

Replying to rblank:

… we can't assume that the home_page is a Trac instance. We should find a way for plugins to specify a Trac instance to report errors.

We already support the trac entry for that, but it's not advertised in the various plugin cooking tutorials.

in reply to:  5 ; comment:6 by Remy Blank, 13 years ago

Replying to cboos:

We already support the trac entry for that, but it's not advertised in the various plugin cooking tutorials.

Right, I missed that. Then we should advertise it! So I assume the change in comment:4 isn't needed? And the property should be set in the Agilo plugin ASAP :)

in reply to:  6 comment:7 by Christian Boos, 13 years ago

Replying to rblank:

So I assume the change in comment:4 isn't needed?

No, unless the Agilo people would like to get the default bug reports from their users.

I just checked, and there are only very few tickets that would be concerned (the recent #10030 probably made me think otherwise), the vast majority of the Agilo related tickets do indeed have some Agilo plugins in the reported backtrace.

The patch might still be worthy in the longer term, if one day someone distributes a forked version of Trac, to make that hard-coded URL more noticeable.

comment:8 by robert.buchholz@…, 13 years ago

We already track that as a bug in Agilo at https://dev.agile42.com/ticket/1105

I'll see if we can squeeze a fix into the next release.

comment:9 by Christian Boos, 13 years ago

See also r10701 (I can't register/login on dev.agile42.com, it seems).

comment:10 by Remy Blank, 13 years ago

Why use a "docstring" (not really one, actually) instead of a normal comment in [10701]?

in reply to:  10 comment:11 by Christian Boos, 13 years ago

Replying to rblank:

Why use a "docstring" (not really one, actually) instead of a normal comment in [10701]?

It is a docstring … for Sphinx. See [10704] and the corresponding ApiDoc:api/trac_web_main#miscellaneous.

comment:12 by Remy Blank, 13 years ago

Oh, so it is a docstring after all. Unfortunately, it triggers a "String statement has no effect" warning in pylint. Could we instead standardize on using the #: comment form?

  • trac/web/main.py

    diff --git a/trac/web/main.py b/trac/web/main.py
    a b from trac.web.chrome import Chrome  
    5353from trac.web.href import Href
    5454from trac.web.session import Session
    5555
     56#: This URL is used for semi-automatic bug reports (see
     57#: `send_internal_error`).  Please modify it to point to your own
     58#: Trac instance if you distribute a patched version of Trac.
    5659default_tracker = 'http://trac.edgewall.org'
    57 """This URL is used for semi-automatic bug reports (see
    58    `send_internal_error`).  Please modify it to point to your own
    59    Trac instance if you distribute a patched version of Trac.
    60 """
     60
    6161
    6262class FakeSession(dict):
    6363    sid = None

comment:13 by Christian Boos, 13 years ago

Well, I picked """…""" instead of #: precisely because this looks like a docstring and not yet another convention to remember. OTOH, this #: convention seems also widespread (epydoc had it as well) and as it plays better with other tools like pylint, I'm fine with adopting that convention.

Another possibility would be to disable that specific warning until they take this specific case into account (http://www.logilab.org/ticket/9848).

Btw, if you have a standard way to run pylint, maybe I could integrate that in the Makefile (make pylint)?

in reply to:  13 ; comment:14 by Remy Blank, 13 years ago

Replying to cboos:

Another possibility would be to disable that specific warning until they take this specific case into account (http://www.logilab.org/ticket/9848).

Yes, I know, I already have about 20 exceptions. In this case, the comment makes more sense to me, because the "docstring" really is dead code and cannot be retrieved dynamically (unlike real docstrings).

Btw, if you have a standard way to run pylint, maybe I could integrate that in the Makefile (make pylint)?

I run it through Eclipse, but I'll test it on the command-line and set the options so that only meaningful warnings are shown. There are a few errors, too, mainly "possibly undefined local variables" due to locals being set in a loop.

in reply to:  14 comment:15 by Christian Boos, 13 years ago

Replying to rblank:

… In this case, the comment makes more sense to me, because the "docstring" really is dead code and cannot be retrieved dynamically (unlike real docstrings).

Patch from comment:12 committed in r10707.

… I'll test it on the command-line and set the options so that only meaningful warnings are shown.

Feel free to send it directly to me once you have it!

comment:16 by Remy Blank, 13 years ago

I have added the pylint make target in [10708], but unfortunately my pylint crashes during the run. And there are still many unnecessary warnings (e.g. line lengths in test files), so some fine-tuning will be in order. But at least we have a basis.

in reply to:  16 comment:17 by Christian Boos, 13 years ago

Replying to rblank:

I have added the pylint make target in [10708], but unfortunately my pylint crashes during the run.

I've found http://www.logilab.org/ticket/37105 and added a backtrace there.

And there are still many unnecessary warnings (e.g. line lengths in test files), so some fine-tuning will be in order. But at least we have a basis.

Yes, thanks!

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.