Last modified: 2013-11-22 21:02:39 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T59380, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 57380 - Catchable fatal error: Argument 1 passed to EducationProgram\Events\{closure}() must be an instance of _DiffOp, instance of DiffOp_Copy given in EditEventCreator.php
Catchable fatal error: Argument 1 passed to EducationProgram\Events\{closure...
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
EducationProgram (Other open bugs)
master
All All
: Unprioritized normal (vote)
: ---
Assigned To: Andrew Green
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-21 22:55 UTC by Sam Reed (reedy)
Modified: 2013-11-22 21:02 UTC (History)
6 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Sam Reed (reedy) 2013-11-21 22:55:48 UTC
[21-Nov-2013 22:43:24] Catchable fatal error: Argument 1 passed to EducationProgram\Events\{closure}() must be an instance of _DiffOp, instance of DiffOp_Copy given at /usr/local/apache/common-local/php-1.23wmf4/extensions/EducationProgram/includes/Events/EditEventCreator.php on line 159
Server: mw1172
Method: POST
URL: http://en.wikipedia.org/w/index.php?title=User_talk:Werieth&action=submit
Backtrace:
#0 /usr/local/apache/common-local/php-1.23wmf4/extensions/EducationProgram/includes/Events/EditEventCreator.php(159): EducationProgram\Events\{closure}()
#1 [internal function]: EducationProgram\Events\{closure}(Object(DiffOp_Copy))
#2 /usr/local/apache/common-local/php-1.23wmf4/extensions/EducationProgram/includes/Events/EditEventCreator.php(162): array_filter(Array, Object(Closure))
#3 /usr/local/apache/common-local/php-1.23wmf4/extensions/EducationProgram/includes/Events/EditEventCreator.php(108): EducationProgram\Events\EditEventCreator->createEditEvents(Object(Revision), Object(User), Array)
#4 /usr/local/apache/common-local/php-1.23wmf4/extensions/EducationProgram/EducationProgram.hooks.php(448): EducationProgram\Events\EditEventCreator->getEventsForEdit(Object(WikiPage), Object(Revision), Object(User))
#5 [internal function]: EducationProgram\Hooks::onNewRevisionFromEditComplete(Object(WikiPage), Object(Revision), false, Object(User))
#6 /usr/local/apache/common-local/php-1.23wmf4/includes/Hooks.php(199): call_user_func_array('EducationProgra...', Array)
#7 /usr/local/apache/common-local/php-1.23wmf4/includes/GlobalFunctions.php(4032): Hooks::run('NewRevisionFrom...', Array)
#8 /usr/local/apache/common-local/php-1.23wmf4/includes/WikiPage.php(1800): wfRunHooks('NewRevisionFrom...', Array)
#9 [internal function]: WikiPage->doEditContent(Object(WikitextContent), '/* Restoring */...', 98, false, NULL, 'text/x-wiki')
#10 /usr/local/apache/common-local/php-1.23wmf4/includes/Article.php(2030): call_user_func_array(Array, Array)
#11 /usr/local/apache/common-local/php-1.23wmf4/includes/EditPage.php(1772): Article->__call('doEditContent', Array)
#12 /usr/local/apache/common-local/php-1.23wmf4/includes/EditPage.php(1772): Article->doEditContent(Object(WikitextContent), '/* Restoring */...', 98, false, NULL, 'text/x-wiki')
#13 /usr/local/apache/common-local/php-1.23wmf4/includes/EditPage.php(1213): EditPage->internalAttemptSave(Array, false)
#14 /usr/local/apache/common-local/php-1.23wmf4/includes/EditPage.php(416): EditPage->attemptSave()
#15 /usr/local/apache/common-local/php-1.23wmf4/includes/actions/EditAction.php(50): EditPage->edit()
#16 /usr/local/apache/common-local/php-1.23wmf4/includes/actions/EditAction.php(74): EditAction->show()
#17 /usr/local/apache/common-local/php-1.23wmf4/includes/Wiki.php(441): SubmitAction->show()
#18 /usr/local/apache/common-local/php-1.23wmf4/includes/Wiki.php(305): MediaWiki->performAction(Object(Article), Object(Title))
#19 /usr/local/apache/common-local/php-1.23wmf4/includes/Wiki.php(596): MediaWiki->performRequest()
#20 /usr/local/apache/common-local/php-1.23wmf4/includes/Wiki.php(460): MediaWiki->main()
#21 /usr/local/apache/common-local/php-1.23wmf4/index.php(49): MediaWiki->run()
#22 /usr/local/apache/common-local/w/index.php(3): require('/usr/local/apac...')
#23 {main}
Comment 1 Sage Ross 2013-11-22 14:20:39 UTC
*** Bug 57417 has been marked as a duplicate of this bug. ***
Comment 2 Gerrit Notification Bot 2013-11-22 16:40:37 UTC
Change 97026 had a related patch set uploaded by AndyRussG:
Update _DiffOp to DiffOp following rename in core

https://gerrit.wikimedia.org/r/97026
Comment 3 Gerrit Notification Bot 2013-11-22 17:11:20 UTC
Change 97026 merged by Reedy:
Update _DiffOp to DiffOp following rename in core

https://gerrit.wikimedia.org/r/97026
Comment 4 Siebrand Mazeland 2013-11-22 19:31:38 UTC
This was actually caused by my change. I'm certain I checked for the class name in almost all Gerrit exctensions, including EducationProgram. I do not know what went wrong here. My apologies for this breakage.

Sam has deployed a fix and things appear to be working again.
Comment 5 Andrew Green 2013-11-22 20:04:32 UTC
Please don't worry about it, Siebrand...!!! (And while it really doesn't matter, are you quite sure it was you? https://gerrit.wikimedia.org/r/#/c/92588/3/includes/diff/DairikiDiff.php)

Also--and I guess this is kinda off-topic--is there a stream somewhere for announcing potentially breaking API changes? If not, maybe one should be proposed?
Comment 6 Siebrand Mazeland 2013-11-22 20:39:46 UTC
(In reply to comment #5)
> Please don't worry about it, Siebrand...!!! (And while it really doesn't
> matter, are you quite sure it was you?
> https://gerrit.wikimedia.org/r/#/c/92588/3/includes/diff/DairikiDiff.php)
> 
> Also--and I guess this is kinda off-topic--is there a stream somewhere for
> announcing potentially breaking API changes? If not, maybe one should be
> proposed?

Oh, it wasn't me, it was Max. I'm currently going through all of core to fix CodeSniffer and static code analysis issues. It's a lot of work, but the rate at which I'm finding bugs that can be fixed, and would have otherwise gone unnoticed is considerable and makes it worth while, I think.

Part of the cleanup is also removing classes with underscores. I have clones of most extensions in Gerrit (there are 650 or so, I have roughly 610). I'm planning to remove all underscores from class names, where they exist (as well as from files those classes with underscores are in). An example of the release notes I'm preparing is at https://gerrit.wikimedia.org/r/#/c/96469/5/RELEASE-NOTES-1.23

RELEASE-NOTES often get merge conflicted, so I want to update the release notes in a stand-alone patch set if and when the referenced patch is merged, and then get that merged quickly. I plan on using Autoloader.php to identify the classes that had their names changed.
Comment 7 Andrew Green 2013-11-22 21:02:39 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > Please don't worry about it, Siebrand...!!! (And while it really doesn't
> > matter, are you quite sure it was you?
> > https://gerrit.wikimedia.org/r/#/c/92588/3/includes/diff/DairikiDiff.php)
> > 
> > Also--and I guess this is kinda off-topic--is there a stream somewhere for
> > announcing potentially breaking API changes? If not, maybe one should be
> > proposed?
> 
> Oh, it wasn't me, it was Max. I'm currently going through all of core to fix
> CodeSniffer and static code analysis issues. It's a lot of work, but the rate
> at which I'm finding bugs that can be fixed, and would have otherwise gone
> unnoticed is considerable and makes it worth while, I think.
> 
> Part of the cleanup is also removing classes with underscores. I have clones
> of
> most extensions in Gerrit (there are 650 or so, I have roughly 610). I'm
> planning to remove all underscores from class names, where they exist (as
> well
> as from files those classes with underscores are in). An example of the
> release
> notes I'm preparing is at
> https://gerrit.wikimedia.org/r/#/c/96469/5/RELEASE-NOTES-1.23
> 
> RELEASE-NOTES often get merge conflicted, so I want to update the release
> notes
> in a stand-alone patch set if and when the referenced patch is merged, and
> then
> get that merged quickly. I plan on using Autoloader.php to identify the
> classes
> that had their names changed.

Cool, thanks for the info!!!

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links