z-push – ProcessLoopDetection – command Sync terminated – Apache segfault

Z-Push hat den Dienst quittiert mit:

30/03/2015 18:50:26 [12498] [INFO] [user] Version=’2.1.3-1892′ method=’POST‘ from=’1.2.3.4′ cmd=’FolderSync‘ getUser=’user‘ devId=’asdfasdfb13m38abfjkj2ejru4′ devType=’iPhone‘
30/03/2015 18:50:26 [12498] [ERROR] [user] LoopDetection->ProcessLoopDetectionPreviousConnectionFailed(): Command ‚Sync‘ at 30/03/2015 18:20:17 with pid ‚25642‘ terminated unexpectedly or is still running.
30/03/2015 18:50:26 [12498] [ERROR] [user] Please check your logs for this PID and errors like PHP-Fatals or Apache segmentation faults and report your results to the Z-Push dev team.
30/03/2015 18:50:29 [12498] [INFO] [user] Version=’2.1.3-1892′ method=’POST‘ from=’1.2.3.4′ cmd=’Sync‘ getUser=’user‘ devId=’asdfasdfb13m38abfjkj2ejru4′ devType=’iPhone‘
30/03/2015 18:50:29 [12498] [ERROR] [user] LoopDetection->ProcessLoopDetectionPreviousConnectionFailed(): Command ‚Sync‘ at 30/03/2015 18:21:27 with pid ‚25638‘ terminated unexpectedly or is still running.
30/03/2015 18:50:29 [12498] [ERROR] [user] Please check your logs for this PID and errors like PHP-Fatals or Apache segmentation faults and report your results to the Z-Push dev team.

Darauf folgte dann auch in den Apache-Logs ein Segfault:

[Tue Mar 31 11:04:45 2015] [notice] Apache/2.2.22 (Debian) PHP/5.4.4-14+deb7u14 mod_ssl/2.2.22 OpenSSL/1.0.1e configured — resuming normal operations
*** glibc detected *** /usr/sbin/apache2: free(): invalid next size (fast): 0x00007fedc51da4a0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x76a16)[0x7fedc2207a16]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c)[0x7fedc220c7bc]
/usr/lib/libmapi.so.0(MAPIFreeBuffer+0x6e)[0x7fedba83d9be]
/usr/lib/php5/20100525/mapi.so(_ZN16ECFreeBusyUpdate11SaveChangesE11_s_FILETIMES0_+0x2e9)[0x7fedbaaf55f9]
/usr/lib/php5/20100525/mapi.so(_Z35zif_mapi_freebusyupdate_savechangesiP12_zval_structPS0_S0_i+0xe8)[0x7fedbaad7978]
/usr/lib/apache2/modules/libphp5.so(+0x40ea02)[0x7fedbf25ba02]
/usr/lib/apache2/modules/libphp5.so(execute+0x207)[0x7fedbf215287]
/usr/lib/apache2/modules/libphp5.so(zend_execute_scripts+0x12e)[0x7fedbf1b496e]
/usr/lib/apache2/modules/libphp5.so(php_execute_script+0x1d3)[0x7fedbf153c33]
/usr/lib/apache2/modules/libphp5.so(+0x410e6a)[0x7fedbf25de6a]
/usr/sbin/apache2(ap_run_handler+0x40)[0x7fedc3034c90]
/usr/sbin/apache2(ap_invoke_handler+0x8b)[0x7fedc30350db]
/usr/sbin/apache2(ap_process_request+0x1a8)[0x7fedc3045208]
/usr/sbin/apache2(+0x540c8)[0x7fedc30420c8]
/usr/sbin/apache2(ap_run_process_connection+0x40)[0x7fedc303b650]
/usr/sbin/apache2(+0x5bdbe)[0x7fedc3049dbe]
/usr/sbin/apache2(+0x5c512)[0x7fedc304a512]
/usr/sbin/apache2(+0x5c5b6)[0x7fedc304a5b6]
/usr/sbin/apache2(ap_mpm_run+0x875)[0x7fedc304af15]
/usr/sbin/apache2(main+0xc26)[0x7fedc301f896]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7fedc21afead]
/usr/sbin/apache2(+0x31931)[0x7fedc301f931]

Irgendwas ist hier in der Anwendung faul – die bis dato sich als gut erweisende Lösung sieht so aus, dass man die Gerätezustande einmal löscht – es erfolgt ein resync:

Geräte des Benutzers ausfindig machen mit:

/z-push-admin.php -a list -u Benutzername

Gerätezustand löschen:

z-push-admin.php -a remove -d Geräte-ID

Neusynchronisation beobachten:
root@srv1:/usr/share/z-push# ./z-push-admin.php -a list -u Benutzername | grep Status
Status: OK
Folder: Emails Sync: Initialized Status: 0% (0/7)
Folder: Calendars Sync: Synchronizing Status: 56% (2575/4608)
Status: OK
root@srv1:/usr/share/z-push#