Loading...
 
Skip to main content

Fatal error calling TRACKERITEMFIELD with inexistent tracker item

Status
Open
Subject
Fatal error calling TRACKERITEMFIELD with inexistent tracker item
Version
12.x
15.x
18.x
9.x
Category
  • Error
Feature
Trackers
Wiki Plugin (extends basic syntax)
Resolution status
New
Submitted by
Philippe Cloutier
Lastmod by
Philippe Cloutier
Rating
(0)
Description

When the TRACKERITEMFIELD plugin is called trying to access a tracker item which does not exist, a fatal error like the following occurs:

Copy to clipboard
Fatal error: Call to a member function getConfiguration() on boolean in C:\xampp\htdocs\tiki\18\lib\core\Tracker\Item.php on line 200 Call Stack # Time Memory Function Location 1 0.2009 192464 {main}( ) ..\route.php:0 2 0.2617 4607672 include( 'C:\xampp\htdocs\tiki\18\tiki-index.php' ) ..\route.php:306 3 0.5479 18560680 Tiki_Render_Lazy->__toString( ) ..\route.php:645 4 0.5479 18560712 call_user_func:{C:\xampp\htdocs\tiki\18\lib\core\Tiki\Render\Lazy.php:22} ( object(Closure)[521] ) ..\Lazy.php:22 5 0.5479 18560752 WikiRenderer->{closure:C:\xampp\htdocs\tiki\18\lib\wiki\renderlib.php:346-356}( ) ..\Lazy.php:22 6 0.5480 18560984 WikiLib->get_parse( string(16), bool, ??? ) ..\renderlib.php:349 7 0.5484 18565728 WikiLibOutput->__construct( array(34), string(58), array(3), string(1) ) ..\wikilib.php:802 8 0.5484 18566056 ParserLib->parse_data( string(58), array(3) ) ..\wikilib.php:2155 9 0.5485 18568760 ParserLib->parse_first( string(58), array(2), array(2), ??? ) ..\parserlib.php:1667 10 0.5537 18774536 ParserLib->plugin_execute( string(16), string(0), array(3), long, bool, ??? ) ..\parserlib.php:439 11 0.5562 18785784 wikiplugin_trackeritemfield( string(0), array(3), long ) ..\parserlib.php:1031 12 0.5670 20145512 Tracker_Item->canView( ) ..\wikiplugin_trackeritemfield.php:193 13 0.5670 20145664 Tracker_Item->canSeeOwn( ) ..\Item.php:88


Objects which contain such calls cannot be viewed, and reindexing for search is also broken.

This happens since r37583 and persists in trunk r68584.

Solution
This needs a modification in wikiplugin_trackeritemfield.php to display a "Tracker item does not exist" message, but there's surely something which could be improved in Tracker_Item::fromInfo() too. That function should throw an exception making the problem clear, not return a bogus object.
Importance
6
Easy to solve?
8
Priority
48
Demonstrate Bug on Tiki 19+
Demonstrate Bug (older Tiki versions)
Ticket ID
6977
Created
Monday 17 December, 2018 21:35:34 UTC
by Philippe Cloutier
LastModif
Monday 17 December, 2018 22:05:23 UTC


Show PHP error messages