Modify

Opened 8 months ago

Last modified 8 months ago

#11823 new defect

Stalls and crashes on Trac 1.0.1

Reported by: anonymous Owned by: martin_s
Priority: normal Component: MindMapMacro
Severity: normal Keywords: jqueryui
Cc: Trac Release: 1.0

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:

AdvancedTicketWorkflowPlugin 0.11dev
Table-Sorter-Plugin 1.0
trac-WorkflowActionButtons 0.2
TracMindMapMacro 0.4

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.

Attachments (0)

Change History (7)

comment:1 Changed 8 months ago by jun66j5

  • Description modified (diff)

Cannot reproduce it. What of browser are you using?

comment:2 Changed 8 months ago by jun66j5

  • Keywords needinfo added

comment:3 Changed 8 months ago by anonymous

I am using Firefox 30.

comment:4 Changed 8 months ago by jun66j5

I'm also using Firefox 30 on Windows. It works for me.

Please check using Console and Network tabs on Web developer in your Firefox.

comment:5 Changed 8 months ago by anonymous

I was able to track down the issue. It was actually a jQuery-UI conflict between a few of the other plugins. It only caused a noticeable error on the Workflow Admin page for some reason though.

For now I have disabled the main offending plugin and everything is working fine with this plugin now.

comment:6 Changed 8 months ago by jun66j5

In 13978:

tracworkflowadmin: use bundled jquery-ui in Trac core if Trac 1.0 and later (refs #11823)

comment:7 Changed 8 months ago by jun66j5

  • Component changed from TracWorkflowAdminPlugin to MindMapMacro
  • Keywords jqueryui added; needinfo removed
  • Owner changed from jun66j5 to martin_s

Thanks for the feedback. I reproduce now. The jquery-ui conflicts between 1.8.6 in TracWorkflowAdminPlugin and 1.7.2 in MindMapMacro.

Workaround is to add the following to your trac.ini.

[mindmap]
resizable = disabled

Otherwise, it would be fixed to apply the following patch to use bundled jqueryui in Trac core, except it's still broken on Trac 0.12.x.

  • mindmapmacro/0.11/tracmindmap/macro.py

     
    1515from trac.mimeview.api import IHTMLPreviewRenderer
    1616from trac.util         import md5, to_unicode
    1717from trac.web.api      import IRequestFilter, IRequestHandler, RequestDone
    18 from trac.web.chrome   import ITemplateProvider, add_script, add_stylesheet
     18from trac.web.chrome   import Chrome, ITemplateProvider, add_script, add_stylesheet
    1919from trac.web.href     import Href
    2020from trac.wiki.api     import IWikiMacroProvider, parse_args
    2121from tracextracturl    import extract_url
     
    136136        add_script( req, 'mindmap/tools.flashembed-1.0.4.min.js', mimetype='text/javascript' )
    137137        add_script( req, 'mindmap/mindmap.js', mimetype='text/javascript' )
    138138        if self.resizable:
    139             add_stylesheet( req, 'mindmap/ui.theme.css', mimetype='text/css' )
    140             add_stylesheet( req, 'mindmap/ui.resizable.css', mimetype='text/css' )
    141             add_script( req, 'mindmap/ui.core.js', mimetype='text/javascript' )
    142             add_script( req, 'mindmap/ui.resizable.js', mimetype='text/javascript' )
     139            if hasattr(Chrome, 'add_jquery_ui'):
     140                Chrome(self.env).add_jquery_ui(req)
     141            else:
     142                add_stylesheet( req, 'mindmap/ui.theme.css', mimetype='text/css' )
     143                add_stylesheet( req, 'mindmap/ui.resizable.css', mimetype='text/css' )
     144                add_script( req, 'mindmap/ui.core.js', mimetype='text/javascript' )
     145                add_script( req, 'mindmap/ui.resizable.js', mimetype='text/javascript' )
    143146        return (template, data, content_type)
    144147

Add Comment

Modify Ticket

Action
as new The owner will remain martin_s.
Author


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

 
Note: See TracTickets for help on using tickets.