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   1531 Views

Avatar
ChrisBryer

5 August 2009 at 4:53am Community Member, 95 Posts

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

6 August 2009 at 3:38am Community Member, 27 Posts

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

6 August 2009 at 3:47am (Last edited: 6 August 2009 10:32am), Community Member, 27 Posts

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

6 August 2009 at 9:15pm (Last edited: 6 August 2009 9:27pm), Forum Moderator, 921 Posts

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

7 August 2009 at 5:48am Community Member, 95 Posts

works great! thanks Sean!