Stalls and crashes on Trac 1.0.1
|Reported by:||anonymous||Owned by:||martin_s|
Description (last modified by jun66j5)
This plugin will not work for me using Trac 1.0.1
I am running it on an Ubuntu 14.04 Server which is running Python 2.7.6 with Graphviz 2.36 installed.
I installed it as an .egg in my environment's plugins folder using the latest ZIP download (changeset 13847).
When I load the page in the admin panel it loads the "Actions" buttons, "Columns" checkboxes, and the save/cancel/restore/text buttons, but nothing loads for the actual workflow table, and the workflow diagram just says "Updating..." but never loads either.
If I try clicking either of the "Save changes", "Cancel", "Restore initial state", or "Text mode" buttons it also causes an internal error in Trac with the following Traceback:
File "/usr/local/lib/python2.7/dist-packages/trac/web/main.py", line 497, in _dispatch_request dispatcher.dispatch(req) File "/usr/local/lib/python2.7/dist-packages/trac/web/main.py", line 214, in dispatch resp = chosen_handler.process_request(req) File "/usr/local/lib/python2.7/dist-packages/trac/admin/web_ui.py", line 125, in process_request path_info) File "build/bdist.linux-x86_64/egg/tracworkflowadmin/web_ui.py", line 136, in render_admin_panel self._parse_request(req) File "build/bdist.linux-x86_64/egg/tracworkflowadmin/web_ui.py", line 672, in _parse_request params = json.loads(req.args.get('params')) File "/usr/lib/python2.7/json/__init__.py", line 338, in loads return _default_decoder.decode(s) File "/usr/lib/python2.7/json/decoder.py", line 366, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end())
Inspecting the req.args.get('params') value shows that it is None which is what's causing that specific error.
I have quite a few plugins installed, but the only ones that effect workflow, tables, or use Graphviz are:
I do also have a fairly large workflow I am using:
[ticket-workflow] accept = new,assigned,accepted,reopened,needs_info,reviewing,in_progress -> accepted accept.operations = set_owner_to_self accept.permissions = TICKET_MODIFY failed = testing -> in_progress failed.name = failed testing failed.permissions = TICKET_MODIFY in_progress = new,assigned,accepted,reopened,needs_info,reviewing -> in_progress in_progress.name = in progress in_progress.permissions = TICKET_MODIFY leave = * -> * leave.default = 1 leave.operations = leave_status needs_info = new,assigned,accepted,reopened,reviewing,in_progress -> needs_info needs_info.name = needs additional information needs_info.permissions = TICKET_MODIFY passed = testing -> closed passed.name = passes testing passed.operations = set_resolution passed.permissions = TICKET_MODIFY passed.set_resolution = fixed reassign = new,assigned,accepted,reopened -> assigned reassign.operations = set_owner reassign.permissions = TICKET_MODIFY reassign_in_progress = in_progress -> * reassign_in_progress.name = reassign to reassign_in_progress.operations = set_owner reassign_in_progress.permissions = TICKET_MODIFY reassign_needs_info = needs_info -> * reassign_needs_info.name = reassign to reassign_needs_info.operations = set_owner reassign_needs_info.permissions = TICKET_MODIFY reassign_review = review -> * reassign_review.name = reassign to reassign_review.operations = set_owner reassign_review.permissions = TICKET_MODIFY reassign_testing = testing -> * reassign_testing.name = reassign to reassign_testing.operations = set_owner reassign_testing.permissions = TICKET_MODIFY reopen = closed -> reopened reopen.operations = del_resolution reopen.permissions = TICKET_CREATE resolve = new,assigned,accepted,reopened,needs_info,reviewing,in_progress -> closed resolve.operations = set_resolution resolve.permissions = TICKET_MODIFY review = new,assigned,accepted,reopened,needs_info,in_progress,testing -> reviewing review.name = needs review review.permissions = TICKET_MODIFY testing = new,assigned,accepted,reopened,needs_info,reviewing,in_progress -> testing testing.name = needs testing testing.permissions = TICKET_MODIFY
There is nothing in the logs at all when the page fails to load, and there is only the traceback when the internal error occurs.