I made stupid mistake with page properties in EPi 7.1. When I was creating new custom property I changed property type from admin side to another from wrong page. I noticed my error, but some pages and sub-pages are already corrupted. There is big list of those. Those pages gives "Content with id 956 was not found" error. Page editing works just fine, but public side of page gives this error. Some pages of those pagetypes works just fine.
Is there any way to fix this or should I restore whole database from backup?
Last lines of stack trace: [ContentNotFoundException: Content with id 956 was not found] EPiServer.DataAccess.ContentLoadDB.LoadContentInternal(ContentReference contentLink, Int32 languageBranchId, DbDataReader reader) +1613 EPiServer.DataAccess.<>c__DisplayClass1.<Load>b__0() +285 EPiServer.Data.Providers.<>c__DisplayClass1`1.<Execute>b__0() +60 EPiServer.Data.Providers.SqlDeadlockRetryPolicy.Execute(Boolean isInTransaction, Func`1 method) +133
Somehow this connects to pagetype. If I change pagetype from Normal page to News page this page will work just fine as News page. If I chage pagetype of the page as normal again the same error message will appear again. Weird.
Answer to myself. Page or page property was not corrupted. Dynamic property was!
In dynamic properties there was a link to the content area. In this content area there was empty link tag to the page which was moved to recycle bin.
When I previously changed page type of the page, the page worked just fine. It worked because other page type didn't use "corrupted" dynamic property.
If you got this kind of error message check out your dynamic properties really deep and really carefully! Actually you should suspect faulty dynamic properties if error inherits itself to child pages and child pages works just fine, if you move them under another correctly functioning pages.