Intermesh / groupoffice

Group Office groupware and CRM
https://www.group-office.com
Other
185 stars 46 forks source link

ActiveSync not working in Group Office 6.8.59 and newer #1167

Closed patois87 closed 3 weeks ago

patois87 commented 1 month ago

After the z-push update in versions newer than 6.8.58, synchronization via ActiveSync no longer works. When I downgrade to version 6.8.58 it works as expected again.

olegchensky commented 1 month ago

the same

rjce486 commented 1 month ago

the same here

modules/community/activesync/Z-Push/src/backend/ipcsharedmemory/ipcsharedmemoryprovider.php at line 45: Object of class SysvSemaphore could not be converted to string

gmcpaul commented 1 month ago

same error :/, using go 6.8.61

gmcpaul commented 1 month ago

when trying to resync/reinit on android / nine folders web @ activesync i get following output in the zpush-error.log 22/07/2024 10:08:13 [34230] [WARN] [#unknown] /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/lib/default/filestatemachine.php:122 Erroneous data format for unserializing 'SyncParameters' (2) 22/07/2024 10:08:13 [34230] [WARN] [#unknown] /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/lib/default/filestatemachine.php:122 unserialize(): Error at offset 25 of 874 bytes (8)

also tried to delete the devices via webmail as admin, which results in Error in /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/backend/ipcsharedmemory/ipcsharedmemoryprovider.php at line 45: Object of class SysvSemaphore could not be converted to string

output of debug.log [2024-07-22 10:29:54][ActiveSync][log][go\core\auth\Authenticate:163] Auth xx is not local [2024-07-22 10:29:54][ActiveSync][log][go\core\auth\Authenticate:169] Authenticating xx [2024-07-22 10:29:54][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Compare active z-push version with: 2.3 [2024-07-22 10:29:54][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Found z-push version :2.7.1 [2024-07-22 10:29:54][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Short z-push version :2.7 [2024-07-22 10:29:54][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Comparison WRONG: 2.3 - 2.7 [2024-07-22 10:29:54][ActiveSync][log][go\core\auth\Authenticate:163] Auth xx is not local [2024-07-22 10:29:54][ActiveSync][log][go\core\auth\Authenticate:169] Authenticating xx [2024-07-22 10:29:54][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Compare active z-push version with: 2.3 [2024-07-22 10:29:54][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Found z-push version :2.7.1 [2024-07-22 10:29:54][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Short z-push version :2.7 [2024-07-22 10:29:54][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Comparison WRONG: 2.3 - 2.7 [2024-07-22 10:29:54][ActiveSync][log][go\core\ErrorHandler:115] ErrorHandler::exceptionHandler() called with Error [2024-07-22 10:29:54][ActiveSync][error][go\core\ErrorHandler:70] Error in /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/backend/ipcsharedmemory/ipcsharedmemoryprovider.php at line 45: Object of class SysvSemaphore could not be converted to string [2024-07-22 10:29:54][ActiveSync][error][go\core\ErrorHandler:79] #0 /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/backend/ipcsharedmemory/ipcsharedmemoryprovider.php(45): sprintf() [2024-07-22 10:29:54][ActiveSync][error][go\core\ErrorHandler:79] #1 /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/lib/core/interprocessdata.php(93): IpcSharedMemoryProvider->construct() [2024-07-22 10:29:54][ActiveSync][error][go\core\ErrorHandler:79] #2 /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/lib/core/topcollector.php(49): InterProcessData->construct() [2024-07-22 10:29:54][ActiveSync][error][go\core\ErrorHandler:79] #3 /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/lib/core/zpush.php(534): TopCollector->construct() [2024-07-22 10:29:54][ActiveSync][error][go\core\ErrorHandler:79] #4 /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/lib/core/devicemanager.php(87): ZPush::GetTopCollector() [2024-07-22 10:29:54][ActiveSync][error][go\core\ErrorHandler:79] #5 /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/lib/core/zpush.php(506): DeviceManager->construct() [2024-07-22 10:29:54][ActiveSync][error][go\core\ErrorHandler:79] #6 /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/index.php(100): ZPush::GetDeviceManager() [2024-07-22 10:29:54][ActiveSync][error][go\core\ErrorHandler:79] #7 /usr/share/groupoffice/modules/z-push/index.php(4): require('...') [2024-07-22 10:29:54][ActiveSync][error][go\core\ErrorHandler:79] #8 {main} [2024-07-22 10:29:58][index.php?r=core/auth/checkclient][log][GO\Base\Controller\AbstractController:483] Is the user switched: false [2024-07-22 10:29:58][index.php?r=email/account/checkUnseen][log][GO\Email\Controller\AccountController:172] Session writing closed [2024-07-22 10:29:58][index.php?r=email/account/checkUnseen][log][GO\Base\Controller\AbstractController:486] Total unseen: 0 [2024-07-22 10:30:01][cron.php][log][GO\Base\Observable:105] GO\Base\Observable::cacheListeners [2024-07-22 10:30:01][cron.php][log][GO\Base\ModuleCollection:146] setIgnoreAclPermissions(true) [2024-07-22 10:30:01][cron.php][log][GO\Sieve\SieveModule:26] addListener(submit,GO\Sieve\SieveModule, saveOutOfOfficeMessage) => GO\Email\Controller\AccountController [2024-07-22 10:30:01][cron.php][log][GO\Sieve\SieveModule:27] addListener(load,GO\Sieve\SieveModule, loadOutOfOfficeMessage) => GO\Email\Controller\AccountController [2024-07-22 10:30:01][cron.php][log][GO\Email\EmailModule:38] addListener(reminderdisplay,GO\Email\EmailModule, reminderDisplay) => GO\Core\Controller\ReminderController [2024-07-22 10:30:01][cron.php][log][GO\Email\EmailModule:43] addListener(delete,GO\Email\EmailModule, deleteUser) => GO\Base\Model\User [2024-07-22 10:30:01][cron.php][log][GO\Calendar\CalendarModule:94] addListener(delete,GO\Calendar\CalendarModule, deleteUser) => GO\Base\Model\User [2024-07-22 10:30:01][cron.php][log][GO\Calendar\CalendarModule:95] addListener(dismiss,GO\Calendar\Model\Event, reminderDismissed) => GO\Base\Model\Reminder [2024-07-22 10:30:01][cron.php][log][GO\Base\ModuleCollection:156] setIgnoreAclPermissions(false) [2024-07-22 10:30:01][cron.php][log][GO\Base\Session:418] Session writing closed

gmcpaul commented 1 month ago

@patois87 did you downgrade via source or deb packages?

patois87 commented 1 month ago

@gmcpaul Via deb package. In case you don't have it anymore, here is a copy:

Link removed

gmcpaul commented 1 month ago

@patois87 thanks, i tried but i got no luck via downgrading to the mentioned version. activesync still not working on my side :/

dehart commented 1 month ago

It looks like this is an incompatibility issue with PHP8.0 and up. The shared memory function for IPC sem_get and shm_attach will no longer return a resource but a SysvSemaphore

Work has been done to make Z-Push PHP 8 compatible: https://github.com/Intermesh/Z-Push/tree/php82-fixes

I'll check the build script to see why this version isn't shipped with GroupOffice.

To fix this issue on PHP 8 you can replace the www/go/modules/community/activesync/Z-Push folder with the directory in the php82-fixes branch.

olegchensky commented 1 month ago

The last docker-release has the same issue. Please check it too.

gmcpaul commented 1 month ago

so will a new build be released in time or shall we fix ourself for now ?

dehart commented 1 month ago

Can't build a release right now. Sorry. Quickest is to replace the content Z-Push directory with the ZIP from the development brach (all php82-fixes are merged)

https://github.com/Intermesh/Z-Push/archive/refs/heads/develop.zip

gmcpaul commented 1 month ago

hi, so i changed out the files within /usr/share/groupoffice/go/modules/community/activesync/Z-Push

with the provided zip... unfortinatelly i do not see any changes

2024-07-28 15:04:57][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Compare active z-push version with: 2.3 [2024-07-28 15:04:57][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Found z-push version :2.7.1 [2024-07-28 15:04:57][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Short z-push version :2.7 [2024-07-28 15:04:57][ActiveSync][log][GO\Zpushadmin\Model\Device:65] Comparison WRONG: 2.3 - 2.7 [2024-07-28 15:04:57][ActiveSync][log][go\core\ErrorHandler:115] ErrorHandler::exceptionHandler() called with Error [2024-07-28 15:04:57][ActiveSync][error][go\core\ErrorHandler:70] Error in /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/backend/ipcsharedmemory/ipcsharedmemoryprovider.php at line 45: Object of class SysvSemaphore could not be converted to string [2024-07-28 15:04:57][ActiveSync][error][go\core\ErrorHandler:79] #0 /usr/share/groupoffice/go/modules/community/activesync/Z-Push/src/backend/ipcsharedmemory/ipcsharedmemoryprovider.php(45): sprintf() [2024-07-28 15:04:57][ActiveSync][error][go\core\ErrorHandler:79] #1

gmcpaul commented 1 month ago

not shure if it helps hunting... that was my update where problems began OS is Ubuntu 22.04 lts

Install: libarchive13:amd64 (3.6.0-1ubuntu1.1, automatic) Upgrade: rspamd:amd64 (3.8.4-1~93fa4f6dc~jammy, 3.9.0-1~fb1b597d7~jammy), tzdata:amd64 (2024a-0ubuntu0.22.04, 2024a-0ubuntu0.22.04.1), libldap-common:amd64 (2.5.17+dfsg-0ubuntu0.22.04.1, 2.5.18+dfsg-0ubuntu0.22.04.1), libldap-2.5-0:amd64(2.5.17+dfsg-0ubuntu0.22.04.1, 2.5.18+dfsg-0ubuntu0.22.04.1), apache2-data:amd64 (2.4.52-1ubuntu4.11, 2.4.52-1ubuntu4.12), apache2-bin:amd64 (2.4.52-1ubuntu4.11, 2.4.52-1ubuntu4.12), ubuntu-pro-client-l10n:amd64 (32.3~22.04, 32.3.1~22.04), nodejs:amd64 (20.15.0-1nodesource1, 20.15.1-1nodesource1), apache2-utils:amd64 (2.4.52-1ubuntu4.11, 2.4.52-1ubuntu4.12), ubuntu-standard:amd64 (1.481.1, 1.481.2), groupoffice:amd64 (6.8.56-sixeight, 6.8.61-sixeight), apache2:amd64 (2.4.52-1ubuntu4.11, 2.4.52-1ubuntu4.12), ubuntu-advantage-tools:amd64 (32.3~22.04, 32.3.1~22.04), influxdb2:amd64 (2.7.6-1, 2.7.7-1), ubuntu-minimal:amd64 (1.481.1, 1.481.2), ubuntu-pro-client:amd64 (32.3~22.04, 32.3.1~22.04)

so i tried to replace the Z-Push directory (/usr/share/groupoffice/go/modules/community/activesync/Z-Push/) with the https://github.com/Intermesh/groupoffice/releases/download/v6.8.56/groupoffice-6.8.56.tar.gz version.. but i get the same result...

gmcpaul commented 1 month ago

php -v PHP 8.1.2-1ubuntu2.18 (cli) (built: Jun 14 2024 15:52:55) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2-1ubuntu2.18, Copyright (c), by Zend Technologies

php -m [PHP Modules] apcu bcmath bz2 calendar Core ctype curl date dom exif FFI fileinfo filter ftp gd gettext gmp hash iconv igbinary imagick imap intl json ldap libxml mbstring memcached msgpack mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql Phar posix readline Reflection session shmop SimpleXML soap sockets sodium SPL standard sysvmsg sysvsem sysvshm tokenizer xml xmlreader xmlwriter xsl Zend OPcache zip zlib

[Zend Modules] Zend OPcache

gmcpaul commented 1 month ago

tried the downgrade again.. to 6.8.58 .. deleted the zpush filder first..

now it somehow worked it seems only maybe to mention i get these two lines when upgrading..

[2024-07-28 20:57:57][upgrade.php][warn][go\core\orm\EntityType:273] Entity class "GO\Base\Model\Method" in database but it is not found on disk! [2024-07-28 20:57:57][upgrade.php][warn][go\core\orm\EntityType:273] Entity class "GO\Base\Model\Blob" in database but it is not found on disk!

mschering commented 1 month ago

Sorry about the mess I'm releasing 6.8.62 now to fix the issue.

gmcpaul commented 1 month ago

@mschering thank you, in my case the update worked :D

only these entries concern me a little bit [2024-07-28 20:57:57][upgrade.php][warn][go\core\orm\EntityType:273] Entity class "GO\Base\Model\Method" in database but it is not found on disk! [2024-07-28 20:57:57][upgrade.php][warn][go\core\orm\EntityType:273] Entity class "GO\Base\Model\Blob" in database but it is not found on disk!

is that something to look after?

mschering commented 1 month ago

No you can ignore those. That's only debug info for us.