I had the same problem, both with listing content types and scheduled jobs.
For me there was a block registered in the database that didn't exist in code. That block didn't have any value in the Saved column.
I added a new block with the GUID from the database, that created a value in the saved column, after that i could list content types.
Maybe you could write a migration step that deletes the block from the database instead.
The listing of scheduled job I haven't solved yet though.
So what happens when you upgrade to a newer version it's reloaded or re-create all the content types again so you have found out is there any content which is not available or basically needs to check for null data that's it's giving you errors. Try putting new guides instead of old onces.
My collegue Daniel that fixed the content types above also fixed the scheduled task issue by removing an old scheduled task:
delete FROM [tblScheduledItemLog] where fkScheduledItemId in ( select pkid from [tblScheduledItem] where AssemblyName in ('EPiServer.Cms.AspNet' , 'EPiServer.Forms.UI')) delete from [tblScheduledItem] where AssemblyName in ('EPiServer.Cms.AspNet' , 'EPiServer.Forms.UI') Delete FROM [tblPlugIn] where pkid = 10
Id could of course differ from your database.
I've reported this issue to support a while ago. Issue has been confirmed and a fix is coming.
Bug confirmed, please "upvote"
Just wanted to let you guys know that the issue (https://world.optimizely.com/support/Bug-list/bug/CMS-21651) with Content Type list has been fixed and will ship in the 12.3.1 version.
So I have upgraded the site and site and episerver/cms works. But when clicking Content Type I get this:
and when clicking Scheduled Jobs I get this: