dokuwiki-plugin-data icon indicating copy to clipboard operation
dokuwiki-plugin-data copied to clipboard

Bug: Some column names breaks the whole page rendering

Open strawhatgami opened this issue 7 years ago • 0 comments

Description

A PHP error generated by the plugin breaks the global PHP execution. So the article url renders a blank page - and the edition url too, that forbid the user to understand what happened, and to edit the article to correct its error by the usual way. The way to recover is to edit the article text file in /data/pages/...

To reproduce

---- dataentry somename ---- p_d : some value p_s : some value ----

The issue can probably be fixed with a few lines of bugfix, but IMHO those kind of unhandled errors should be prevented in the future by some kind of global try/catch (that may generate a generic error message to the user?), to avoid breaking the whole page and allow the user to edit its error with the dokuwiki interface.

Some data

  • Configuration:

    • dokuwiki 2017-02-19e "Frusterick Manners" (last stable)
    • Structured Data Plugin 2017-02-08 (current version on the dokuwiki plugin page)
  • PHP error log:

[<some date>] [php7:error] [pid <some PID>] [client <my IP>] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in <dokuwiki root_path>/lib/plugins/data/syntax/entry.php:103
Stack trace:
#0 <dokuwiki root_path>/inc/parser/handler.php(80): syntax_plugin_data_entry->handle('---- dataentry ...', 5, 1, Object(Doku_Handler))
#1 <dokuwiki root_path>/inc/parser/lexer.php(526): Doku_Handler->plugin('---- dataentry ...', 5, 1, 'data_entry')
#2 <dokuwiki root_path>/inc/parser/lexer.php(454): Doku_Lexer->_invokeParser('---- dataentry ...', 5, 1)
#3 <dokuwiki root_path>/inc/parser/lexer.php(411): Doku_Lexer->_dispatchTokens('', '---- dataentry ...', '_plugin_data_en...', 1, 1)
#4 <dokuwiki root_path>/inc/parser/parser.php(120): Doku_Lexer->parse('\\n\\n')
#5 <dokuwiki root_path>/inc/parserutils.php(205): Doku_Parser->parse('\\n---- dataentry...')
#6 <dokuwiki root_path>/inc/parserutils.php(167): p_get_instructions('---- dataentry ...')
#7 <dokuwiki root_path>/inc/pa in <dokuwiki root_path>/lib/plugins/data/syntax/entry.php on line 103

strawhatgami avatar Jan 19 '18 14:01 strawhatgami