BUG 9.2.0: Removing my SECOND Express Data Object stalls Concrete

Removing my second Express Data Object (first one worked):

Concrete CMS
|Version|“9.2.0”|
|Installed Version|“9.2.0”|
|Database Version|“20230308163514”|
PHP Version “8.1.16”

Doctrine\DBAL\Exception\ForeignKeyConstraintViolationException thrown with message "An exception occurred while executing 'DELETE FROM AttributeKeys WHERE akID = ?' with params [37]:

SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`web71_db8`.`atSelectedTopics`, CONSTRAINT `FK_E42A7D5BA2A82A5D` FOREIGN KEY (`avID`) REFERENCES `atTopic` (`avID`))"

Stacktrace:
#43 Doctrine\DBAL\Exception\ForeignKeyConstraintViolationException in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:68
#42 Doctrine\DBAL\Driver\AbstractMySQLDriver:convertException in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:182
#41 Doctrine\DBAL\DBALException:wrapException in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:159
#40 Doctrine\DBAL\DBALException:driverExceptionDuringQuery in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:2226
#39 Doctrine\DBAL\Connection:handleExceptionDuringQuery in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1538
#38 Doctrine\DBAL\Driver\PDO\Exception in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18
#37 Doctrine\DBAL\Driver\PDO\Exception:new in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:119
#36 PDOException in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117
#35 PDOStatement:execute in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117
#34 Doctrine\DBAL\Driver\PDOStatement:execute in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1527
#33 Doctrine\DBAL\Connection:executeStatement in /home/www/mysite/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:819
#32 Doctrine\DBAL\Connection:delete in /home/www/mysite/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/JoinedSubclassPersister.php:257
#31 Doctrine\ORM\Persisters\Entity\JoinedSubclassPersister:delete in /home/www/mysite/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1259
#30 Doctrine\ORM\UnitOfWork:executeDeletions in /home/www/mysite/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:454
#29 Doctrine\ORM\UnitOfWork:commit in /home/www/mysite/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:403
#28 Doctrine\ORM\EntityManager:flush in /home/www/mysite/concrete/src/Express/Entity/Listener.php:40
#27 Concrete\Core\Express\Entity\Listener:preRemove in /home/www/mysite/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/Event/ListenersInvoker.php:93
#26 Doctrine\ORM\Event\ListenersInvoker:invoke in /home/www/mysite/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1918
#25 Doctrine\ORM\UnitOfWork:doRemove in /home/www/mysite/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1876
#24 Doctrine\ORM\UnitOfWork:remove in /home/www/mysite/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:689
#23 Doctrine\ORM\EntityManager:remove in /home/www/mysite/concrete/controllers/single_page/dashboard/system/express/entities.php:165
#22 Concrete\Controller\SinglePage\Dashboard\System\Express\Entities:delete in /home/www/mysite/concrete/src/Controller/AbstractController.php:318
#21 call_user_func_array in /home/www/mysite/concrete/src/Controller/AbstractController.php:318
#20 Concrete\Core\Controller\AbstractController:runAction in /home/www/mysite/concrete/src/Http/ResponseFactory.php:193
#19 Concrete\Core\Http\ResponseFactory:controller in /home/www/mysite/concrete/src/Http/ResponseFactory.php:372
#18 Concrete\Core\Http\ResponseFactory:collection in /home/www/mysite/concrete/src/Http/DefaultDispatcher.php:132
#17 Concrete\Core\Http\DefaultDispatcher:handleDispatch in /home/www/mysite/concrete/src/Http/DefaultDispatcher.php:60
#16 Concrete\Core\Http\DefaultDispatcher:dispatch in /home/www/mysite/concrete/src/Http/Middleware/DispatcherDelegate.php:39
#15 Concrete\Core\Http\Middleware\DispatcherDelegate:next in /home/www/mysite/concrete/src/Http/Middleware/FrameOptionsMiddleware.php:39
#14 Concrete\Core\Http\Middleware\FrameOptionsMiddleware:process in /home/www/mysite/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#13 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/www/mysite/concrete/src/Http/Middleware/StrictTransportSecurityMiddleware.php:36
#12 Concrete\Core\Http\Middleware\StrictTransportSecurityMiddleware:process in /home/www/mysite/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#11 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/www/mysite/concrete/src/Http/Middleware/ContentSecurityPolicyMiddleware.php:36
#10 Concrete\Core\Http\Middleware\ContentSecurityPolicyMiddleware:process in /home/www/mysite/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#9 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/www/mysite/concrete/src/Http/Middleware/CookieMiddleware.php:35
#8 Concrete\Core\Http\Middleware\CookieMiddleware:process in /home/www/mysite/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#7 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/www/mysite/concrete/src/Http/Middleware/ApplicationMiddleware.php:29
#6 Concrete\Core\Http\Middleware\ApplicationMiddleware:process in /home/www/mysite/concrete/src/Http/Middleware/MiddlewareDelegate.php:50
#5 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/www/mysite/concrete/src/Http/Middleware/MiddlewareStack.php:86
#4 Concrete\Core\Http\Middleware\MiddlewareStack:process in /home/www/mysite/concrete/src/Http/DefaultServer.php:85
#3 Concrete\Core\Http\DefaultServer:handleRequest in /home/www/mysite/concrete/src/Foundation/Runtime/Run/DefaultRunner.php:125
#2 Concrete\Core\Foundation\Runtime\Run\DefaultRunner:run in /home/www/mysite/concrete/src/Foundation/Runtime/DefaultRuntime.php:102
#1 Concrete\Core\Foundation\Runtime\DefaultRuntime:run in /home/www/mysite/concrete/dispatcher.php:45
#0 require in /home/www/mysite/index.php:5

Hi @ong - can you tell us a little more about the objects and their associations / relationships? Thanks.

Hi Evan,

sorry, I can not. By now I removed all remnants from the database by hand. I tried to make use of the data objects, but for my purpose they were not useful.

Thanks anyways
Olaf