Interesting. Could you send me output of 'show ospf state', 'show ospf lsadb' and 'show route' when the situation happens?
Sure. I'll grab it on next opportunity.
How OSPF learns subscriber routes? From the kernel proto? I don't see any non-OSPF route on 'birdc show route' below, but there should be at least one for the current session.
Yes, subscriber routes are added to kernel by mpd5 and then imported by BIRD. Recently, I patched mpd5 to delete subscriber route before adding new one. It helped a bit and now inconsistency happens only few times per month.
You have 'preference 10' for OSPF, this is the same as the default preference for kernel protocol. That is unreliable, you should ensure that kernel protocol has higher preference than OSPF, if you want to export kernel routes to OSPF.
Thanks, I'll change preference for OSPF.