[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"]

Tomi Orava Tomi.Orava at ncircle.nullnet.fi
Sat Jan 18 13:34:44 UTC 2014


On 01/17/2014 09:09 PM, Michael J Rubinsky wrote:
> 
> Quoting Tomi Orava <Tomi.Orava at ncircle.nullnet.fi>:
> 
>> On 01/15/2014 06:57 AM, Michael M Slusarz wrote:
>>> Quoting Tomi Orava <Tomi.Orava at ncircle.nullnet.fi>:
>>>
>>>>> If/when you find a commit that works for you, you can use git bisect to find the commit that breaks it.
>>>>
>>>> I just tried to upgrade to latest GIT revision and got exactly the same error
>>>> message and white screen on admin config page. After git bisect, the end result was the
>>>> following commit:
>>>>
>>>> The used HEAD was:             8b509f0e85803987c637f6feaf84c32800f488b7
>>>> and the known working version: 19efe8dac153be390c624d7e8de8ce4b3fde047c
>>>>
>>>> 54a1644952151bea3dc942e0b334e07810e9e188 is the first bad commit
>>>> commit 54a1644952151bea3dc942e0b334e07810e9e188
>>>> Author: Michael M Slusarz <slusarz at horde.org>
>>>> Date:   Mon Nov 4 00:40:29 2013 -0700
>>>>
>>>>     Convert Horde_Session to Horde_Pack
>>>>
>>>>     Add to 6.2 branch so we (I) can test in a production-like environment.
>>>>
>>>> :040000 040000 fdd053032dac0362b9f0620d06b315d58274d6e5 031e3c54a01429f7603dc758550b6c12cc4683eb M      framework
>>>>
>>>> Once I get the empty screen by browsing to admin config page or to kronolith
>>>> page, the session will not recover ---> all the screens are empty after that.
>>>>
>>>> Perhaps this gives someone ideas what might be the real problem.
>>>
>>> Not really, since everything relating to that patch works for me (and evidently the other Horde developers).  You will now have to track down where in the code this is failing for you.
>>
>> As a follow up, this problem was eventually fixed by dropping the whole mysql database and re-creating from
>> scratch with the latest GIT master version.
>>
>> However, the initial table creation didn't work at all until I reverted the commit below:
>>
>> commit 133a0d5acadd3e6950260698730084f283956d75
>> Author: Jan Schneider <jan at horde.org>
>> Date:   Wed Dec 18 12:16:08 2013 +0100
>>
>>     Set precision and scale on non-decimal columns too, if explicitly requested.
>>
>> diff --git a/framework/Db/lib/Horde/Db/Adapter/Base/Schema.php b/framework/Db/lib/Horde/Db/Adapter/Base/Schema.
>> index 3e893ab..be16158 100644
>> --- a/framework/Db/lib/Horde/Db/Adapter/Base/Schema.php
>> +++ b/framework/Db/lib/Horde/Db/Adapter/Base/Schema.php
>> @@ -896,7 +896,9 @@ abstract class Horde_Db_Adapter_Base_Schema
>>          }
>>
>>          $sql = is_array($native) ? $native['name'] : $native;
>> -        if ($type == 'decimal') {
>> +        if ($type == 'decimal' ||
>> +            isset($native['precision']) || isset($native['scale']) ||
>> +            isset($precision) || isset($scale)) {
>>              $nativePrec  = isset($native['precision']) ? $native['precision'] : null;
>>              $nativeScale = isset($native['scale'])     ? $native['scale']     : null;
>>
>> The problem was that with this patch the mysql "AUTO_INCREMENT KEY" had the value "(i, i)"
>> appended together, which mysql didn't like at all. I quess that not many have tried with the
>> GIT versions since december 18. to re-create everything using mysql.
> 
> 
> Works fine here. I routinely drop and recreate the tables during testing. Just tried it again
> right now and it worked as expected.

Can you compare these logs to yours ?

Migrating to HordeImapClientBaseTables (1)
== 1 HordeImapClientBaseTables: migrating =====================================
-- tables()
   -> 0.0005s
-- createTable('horde_imap_client_data', array('autoincrementKey' => 'uid'))
   -> 0.0000s
QUERY FAILED: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(i, i),
  `hostspec` varchar(255) NOT NULL,
  `mailbox` varchar(255) NOT NULL,' at line 2

CREATE  TABLE `horde_imap_client_data` (
  `uid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY(i, i),
  `hostspec` varchar(255) NOT NULL,
  `mailbox` varchar(255) NOT NULL,
  `modified` bigint,
  `port` int(11) NOT NULL,
  `username` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
^[[01;34m[  INFO  ] ^[[0mCurrent Horde_Lock schema version: 0
Migrating to HordeLockBaseTables (1)
== 1 HordeLockBaseTables: migrating ===========================================
-- tables()
   -> 0.0004s
-- createTable('horde_locks', array('autoincrementKey' => array (
  0 => 'lock_id',
)))
   -> 0.0000s

<snip>



Migrating to HordeVfsBaseTables (1)
== 1 HordeVfsBaseTables: migrating ============================================
-- tables()
   -> 0.0006s
-- createTable('horde_vfs', array('autoincrementKey' => array (
  0 => 'vfs_id',
)))
   -> 0.0000s
-- addIndex('horde_vfs', array(0 => 'vfs_path'))
   -> 0.0075s
-- addIndex('horde_vfs', array(0 => 'vfs_name'))
   -> 0.0112s
-- tables()
   -> 0.0007s
-- createTable('horde_muvfs', array('autoincrementKey' => array (
  0 => 'vfs_id',
)))
   -> 0.0000s
-- addIndex('horde_muvfs', array(0 => 'vfs_path'))
   -> 0.0078s
-- addIndex('horde_muvfs', array(0 => 'vfs_name'))
   -> 0.0083s
== 1 HordeVfsBaseTables: migrated (0.0690s) ===================================

Migrating to HordeVfsUpgradeAutoIncrement (2)
== 2 HordeVfsUpgradeAutoIncrement: migrating ==================================
-- changeColumn('horde_vfs', 'vfs_id', 'autoincrementKey')
QUERY FAILED: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(i, i)' at line 1

ALTER TABLE `horde_vfs` DROP PRIMARY KEY, CHANGE `vfs_id` `vfs_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY(i, i)

I'm using mysql 5.5.34 and I just re-tried with the GIT version a24b2647c4bd12becbca5703390a68ab39f3cd21.
At least my mysql is not at all happy with the syntax used by
./horde/bin/horde-db-migrate unless I revert the previously mentioned commit.

Tomi Orava





More information about the horde mailing list