[horde] EMERG: HORDE-BETA Missing required state object [pid 15927 on line 122 of "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]

Michael J Rubinsky mrubinsk at horde.org
Thu Jan 2 17:12:04 UTC 2014


Quoting Simon B <simon.buongiorno at gmail.com>:

> On 31 December 2013 17:09, Michael J Rubinsky <mrubinsk at horde.org> wrote:
>>
>> Quoting Simon B <simon.buongiorno at gmail.com>:
>>
>>> On 26 December 2013 19:03, Michael J Rubinsky <mrubinsk at horde.org> wrote:
>>>>
>>>>
>>>> Quoting Simon B <simon.buongiorno at gmail.com>:
>>>>
>>>>> On 25 December 2013 21:34, Michael J Rubinsky <mrubinsk at horde.org>
>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Quoting Simon B <simon.buongiorno at gmail.com>:
>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> Since the last git pull that I did on Sunday I have this in my logs..
>>>>>>>
>>>>>>> 2013-12-22T06:31:39+00:00 EMERG: HORDE-BETA [horde] Missing required
>>>>>>> state object [pid 15927 on line 122 of
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>>>>>> 2013-12-22T06:32:19+00:00 EMERG: HORDE-BETA [horde] Missing required
>>>>>>> state object [pid 16066 on line 122 of
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>>>>>> 2013-12-22T06:34:08+00:00 EMERG: HORDE-BETA [horde] Missing required
>>>>>>> state object [pid 16004 on line 122 of
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>>>>>> 2013-12-22T06:34:58+00:00 EMERG: HORDE-BETA [horde] Missing required
>>>>>>> state object [pid 16056 on line 122 of
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>>>>>> 2013-12-22T06:34:58+00:00 EMERG: HORDE-BETA [horde] Missing required
>>>>>>> state object [pid 15320 on line 122 of
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>>>>>> 2013-12-22T06:34:58+00:00 EMERG: HORDE-BETA [horde] Missing required
>>>>>>> state object [pid 15947 on line 122 of
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>>>>>> 2013-12-22T06:36:23+00:00 EMERG: HORDE-BETA [horde] Missing required
>>>>>>> state object [pid 16636 on line 122 of
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>>>>>>
>>>>>>> Usually this means I have to update the DB schema or other config file
>>>>>>> - but I've done that to no avail.  I can't find anything else that
>>>>>>> could be stopping this and of course it's preventing any sync
>>>>>>> whatsoever at that moment from any ActiveSync device.
>>>>>>>
>>>>>>> I did find an error about a missing parameter in the imp
>>>>>>> backends.local.php for the quota driver, but the parameter was there
>>>>>>> just commented out.  That error actually stopped after the git pull.
>>>>>>>
>>>>>>> The last entry in the activesync device file was when the git pull was
>>>>>>> made.  Since then, nothing.
>>>>>>>
>>>>>>> https://webmail.example.net/admin/activesync.php results in a white
>>>>>>> page and an apache error.
>>>>>>>
>>>>>>> [Tue Dec 24 16:15:35 2013] [error] [client 78.35.55.234] PHP Fatal
>>>>>>> error:  Call to a member function setLogger() on a non-object in
>>>>>>> /usr/share/git-horde5/horde/admin/activesync.php on line 25, referer:
>>>>>>> https://webmail.example.net/admin/config/
>>>>>>>
>>>>>>>
>>>>>>> Any ideas?
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Sounds like you didn't (re)run install_framework.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Mike
>>>>>
>>>>> Firstly, apologies for the ridiculous subject.  I thought it would
>>>>> only paste the first line.
>>>>>
>>>>> The pull-script did run install_dev on Sunday as it should.  Did you
>>>>> mean
>>>>> that?
>>>>>
>>>>> Running install_frameworks wants options and
>>>>> http://www.horde.org/development/git says nothing about it.
>>>>>
>>>>> In fact Google has just 12 results for
>>>>> /framework/bin/install_framework and none of them look really helpful
>>>>>
>>>>> Hints gratefully received :)
>>>>
>>>>
>>>>
>>>> Ah, yeah. Sorry that is the script that I meant (install_dev calls
>>>> install_framework internally). Did you update the various configs after
>>>> you
>>>> pulled? We recently merged the horde 5_2 branches into master.
>>>
>>>
>>> Hi Michael
>>>
>>> Did another git pull (automatically by a cron-job which also calls
>>> install_dev) on Sunday and I still have this issue.  In fact it's
>>> burning through my battery something cronic :)
>>
>>
>> Well, the error you listed from your Apache log is coming from the admin
>> page, something that wouldn't effect your device at all. Of course, it's
>> probably secondary to the real issue - your install seems to not be
>> instantiating the state object properly.
>>
>>> 2013-12-30T11:49:49+00:00 EMERG: HORDE-BETA [horde] Missing required
>>> state object [pid 23708 on line 122 of
>>>
>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>> 2013-12-30T11:49:51+00:00 EMERG: HORDE-BETA [horde] Missing required
>>> state object [pid 23708 on line 122 of
>>>
>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>> 2013-12-30T11:49:53+00:00 EMERG: HORDE-BETA [horde] Missing required
>>> state object [pid 23708 on line 122 of
>>>
>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>> 2013-12-30T11:49:54+00:00 EMERG: HORDE-BETA [horde] Missing required
>>> state object [pid 23708 on line 122 of
>>>
>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>> 2013-12-30T11:49:56+00:00 EMERG: HORDE-BETA [horde] Missing required
>>> state object [pid 23708 on line 122 of
>>>
>>> "/usr/share/git-horde5/framework/ActiveSync/lib/Horde/ActiveSync/Driver/Base.php"]
>>>
>>> I still get a white page of death when accessing
>>> https://webmail.example.net/admin/activesync.php
>>>
>>> Apache says:
>>> [Mon Dec 30 11:53:26 2013] [error] [client 195.233.250.7] PHP Fatal
>>> error:  Call to a member function setLogger() on a non-object in
>>> /usr/share/git-horde5/horde/admin/activesync.php on line 25, referer:
>>> https://webmail.example.net/admin/config/index.php?check_versions=1
>>>
>>> The admin/config page says I have all the latest versions, all schemas
>>> are up to date, all applications are ready (so I assume that means all
>>> the configs are correct and up-to-date) and all modules are up to
>>> date.
>>>
>>> 116     public function __construct($params = array())
>>> 117     {
>>> 118         $this->_params = $params;
>>> 119         if (empty($params['state']) ||
>>> 120             !($params['state'] instanceof
>>> Horde_ActiveSync_State_Base)) {
>>> 121
>>> 122             throw new InvalidArgumentException('Missing required
>>> state object');
>>> 123         }
>>> 124
>>>
>>> I'm no php guru but as far as I can tell this says to construct the
>>> $params into an array.
>>
>>
>> It means the default value of the $params parameter should be an empty array
>> if nothing is passed.
>>
>>> if the $params state is empty or if the value
>>> is Horde_ActiveSync_State_Base then throw an exception.
>>
>>
>> You have it backwards: If the $params array does NOT contain a value for the
>> key 'state' OR if that value is NOT an instance of the state object.
>
> Doh - I missed the "!" - of course it's NOT..  Sorry.
>
>>>  But I'm at a
>>> loss to know what really means.
>>
>>
>> It's enforcing the contract/stated requirements of the method.
>>
>>> What should I do to debug this?
>>
>>
>> Ensure your ActiveSync configuration is completely up to date, and the
>> storage choices make sense for your install. I.e., if you are using SQL,
>> make sure the database is correct. If you are using NoSql, make sure that
>> Mongo is setup properly.
>
> Happy New Year Michael!
>
> I've looked at this several times - and if there's something missing
> from the config I cannot find it.  As I mentioned, the admin/config
> page reports the DB schema is all up-to-date (if that's what you mean
> by making sure the DB is correct).

What I meant was making sure you were using the storage backend you intended.

  What could I do to verify that?  I
> am using SQL.  Although I see no mention of storage for
> ActiveSync.....

It should have been visible when you loaded the configuration  
interface after the pull.

> So, on faith, I decided to let the admin/config page generate a new
> config after making my config 660 (it's usually 640).
>
> And sure enough storage for ActiveSync now appears in the config.  I
> know how this happened, but not why.
>
> As recounted before, my git-update script does a weekly pull on Sunday
> and reruns install_dev.  Then, if things stop working I go in and see
> if the config needs changing (which I have to do manually, because the
> config is not writeable by Apache).  Usually, the only thing that need
> changing is the $Id - but I use the show differences to make sure.
> Since the update 3 days before Christmas, that hasn't been working for
> me.  I get an error that says:
> No available configuration data to show differences for.
>
> I'm not sure why that is - had that been working I would have seen
> that you'd added Storage parameters for ActiveSync and made the
> necessary edits.  Should the show differences code be working?  Is it
> being retired?  Do you need more information from me to debug that?
>
> Once again, I'd like to call for a subtle UI change (in the colour of
> the tabs) when new parameters have been added.  That too would have
> alerted me to which area I should have been investigating (because of
> course once the DB schema showed up as not needing updating, I wasn't
> in a position to think it might be a storage config issue).

Well, this change is part of the change set going from 5.1 to 5.2. It  
would (normally) be mentioned in the UPGRADING instructions though, as  
I might have mentioned, it might still need to be added there as part  
of the release preparations.

-- 
mike

The Horde Project (www.horde.org)
mrubinsk at horde.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5849 bytes
Desc: S/MIME Signature
URL: <http://lists.horde.org/archives/horde/attachments/20140102/286416b4/attachment.bin>


More information about the horde mailing list