You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have multiple instances that I migrated from 28→29→30→31.0.0rc4 and not to 31.0.0rc5. Only with rc5 one of them made my update script bail out. On console I saw the string "fediverse" with red background. In the log I see what seems to be a migration error (see below). I could neither modify nor delete the user's phone number using the web interface. The web interface deems an empty value "invalid". So I deleted in directly in the database. After that, upgrade no longer yielded an error and my script no longer bails out.
I then tried to re-enter any phone number (in valid formats) in the user's profile – to no avail. I see a similar behavior in other instances: In some I can, in others I cannot modify, delete or enter a phone number, or other personal details such as website or fediverse/mastodon name.
Steps to reproduce
Difficult, because I was not able to reproduce on all instances, but this should work:
Install NC20, enter personal details such as phone number and mastodon name in /settings/user
Upgrade through all all major versions to NC31rc4 and verify upgrade has exist status 0
Upgrade to NC31rc5 and see error while upgrading, exiting with non-zero status
Try to modify or delete the above personal data
Expected behavior
A user should at least be able to delete any data from his/her user profile, and enter valid data that is to be saved.
upgrade should not fail for data which was entered in and valid for prior NC versions.
Nextcloud Server version
31
Operating system
Other
PHP engine version
PHP 8.4
Web server
Nginx
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Updated from a MINOR version (ex. 32.0.1 to 32.0.2)
Are you using the Nextcloud Server Encryption module?
No new entry in nextcloud.log when trying to enter this phone number (which is rejected as invalid although it isn't): +49 176 NNNNNNN (where N are digits).
Since this "Field can not be longer than 65536 characters", I provice today's whole content of data/nextcloud.log via my cloud instance:
It shows the attempt to update to rc5 at 08:59, and further preceedings after having modified the database. Here's an excerpt from the the log, the failed upgrade/migration attempt:
{
"reqId": "LONG_REQUEST_ID",
"level": 3,
"time": "2025-02-21T12:12:17+01:00",
"remoteAddr": "",
"user": false,
"app": "no app in context",
"method": "",
"url": "--",
"message": "Exception while executing repair step Validate the phone number and store it in a known format for search",
"userAgent": "--",
"version": "31.0.0.16",
"exception": {
"Exception": "InvalidArgumentException",
"Message": "fediverse",
"Code": 0,
"Trace": [
{
"file": "/CLOUD_BASEDIR/lib/private/Accounts/AccountManager.php",
"line": 795,
"function": "sanitizePropertyFediverse",
"class": "OC\\Accounts\\AccountManager",
"type": "->"
},
{
"file": "/CLOUD_BASEDIR/lib/private/Repair/NC21/ValidatePhoneNumber.php",
"line": 52,
"function": "updateAccount",
"class": "OC\\Accounts\\AccountManager",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/CLOUD_BASEDIR/lib/private/User/Manager.php",
"line": 670,
"function": "{closure:OC\\Repair\\NC21\\ValidatePhoneNumber::run():47}",
"class": "OC\\Repair\\NC21\\ValidatePhoneNumber",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/CLOUD_BASEDIR/lib/private/Repair/NC21/ValidatePhoneNumber.php",
"line": 47,
"function": "callForSeenUsers",
"class": "OC\\User\\Manager",
"type": "->"
},
{
"file": "/CLOUD_BASEDIR/lib/private/Repair.php",
"line": 104,
"function": "run",
"class": "OC\\Repair\\NC21\\ValidatePhoneNumber",
"type": "->"
},
{
"file": "/CLOUD_BASEDIR/core/Command/Maintenance/Repair.php",
"line": 99,
"function": "run",
"class": "OC\\Repair",
"type": "->"
},
{
"file": "/CLOUD_BASEDIR/3rdparty/symfony/console/Command/Command.php",
"line": 326,
"function": "execute",
"class": "OC\\Core\\Command\\Maintenance\\Repair",
"type": "->"
},
{
"file": "/CLOUD_BASEDIR/3rdparty/symfony/console/Application.php",
"line": 1078,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/CLOUD_BASEDIR/3rdparty/symfony/console/Application.php",
"line": 324,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/CLOUD_BASEDIR/3rdparty/symfony/console/Application.php",
"line": 175,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/CLOUD_BASEDIR/lib/private/Console/Application.php",
"line": 187,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/CLOUD_BASEDIR/console.php",
"line": 87,
"function": "run",
"class": "OC\\Console\\Application",
"type": "->"
},
{
"file": "/CLOUD_BASEDIR/occ",
"line": 11,
"args": [
"/CLOUD_BASEDIR/console.php"
],
"function": "require_once"
}
],
"File": "/CLOUD_BASEDIR/lib/private/Accounts/AccountManager.php",
"Line": 725,
"message": "Exception while executing repair step Validate the phone number and store it in a known format for search",
"exception": {},
"CustomMessage": "Exception while executing repair step Validate the phone number and store it in a known format for search"
}
}
Additional info
JS console yielded an error when trying to enter this phone number (which is rejected as invalid although it isn't): +49 176 NNNNNNN (where N are digits).:
[ERROR] settings: telefonnummer konnte nicht aktualisiert werden.
Object { app: "settings", uid: "USERNAME", level: 2, error: {…} }
index.mjs:54:16
log index.mjs:54
error index.mjs:72
et handlers.ts:25
handleResponse AccountPropertySection.vue:184
updateProperty AccountPropertySection.vue:167
The text was updated successfully, but these errors were encountered:
Bug description
I have multiple instances that I migrated from 28→29→30→31.0.0rc4 and not to 31.0.0rc5. Only with rc5 one of them made my update script bail out. On console I saw the string "fediverse" with red background. In the log I see what seems to be a migration error (see below). I could neither modify nor delete the user's phone number using the web interface. The web interface deems an empty value "invalid". So I deleted in directly in the database. After that,
upgrade
no longer yielded an error and my script no longer bails out.I then tried to re-enter any phone number (in valid formats) in the user's profile – to no avail. I see a similar behavior in other instances: In some I can, in others I cannot modify, delete or enter a phone number, or other personal details such as website or fediverse/mastodon name.
Steps to reproduce
Difficult, because I was not able to reproduce on all instances, but this should work:
upgrade
has exist status0
Expected behavior
A user should at least be able to delete any data from his/her user profile, and enter valid data that is to be saved.
upgrade
should not fail for data which was entered in and valid for prior NC versions.Nextcloud Server version
31
Operating system
Other
PHP engine version
PHP 8.4
Web server
Nginx
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Updated from a MINOR version (ex. 32.0.1 to 32.0.2)
Are you using the Nextcloud Server Encryption module?
None
What user-backends are you using?
Configuration report
List of activated Apps
Nextcloud Signing status
Nextcloud Logs
No new entry in nextcloud.log when trying to enter this phone number (which is rejected as invalid although it isn't): +49 176 NNNNNNN (where N are digits).
Since this "Field can not be longer than 65536 characters", I provice today's whole content of data/nextcloud.log via my cloud instance:
https://cloud.seyfarth.de/s/LxXYDt9nkwEomW3/download/update_to_31rc5.log
It shows the attempt to update to rc5 at 08:59, and further preceedings after having modified the database. Here's an excerpt from the the log, the failed upgrade/migration attempt:
Additional info
JS console yielded an error when trying to enter this phone number (which is rejected as invalid although it isn't): +49 176 NNNNNNN (where N are digits).:
[ERROR] settings: telefonnummer konnte nicht aktualisiert werden.
Object { app: "settings", uid: "USERNAME", level: 2, error: {…} }
index.mjs:54:16
log index.mjs:54
error index.mjs:72
et handlers.ts:25
handleResponse AccountPropertySection.vue:184
updateProperty AccountPropertySection.vue:167
The text was updated successfully, but these errors were encountered: