(French log) Upgrading Nextcloud Talk in 18.0.3

Hi all!

I tried to upgrade Nextcloud Talk some minutes ago, and cope with following error. Does anyone know how to fix it, and/or delete Nextcloud Talk in order to leave maintenance mode (by the way, I don’t remember how to do that…) ?

Thanks in advance!
Xavier

Mise à jour vers 18.0.3

Doctrine\DBAL\Exception\DriverException: An exception occurred while executing ‘CREATE UNIQUE INDEX tp_ident ON oc_talk_participants (room_id, user_id, session_id)’: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

Journaux détaillés

Préparation de la mise à jour

Réglage du niveau de journalisation à “déboguage”

Mode de maintenance activé

Étape de réparation : Repair MySQL collation

Informations de réparation : All tables already have the correct collation -> nothing to do

Étape de réparation : Repair SQLite autoincrement

Étape de réparation : Copy data from accounts table when migrating from ownCloud

Étape de réparation : Drop account terms table when migrating from ownCloud

Mise à jour du schéma de la base de données

Base de données mise à jour

Étape de réparation : Fix the namespace in database tables

Doctrine\DBAL\Exception\DriverException: An exception occurred while executing ‘CREATE UNIQUE INDEX tp_ident ON oc_talk_participants (room_id, user_id, session_id)’: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

La mise à jour a échoué. Veuillez reporter le problème à la communauté Nextcloud.

that looks like a general upgrade to a new version of nextcloud…

so we would need more infos for your server… environment, setup, config…

and we’ll see how good that would go

Thank you for the answer!

It’s a (personal) LAMP server, with Ubuntu 18.04, Apache2 and MariaDB. I’ve activated a “VHost” for Nextcloud and have SSL-certificates installed with Let’s Encrypt.

I updated Nextcloud some days ago, and all worked normaly. I wanted to check this afternoon if there were new updates, and there were 2. I can not remember the first one, but it wasn’t an app. The second one was Nextcloud Talk. And I coped with this error.
As far as I masterize Nextcloud, it was an upgrade for Talk, and not a new version.

Does that help? Is there anything else I can precise?
Xavier

ummm which php version do you run?

It seems like I’m not the first one to cope with the problem:
https://github.com/nextcloud/spreed/issues/3246
https://github.com/nextcloud/spreed/issues/3232
This latter post gives a solution… Except that I do not succeed in copying my database.

$ sudo mysql -u root -p
Enter password:
MariaDB [(none)]> CREATE TABLE oc_talk_participants_temp LIKE oc_talk_participants;
ERROR 1046 (3D000): No database selected

I guess I should log in as the “nextcloud user” on the “nextcloud database”: but I really do not know how to do that, even if I remember the names such as the password I entered.

@JimmyKater : do you know how to do that?
By the way, for my PHP version:
$ php -v
PHP 7.2.24-0ubuntu0.18.04.3 (cli) (built: Feb 11 2020 15:55:52) ( NTS )
Copyright © 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright © 1998-2018 Zend Technologies
with Zend OPcache v7.2.24-0ubuntu0.18.04.3, Copyright © 1999-2018, by Zend Technologies

very well done that you found out there’s an existing github issue about your problem, already.
afaik as i can see it’s solved now… so you better wait for the app-update which should be filed soon.

btw: as i didn’t check GH for existing errors i thought it might have to do with your php version… but then nc18 runs with php 7.2. . that wasn’t the case.

Thanks a lot @JimmyKater !
Yes, it is solved now. If someone else finds this post due to a similar error: I just had to update my database to ‘Barracuda’ instead of ‘Antelope’ before I make the upgrade again (through the browser interface). Steps are described here (for MySQL above; for MariaDB below).
(I don’t know whether subjects have to be closed… neither if it is possible?)

1 Like

hi,
Your recommendations and decisions did not help me. I want to install application Talk and get an error:

An exception occurred while executing ‘CREATE UNIQUE INDEX tp_ident ON oc_talk_participants (room_id, user_id, session_id)’: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

I have:

Nextcloud version 18.0.3
mysqld Ver 10.1.44-MariaDB-0ubuntu0.18.04.1 for debian-linux-gnu on x86_64 (Ubuntu 18.04)
PHP 7.2.24-0ubuntu0.18.04.3 (cli)
Format all table = Barracuda

@Nikolay_Che

Thanks! But I already performed these actions and still get an error. Any other options?

An exception occurred while executing ‘CREATE UNIQUE INDEX tp_ident ON oc_talk_participants (room_id, user_id, session_id)’: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

@Nikolay_Che
You have MariaDB 10.1.44 if I correctly read your comment. Can you please confirm that :

  • You added 3 lines in the “innodb_” part of [mysqld] (the conf file is for my part /etc/mysql/mariadb.conf.d/50-server.cnf), according to this link ?
  • You restarted mysql ?
  • You checked each “nextcloud” tables in order to know whether it was Barracuda before trying to update ?
  • You checked the same tables after having tried to update, and it was still Barracuda ?
1 Like

In file

/etc/mysql/mariadb.conf.d/50-server.cnf

I don’t have entries that start on “innodb_”

But I followed all the instructions according to the manual

and entered the parameters

[mysqld]
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=1

I rebooted mysql according to the instructions, in the OCC service mode and in the usual one, also executed “sudo -u www-data php occ maintenance:repair”

Server version: 10.1.44-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04
MariaDB [(none)]> SELECT NAME, SPACE, FILE_FORMAT FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME like “nextcloud%”;
±--------------------------------------±------±------------+
| NAME | SPACE | FILE_FORMAT |
±--------------------------------------±------±------------+
| nextcloud/oc_accounts | 458 | Barracuda |
| nextcloud/oc_activity | 459 | Barracuda |
| nextcloud/oc_activity_mq | 460 | Barracuda |
| nextcloud/oc_addressbookchanges | 461 | Barracuda |
| nextcloud/oc_addressbooks | 387 | Barracuda |
| nextcloud/oc_appconfig | 462 | Barracuda |
| nextcloud/oc_authtoken | 390 | Barracuda |
| nextcloud/oc_bruteforce_attempts | 463 | Barracuda |
| nextcloud/oc_calendar_invitations | 464 | Barracuda |
| nextcloud/oc_calendar_reminders | 465 | Barracuda |
| nextcloud/oc_calendar_resources | 466 | Barracuda |
| nextcloud/oc_calendar_resources_md | 467 | Barracuda |
| nextcloud/oc_calendar_rooms | 468 | Barracuda |
| nextcloud/oc_calendar_rooms_md | 469 | Barracuda |
| nextcloud/oc_calendarchanges | 470 | Barracuda |
| nextcloud/oc_calendarobjects | 393 | Barracuda |
| nextcloud/oc_calendarobjects_props | 471 | Barracuda |
| nextcloud/oc_calendars | 396 | Barracuda |
| nextcloud/oc_calendarsubscriptions | 399 | Barracuda |
| nextcloud/oc_cards | 472 | Barracuda |
| nextcloud/oc_cards_properties | 473 | Barracuda |
| nextcloud/oc_collres_accesscache | 474 | Barracuda |
| nextcloud/oc_collres_collections | 475 | Barracuda |
| nextcloud/oc_collres_resources | 476 | Barracuda |
| nextcloud/oc_comments | 477 | Barracuda |
| nextcloud/oc_comments_read_markers | 478 | Barracuda |
| nextcloud/oc_credentials | 479 | Barracuda |
| nextcloud/oc_dav_cal_proxy | 480 | Barracuda |
| nextcloud/oc_dav_shares | 402 | Barracuda |
| nextcloud/oc_direct_edit | 481 | Barracuda |
| nextcloud/oc_directlink | 482 | Barracuda |
| nextcloud/oc_external_applicable | 483 | Barracuda |
| nextcloud/oc_external_config | 484 | Barracuda |
| nextcloud/oc_external_mounts | 485 | Barracuda |
| nextcloud/oc_external_options | 486 | Barracuda |
| nextcloud/oc_federated_reshares | 487 | Barracuda |
| nextcloud/oc_file_locks | 488 | Barracuda |
| nextcloud/oc_filecache | 489 | Barracuda |
| nextcloud/oc_filecache_extended | 490 | Barracuda |
| nextcloud/oc_files_trash | 491 | Barracuda |
| nextcloud/oc_flow_checks | 492 | Barracuda |
| nextcloud/oc_flow_operations | 493 | Barracuda |
| nextcloud/oc_flow_operations_scope | 494 | Barracuda |
| nextcloud/oc_group_admin | 495 | Barracuda |
| nextcloud/oc_group_user | 496 | Barracuda |
| nextcloud/oc_groups | 497 | Barracuda |
| nextcloud/oc_jobs | 498 | Barracuda |
| nextcloud/oc_login_flow_v2 | 405 | Barracuda |
| nextcloud/oc_migrations | 408 | Barracuda |
| nextcloud/oc_mimetypes | 411 | Barracuda |
| nextcloud/oc_mounts | 499 | Barracuda |
| nextcloud/oc_notifications | 500 | Barracuda |
| nextcloud/oc_notifications_pushtokens | 501 | Barracuda |
| nextcloud/oc_oauth2_access_tokens | 502 | Barracuda |
| nextcloud/oc_oauth2_clients | 503 | Barracuda |
| nextcloud/oc_preferences | 504 | Barracuda |
| nextcloud/oc_privacy_admins | 505 | Barracuda |
| nextcloud/oc_properties | 506 | Barracuda |
| nextcloud/oc_schedulingobjects | 507 | Barracuda |
| nextcloud/oc_share | 508 | Barracuda |
| nextcloud/oc_share_external | 509 | Barracuda |
| nextcloud/oc_storages | 510 | Barracuda |
| nextcloud/oc_systemtag | 511 | Barracuda |
| nextcloud/oc_systemtag_group | 414 | Barracuda |
| nextcloud/oc_systemtag_object_mapping | 512 | Barracuda |
| nextcloud/oc_talk_commands | 513 | Barracuda |
| nextcloud/oc_talk_guests | 454 | Barracuda |
| nextcloud/oc_talk_participants | 455 | Barracuda |
| nextcloud/oc_talk_rooms | 456 | Barracuda |
| nextcloud/oc_talk_signaling | 457 | Barracuda |
| nextcloud/oc_text_documents | 514 | Barracuda |
| nextcloud/oc_text_sessions | 515 | Barracuda |
| nextcloud/oc_text_steps | 516 | Barracuda |
| nextcloud/oc_trusted_servers | 417 | Barracuda |
| nextcloud/oc_twofactor_backupcodes | 517 | Barracuda |
| nextcloud/oc_twofactor_providers | 518 | Barracuda |
| nextcloud/oc_user_transfer_owner | 519 | Barracuda |
| nextcloud/oc_users | 520 | Barracuda |
| nextcloud/oc_users_external | 521 | Barracuda |
| nextcloud/oc_vcategory | 522 | Barracuda |
| nextcloud/oc_vcategory_to_object | 523 | Barracuda |
| nextcloud/oc_whats_new | 524 | Barracuda |
±--------------------------------------±------±------------+
82 rows in set (0.00 sec)

In my case, I had already a section [mysqld]. I think that it does not really matter, but I found in this section some entries which begin with innodb_. I added the three lines at this place. Might it help ?
Moreover, let’s have a look to this post. It may be useful…

It didn’t help either. Apparently, there are other reasons for this error, or I should wait for the next update of the application, because I’m not the only one with such a problem, given the many posts on different sites.

1 Like