Summary | ActiveSync error after latest changes in git |
Queue | Synchronization |
Queue Version | Git master |
Type | Bug |
State | Resolved |
Priority | 1. Low |
Owners | mrubinsk (at) horde (dot) org |
Requester | Joerg.Pulz (at) frm2 (dot) tum (dot) de |
Created | 11/28/2012 (4579 days ago) |
Due | |
Updated | 01/04/2013 (4542 days ago) |
Assigned | 12/17/2012 (4560 days ago) |
Resolved | 12/18/2012 (4559 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
On my system, every time I try to sync anything (regardless if
calendar, mail or contacts) with my Android phone and one specific
account it got stuck with the exception "_logger is not a valid
property" which probably also caused segfaults.
The code where it happens is in Horde/ActiveSync.php, around line 650.
I can't get the original line numbers since I added some extra debug code.
It is around here, near the bottom of the function handleRequest():
public function handleRequest($cmd, $devId) {
......
$class = 'Horde_ActiveSync_Request_' . basename($cmd);
$version = $this->getProtocolVersion();
if (class_exists($class)) {
$request = new $class($this, $device);
$request->setLogger($this->_logger);
----> $result = $request->handle(); <---- here it crashes
$this->_driver->clearAuthentication();
return $result;
}
I tracked it down to the
Horde_ActiveSync_SyncCache::updateCollection() function. Whenever I
try to access $this->_logger there the whole thing crashes, even when
I just try to make a var_dump() on it.
So I commented out the Logging, cleared the caches, removed the device
from Horde and tried again. Now it stops whith this error:
PHP Fatal error: Cannot use object of type
Horde_ActiveSync_Folder_Collection as array in
/usr/share/pear/Horde/ActiveSync/State/Base.php on line 380
This might be a local problem with my PHP installation which is PHP
5.3.3 on a CentOS 5.x system, but it sound very similar to the problem
of the ticket opener!
State ⇒ Resolved
State ⇒ Feedback
The error indeed disappeared after removing the device.
I updated to the latest git again yesterday and i now have a new
error, but only when using Android devices, for iPhones it seems to
work.
When i try to sync my Android phone or tablet, the php-fpm process
segfaults when it reaches an Outlook HTML mail. The last message i see
in the log is:
"Sending HTML message."
The Android device reports:
"Couldn't connect to server ..."
As soon as i delete+expunge the message in question, everything is
working like a charm.
With an iPhone and the same message in the mailbox there is no problem at all.
Calendar and Contacts sync and GAL access is working on Android
devices without problems.
I have no clue how to track this further down.
Priority ⇒ 1. Low
State ⇒ Feedback
unless your state table became corrupt. During a FOLDERSYNC request,
$this->_folder is, indeed, an array that contains all of the folder
information that the device knows about. This is used to generate a
diff against the current set of folder information on the server.
Can you try to remove the device from Horde and try again? If this
still happens, I will need a complete synclog that covers the time
from device pairing until the symptom presents again.
State ⇒ Assigned
Priority ⇒ 2. Medium
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Queue ⇒ Synchronization
Summary ⇒ ActiveSync error after latest changes in git
Type ⇒ Bug
"PHP message: PHP Fatal error: Cannot use object of type
Horde_ActiveSync_Folder_Collection as array in
/home/www/horde/libs/Horde/ActiveSync/State/Base.php on line 346"
request: "POST
/Microsoft-Server-ActiveSync?Cmd=FolderSync&User=********&DeviceId=androidcXXXXXXXXXX&DeviceType=Android
HTTP/1.1"
Any fix is much apreciated.