Bug #86398

Interface state can't be saved

Added by David Bruchmann about 1 year ago. Updated 21 days ago.

Status:
Resolved
Priority:
Must have
Assignee:
-
Category:
Backend User Interface
Start date:
2018-09-27
Due date:
% Done:

100%

TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

The current pagetree always is showing up toggled and I've to open again.
In sys_log I find the following error many times:

Core: Exception handler (WEB): Uncaught TYPO3 Exception: Cannot use object of type stdClass as array | Error thrown in file /typo3/sysext/backend/Classes/Configuration/BackendUserConfiguration.php in line 178. Requested URL: https://www.domain.com/typo3/index.php?route=%%2Fajax%%2Fusersettings%%2Fprocess&token=--AnonymizedToken--

composer.json (1.23 KB) David Bruchmann, 2018-09-27 12:09


Related issues

Related to TYPO3 Core - Bug #89269: $GLOBALS['BE_USER']->uc sometimes wrongly written, gets a stdClass where an array would be expected Resolved 2019-09-25
Related to TYPO3 Core - Bug #89367: Revert introduction of new upgrade wizard Resolved 2019-10-08
Related to TYPO3 Core - Bug #89638: BackendUserConfigurationUpdate Upgrade Wizard fails on empty UC fields New 2019-11-11

Associated revisions

Revision e8b5652d (diff)
Added by Christian Eßl about 1 month ago

[BUGFIX] Provide UpgradeWizard for outdated be_users uc settings

Backend users each have a serialized array of individual user
configuration, called "uc" persisted in the be_users table.
Before TYPO3 9.5, the structure of this configuration could sometimes
contain stdClass objects, which is no longer supported. Logging in as
a backend user with such an outdated "uc" array would then crash several
parts of the TYPO3 backend, because the BackendUserConfiguration class
will try to access an stdClass type configuration like an array.

An UpgradeWizard called "BackendUserConfigurationUpdate" is now
provided, which allows to update any outdated "uc" structure of all
backend users.

Resolves: #89269
Resolves: #89268
Resolves: #86398
Releases: master, 9.5
Change-Id: I57c57e9e745cf5cabdc2f10d645816d3958e2a0d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61874
Tested-by: TYPO3com <>
Tested-by: Jörg Bösche <>
Tested-by: Daniel Goerz <>
Reviewed-by: Jörg Bösche <>
Reviewed-by: Daniel Goerz <>

Revision efbc7d8a (diff)
Added by Christian Eßl 21 days ago

[BUGFIX] Provide UpgradeWizard for outdated be_users uc settings

Backend users each have a serialized array of individual user
configuration, called "uc" persisted in the be_users table.
Before TYPO3 9.5, the structure of this configuration could sometimes
contain stdClass objects, which is no longer supported. Logging in as
a backend user with such an outdated "uc" array would then crash several
parts of the TYPO3 backend, because the BackendUserConfiguration class
will try to access an stdClass type configuration like an array.

An UpgradeWizard called "BackendUserConfigurationUpdate" is now
provided, which allows to update any outdated "uc" structure of all
backend users.

Resolves: #89269
Resolves: #89268
Resolves: #86398
Releases: master, 9.5
Change-Id: Ic2158b34e70c7f931f4ef8acc8c39af618e241e9
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61906
Tested-by: TYPO3com <>
Tested-by: Daniel Goerz <>
Tested-by: Markus Klein <>
Tested-by: Tymoteusz Motylewski <>
Reviewed-by: Markus Klein <>
Reviewed-by: Daniel Goerz <>
Reviewed-by: Susanne Moog <>
Reviewed-by: Tymoteusz Motylewski <>

Revision b7a9e095 (diff)
Added by Christian Eßl 21 days ago

[BUGFIX] Provide UpgradeWizard for outdated be_users uc settings

Backend users each have a serialized array of individual user
configuration, called "uc" persisted in the be_users table.
Before TYPO3 9.5, the structure of this configuration could sometimes
contain stdClass objects, which is no longer supported. Logging in as
a backend user with such an outdated "uc" array would then crash several
parts of the TYPO3 backend, because the BackendUserConfiguration class
will try to access an stdClass type configuration like an array.

An UpgradeWizard called "BackendUserConfigurationUpdate" is now
provided, which allows to update any outdated "uc" structure of all
backend users.

Resolves: #89269
Resolves: #89268
Resolves: #86398
Releases: master, 9.5
Change-Id: Ic2158b34e70c7f931f4ef8acc8c39af618e241e9
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62135
Tested-by: Tymoteusz Motylewski <>
Reviewed-by: Tymoteusz Motylewski <>

History

#1 Updated by Andreas Fernandez about 1 year ago

  • Status changed from New to Needs Feedback

I can't reproduce this issue in current master. Do you have any 3rd party extension installed?

#2 Updated by David Bruchmann about 1 year ago

Yes, this is from composer.json:


    "require": {
        "in2code/powermail": "^6.1",
        "causal/image_autoresize": "dev-master",
        "svewap/ws-flexslider": "dev-master",
        "wdb/secure-downloads": "dev-master",
        "helhum/typo3-console": "^5.5.4",
        "typo3/minimal": "^9.4",
        "typo3/cms-about": "^9.4",
        "typo3/cms-adminpanel": "^9.4",
        "typo3/cms-belog": "^9.4",
        "typo3/cms-beuser": "^9.4",
        "typo3/cms-felogin": "^9.4",
        "typo3/cms-fluid-styled-content": "^9.4",
        "typo3/cms-form": "^9.4",
        "typo3/cms-impexp": "^9.4",
        "typo3/cms-info": "^9.4",
        "typo3/cms-redirects": "^9.4",
        "typo3/cms-reports": "^9.4",
        "typo3/cms-rte-ckeditor": "^9.4",
        "typo3/cms-seo": "^9.4",
        "typo3/cms-sys-note": "^9.4",
        "typo3/cms-t3editor": "^9.4",
        "typo3/cms-tstemplate": "^9.4",
        "typo3/cms-viewpage": "^9.4",
        "typo3/cms-lowlevel": "^9.4" 
    },

If it helps to reproduce, all BE-users get the uid in BE-shown.
I can't see that it has any impact though, I disabled it and same behavior.

options {
  pageTree.showPageIdWithTitle = 1
}

#3 Updated by David Bruchmann about 1 year ago

#4 Updated by Michael Dittberner about 1 year ago

I had the same error. It seems to occur when upgrading an old TYPO3 installation to 9.5. It was concerning only existing users - new users didn't have this problem. I suppose the reason is in the structure of the serialized array in be_users.uc. There might have been some structural changes.

My solution was quite simple: User Settings -> Edit and Advanced functions -> Reset user settings to default state.
Then the user config data is written new and the system can use it.

Maybe there coud be provided an upgrade wizard for this...

#5 Updated by Georg Dümmler 9 months ago

Same Error here after upgrade from TYPO3 6.1 up to 9.5.4.

#6 Updated by Ingo Fabbri 9 months ago

Michael Dittberner wrote:

I had the same error. It seems to occur when upgrading an old TYPO3 installation to 9.5. It was concerning only existing users - new users didn't have this problem. I suppose the reason is in the structure of the serialized array in be_users.uc. There might have been some structural changes.

My solution was quite simple: User Settings -> Edit and Advanced functions -> Reset user settings to default state.
Then the user config data is written new and the system can use it.

Maybe there coud be provided an upgrade wizard for this...

Reset the user settings did the job. Thanks for the hint!

#7 Updated by Sven Juergens 8 months ago

Michael Dittberner wrote:

I had the same error. It seems to occur when upgrading an old TYPO3 installation to 9.5. It was concerning only existing users - new users didn't have this problem. I suppose the reason is in the structure of the serialized array in be_users.uc. There might have been some structural changes.

My solution was quite simple: User Settings -> Edit and Advanced functions -> Reset user settings to default state.
Then the user config data is written new and the system can use it.

Maybe there coud be provided an upgrade wizard for this...

Same Problem here :) Thanks for the hint!

To reset all users at once, you can use the option "Maintenance" -> "Reset Backend User Preferences" as admin

#8 Updated by Benni Mack 7 months ago

  • Target version changed from next-patchlevel to Candidate for patchlevel

#9 Updated by Johannes Hollmann 2 months ago

I had the same error on backend login with existing user.

My solution was to create a new admin user over cli and use them to reset all backend user preferences like Sven Juergen wrote above.

#10 Updated by Christian Eßl about 2 months ago

  • Related to Bug #89269: $GLOBALS['BE_USER']->uc sometimes wrongly written, gets a stdClass where an array would be expected added

#11 Updated by Gerrit Code Review about 2 months ago

  • Status changed from Needs Feedback to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61874

#12 Updated by Gerrit Code Review about 2 months ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61874

#13 Updated by Gerrit Code Review about 1 month ago

Patch set 1 for branch 9.5 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61916

#14 Updated by Daniel Goerz about 1 month ago

  • Related to Bug #89367: Revert introduction of new upgrade wizard added

#15 Updated by Christian Eßl about 1 month ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#16 Updated by Gerrit Code Review about 1 month ago

  • Status changed from Resolved to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61906

#17 Updated by Gerrit Code Review about 1 month ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61906

#18 Updated by Gerrit Code Review about 1 month ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61906

#19 Updated by Gerrit Code Review about 1 month ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61906

#20 Updated by Gerrit Code Review about 1 month ago

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61906

#21 Updated by Gerrit Code Review about 1 month ago

Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61906

#22 Updated by Gerrit Code Review about 1 month ago

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/61906

#23 Updated by Gerrit Code Review 21 days ago

Patch set 1 for branch 9.5 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/62135

#24 Updated by Christian Eßl 21 days ago

  • Status changed from Under Review to Resolved

#25 Updated by Daniel Goerz 8 days ago

  • Related to Bug #89638: BackendUserConfigurationUpdate Upgrade Wizard fails on empty UC fields added

Also available in: Atom PDF