TYPO3 powermail: class_parents(): object or string expected

raw

README.rst

TYPO3CMSCoreErrorException: PHP Warning: class_parents(): object or string expected in typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php line 283 in typo3/sysext/core/Classes/Error/ErrorHandler.php:111

We have serious problems with extbase reflection cache on 7.6 with powermail. Fields from powermail cannot be mapped because the reflection info misses a single field.

I found that cf_extbase_reflection contains multiple reflection data cache identifiers, but - what puzzles me - is that some classes are contained in multiple of those cache entries

e.g. ReflectionData_Powermail contains class information for powermail but also our own extension's data. same for fluidpages and fluidcontent, which also have some of our extension classes in their cache info ("reflectedClassNames")

is this normal?

how are cache identifiers assigned/used?

as I see it, they are initialized per-extension - each extension has its own reflection cache

but that does not seem to be the problem, although I'd really like to know why this is mixed up sometimes.

now a different property is missing in the reflection info :confused:

so we found the problem. We're running Ubuntu 16.04 and have php-redis installed, which depends on ... php-igbinary. The igbinary extension in ubuntu is outdated (https://bugs.launchpad.net/ubuntu/+source/php-igbinary/+bug/1651031) and has subtle bugs (https://github.com/igbinary/igbinary/issues/114).

Christian Weiske Christian Weiske
owner

History