Articles in this section

Active sync stopped working after Plesk update: DB Error: [1054] Unknown column 'is_broken' in 'SET'

Plesk for Linux kolab

Applicable to:

  • Plesk for Linux

Symptoms

  • ActiveSync functionality of Plesk Premium Email stopped working after a Plesk update.
  • The following error appears in /var/log/kolab-synctron/errors.log:

    DB Error: [1054] Unknown column 'is_broken' in 'SET' (SQL Query: UPDATE syncroton_device SET id = '9aedb9425da38f4233b732623dce5152086c5e7c', deviceid = '26XXXXXXXXXXXXS4', devicetype = 'iPhone', owner_id = '87', acsversion = '14.1', policykey = NULL, policy_id = NULL, useragent = 'Apple-iPhone15C3/2206.76', imei = NULL, model = 'iPhone15C3', friendlyname = 'iPhone 14 Pro Max', os = 'iOS 18.5', oslanguage = 'us-EN', phonenumber = NULL, pinglifetime = '600', remotewipe = '0', pingfolder = 'a:1:{i:0;s:40:"bb21f15e7fa1a4da5f04760e858774bbb7fe34a8";}', lastsynccollection = '{"lastXML....}}}', lastping = '2025-08-05 22:02:23', contactsfilter_id = NULL, calendarfilter_id = NULL, tasksfilter_id = NULL, emailfilter_id = NULL, is_broken = NULL, extra_data = '{"pingRetryCounter":0}' WHERE id = '9aedb9425da38f4233b732623dce5152086c5e7c') in /usr/share/roundcubemail/program/lib/Roundcube/rcube_db.php on line 577 (POST /Microsoft-Server-ActiveSync?User=jdoe@example.com&DeviceId=26XXXXXXXXXXXXS4&DeviceType=iPhone&Cmd=Ping)

    [ERR] {"user":"jdoe@example.com","cmd":"Ping","device":"26XXXXXXXXXXXXS4","type":"iPhone"} Syncroton_Server::_handlePost::211 unexpected exception occurred: Exception
    [ERR] {"user":"jdoe@example.com","cmd":"Ping","device":"26XXXXXXXXXXXXS4","type":"iPhone"} Syncroton_Server::_handlePost::214 exception message: Failed to update instance of Syncroton_Model_IDevice: [1054] Unknown column 'is_broken' in 'SET'
    [ERR] {"user":"jdoe@example.com","cmd":"Ping","device":"26XXXXXXXXXXXXS4","type":"iPhone"} Syncroton_Server::_handlePost::217 #0 /usr/share/kolab-syncroton/lib/ext/Syncroton/Command/Ping.php(145): kolab_sync_backend_common->update(Object(Syncroton_Model_Device))
    #1 /usr/share/kolab-syncroton/lib/ext/Syncroton/Server.php(178): Syncroton_Command_Ping->handle()
    #2 /usr/share/kolab-syncroton/lib/ext/Syncroton/Server.php(85): Syncroton_Server->_handlePost()
    #3 /usr/share/kolab-syncroton/lib/kolab_sync.php(187): Syncroton_Server->handle()
    #4 /usr/share/kolab-syncroton/index.php(31): kolab_sync->run()
    #5 {main}

Error like the following could also show up based on customer's symptoms:

TLS handshake failed with a tls_alert: {unexpected_message,"TLS server: In state handshake failed with a tls_alert: {unexpected_message,"TLS server: In state hello at tls_record.erl:539 generated SERVER ALERT: Fatal - Unexpected Message\lo at tls_record.erl:539 generated SERVER ALERT: Fatal - Unexpected Message\n {unsupported_record_type,77}"}

Cause

The roundcubemail database schema is outdated.

Resolution

  1. Connect to the server via SSH
  2. Backup roundcubemail database with command:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin roundcubemail > /root/roundcubemail_bk.sql

  3. Update roundcubemail database schema with the command:

    # /usr/share/roundcubemail/bin/updatedb.sh --dir /usr/share/doc/kolab-syncroton/SQL/ --package syncroton

If the above command fails with the following error:

# /usr/share/roundcubemail/bin/updatedb.sh --dir /usr/share/doc/kolab-syncroton/SQL/ --package syncroton
Updating database schema (2025070300)... [FAILED]
ERROR: Error in DDL upgrade 2025070300: [1118] Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

Check the ROW_FORMAT of syncroton_device, which is probably set to Compact

# mysql -uadmin -p$(cat /etc/psa/.psa.shadow) roundcubemail -e "SHOW TABLE STATUS LIKE 'syncroton_device'\G"
*************************** 1. row ***************************
Name: syncroton_device
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 50
Avg_row_length: 5570
Data_length: 278528
Max_data_length: 0
Index_length: 16384
Data_free: 0
Auto_increment: NULL
Create_time: 2021-02-17 12:18:00
Update_time: NULL
Check_time: NULL
Collation: utf8mb3_general_ci
Checksum: NULL
Create_options:
Comment:
Max_index_length: 0
Temporary: N

If so, change it to Dynamic and re-run step 3

# mysql -uadmin -p$(cat /etc/psa/.psa.shadow) roundcubemail -e "ALTER TABLE syncroton_device ROW_FORMAT=DYNAMIC;"

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.