Bug #23604 See Comments

Adding extra row to grid field triggers error and the crash - EE4.2.1

Version: 4.2.1 Reporter: JCOGS Design

Site has a fluid field attached to a channel, and within the fluid field are linked several grid fields.

Choose a grid field and site works just fine until grid field gets above a certain size.

Have developed a repeatable error where adding an extra row to a large table initially triggers ‘Error’ markers on the submit buttons for the page.

Deleting the row during the add (i.e. after errors have appeared) clears the error and the entry can continue to be edited.

Reloading the page when the error occurs results in the added row elements continuing to be displayed, but errors in submit buttons are cleared.

Saving the page at this point triggers a serious / fatal EE error

Fatal error: Uncaught Error: Call to a member function updateAuthorStats() on null in /var/sites/g/greentree-ee4.jcogs.net/system/ee/EllisLab/ExpressionEngine/Model/Channel/ChannelEntry.php:446 Stack trace: #0 [internal function]: EllisLab\ExpressionEngine\Model\Channel\ChannelEntry->onAfterUpdate(Array) #1 /var/sites/g/greentree-ee4.jcogs.net/system/ee/EllisLab/ExpressionEngine/Service/Model/Model.php(824): call_user_func_array(Array, Array) #2 /var/sites/g/greentree-ee4.jcogs.net/system/ee/EllisLab/ExpressionEngine/Service/Model/Query/Update.php(51): EllisLab\ExpressionEngine\Service\Model\Model->emit('afterUpdate', Array) #3 /var/sites/g/greentree-ee4.jcogs.net/system/ee/EllisLab/ExpressionEngine/Service/Model/DataStore.php(281): EllisLab\ExpressionEngine\Service\Model\Query\Update->run() #4 /var/sites/g/greentree-ee4.jcogs.net/system/ee/EllisLab/ExpressionEngine/Service/Model/DataStore.php(247): EllisLab\ExpressionEngine\Service\Model\DataStore->runQuery('Update', Object(EllisLab\ExpressionEngine\Service\Model\Query\B in /var/sites/g/greentree-ee4.jcogs.net/system/ee/EllisLab/ExpressionEngine/Model/Channel/ChannelEntry.php on line 446

This behaviour does not affect the rendering of the grid - if you add additional rows via SQL rather than EE CP interface the additional rows (i.e. above 162 in the test case) display fine in both CP and on the public site, but any attempt to save the entry triggers a different error - with multiple warnings and the edit not being saved. Vis:

Notice
Trying to get property of non-object
ee/EllisLab/ExpressionEngine/Model/Channel/ChannelEntry.php, line 266

Severity: E_NOTICE
Notice
Trying to get property of non-object
ee/EllisLab/ExpressionEngine/Controller/Publish/AbstractPublish.php, line 99

Severity: E_NOTICE
Notice
Trying to get property of non-object
ee/EllisLab/ExpressionEngine/Controller/Publish/AbstractPublish.php, line 102

Severity: E_NOTICE
Notice
Trying to get property of non-object
ee/EllisLab/ExpressionEngine/Controller/Publish/AbstractPublish.php, line 112

Severity: E_NOTICE
Notice
Trying to get property of non-object
ee/EllisLab/ExpressionEngine/Controller/Publish/Edit.php, line 539

Severity: E_NOTICE

To help explain what is happening have made a screen-grab video of the error (following steps described above) - https://www.dropbox.com/s/qu1qbbg5pwx9np6/Screen%20Recording%202018-05-13%20at%2014.51.52.mov?dl=0

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases