Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

2.3.3 upgrade error


Reply


5 Posts   1591 Views

Avatar
ChrisBryer

Community Member, 95 Posts

5 August 2009 at 4:53am

hi everyone,
I am trying to upgrade my multi-lingual website from 2.3.2 to 2.3.3. i swapped out the folders CMS, Sapphire, jsparty, and googlesitemaps, and receive this error on dev/build:

[Warning] call_user_func(Array) [function.call-user-func]: First argument is expected to be a valid callback
GET /mylocalhostsite/dev/build

Line 67 in C:\wamp\www\mylocalhostsite\sapphire\core\model\DataObjectDecorator.php

Trace

* call_user_func(Array)
Line 67 of DataObjectDecorator.php
* DataObjectDecorator::load_extra_statics(SiteTree,)
Line 305 of DataObject.php
* DataObject->defineMethods()
Line 500 of Object.php
* Object->__construct()
Line 209 of DataObject.php
* DataObject->__construct(,1)
* ReflectionClass->newInstanceArgs(Array)
Line 115 of Object.php
* Object::strong_create(SiteTree,,1)
Line 262 of Core.php
* singleton(SiteTree)
Line 187 of DatabaseAdmin.php
* DatabaseAdmin->doBuild(,1)
Line 100 of DatabaseAdmin.php
* DatabaseAdmin->build()
Line 135 of DevelopmentAdmin.php
* DevelopmentAdmin->build(HTTPRequest)
Line 129 of RequestHandler.php
* RequestHandler->handleRequest(HTTPRequest)
Line 122 of Controller.php
* Controller->handleRequest(HTTPRequest)
Line 277 of Director.php
* Director::handleRequest(HTTPRequest,Session)
Line 121 of Director.php
* Director::direct(/dev/build)
Line 118 of main.php

is anyone else getting this error? any idea on how to fix it?

thanks,
-Chris

Avatar
UndefinedOffset

Community Member, 27 Posts

6 August 2009 at 3:38am

Ya I'm seeing this exact error as well, just since the upgrade to 2.3.3. No multi-lingual here though just English and it's from upgrading from 2.3.2 to 2.3.3.

Avatar
UndefinedOffset

Community Member, 27 Posts

6 August 2009 at 3:47am

Edited: 06/08/2009 10:32am

Seems to be something to do with this api change

[79430] #4255 sharvey: !DataObjectDecorator::extraStatics() can no longer refer to $this because it's called staticly (Merged via: r81698)

Avatar
Sean

Forum Moderator, 922 Posts

6 August 2009 at 9:15pm

Edited: 06/08/2009 9:27pm

Hi guys,

Yes - we've noticed this too. This is something we unfortunately didn't catch before releasing SS 2.3.3.

The bug was introduced by these changesets:

http://open.silverstripe.com/changeset/79430/modules
http://open.silverstripe.com/changeset/83038/modules

The bug was fixed in these changesets for the 2.3 development branch:

http://open.silverstripe.com/changeset/83579/modules
http://open.silverstripe.com/changeset/83580/modules
http://open.silverstripe.com/changeset/83582/modules
http://open.silverstripe.com/changeset/83586/modules
http://open.silverstripe.com/changeset/83587/modules

These fixes should make the next SS release, which will be 2.3.4.

In the mean time, if you want to fix your 2.3.3 installation, simply apply the above 5 changes to the SS files where you've installed it to.

Technically speaking, the issue was caused by FilesystemPublisher that has it's own __construct() method, but it didn't call parent::__construct() - thus breaking the assumption set by DataObject that it would.

Cheers,
Sean

Avatar
ChrisBryer

Community Member, 95 Posts

7 August 2009 at 5:48am

works great! thanks Sean!