WordPress.org

Make WordPress Core

Opened 5 years ago

Closed 4 years ago

#10419 closed defect (bug) (invalid)

Object of class __PHP_Incomplete_Class

Reported by: tailspin Owned by:
Milestone: Priority: normal
Severity: normal Version: 2.8.1
Component: Users Keywords: reporter-feedback
Focuses: Cc:

Description

User attempts to change password and a catchable error occurs:

Catchable fatal error: Object of class PHP_Incomplete_Class could not be converted to string in /home/.sausage/tailspin/undress4success.com/wp-includes/wp-db.php on line 445

May be related to ticket #9638 and 9640 - but not quite the same issue. In this case user was not converted, was a new login that just wanted to change password. I duplicated problem with a new test account.

Change History (3)

comment:1 Denis-de-Bernardy5 years ago

  • Milestone changed from Unassigned to 2.9
  • Severity changed from blocker to normal

Cross-referencing #9640 with a link.

comment:2 hakre5 years ago

  • Keywords reporter-feedback added; password change removed
  • Milestone changed from 2.9 to Future Release

The Error Message you get is related to a design flaw in WordPress core code, data structure and data flow. Your certain experience might be the result of having a plugin once activated and now deactivated that did not properly uninstall but it might have other causes as well.

A hotfix for this case could be to catch the error and silently delete/drop the unrestoreable data.

A propper fix would touch the way userdata is currently handeled in wordpress core. Such changes are not so easy to be expected. As already stated user_meta/serialization is related to some more tickets already and those changes might affect this behaviour and vice versa.

To gain more information about your error, please check which class is likely to be incomplete. The error technically means that an object of a certain class-type is deserialized but the definition (class) of that type does not exists.

This can be because you once had a plugin activated that is not activated any longer and therefore the class definition does not exist any longer (as an Example).

Please var_dump() your incomplete class variable and look in the output, it should have a property that contains the name of the original class. This might help to find the concrete cause of your issue.

Please report that classname or any additional feedback back here.

comment:3 Denis-de-Bernardy4 years ago

  • Milestone Future Release deleted
  • Resolution set to invalid
  • Status changed from new to closed

only store stdClass objects in options and usermeta tables.

Note: See TracTickets for help on using tickets.