If the provider cannot find the menu document then the error is thrown back to KnpMenu ChainProvider and the next provider is tried.
When all providers fail you get a rather upaque message:
The menu "pages" is not defined.
PhpcrMenuProvider::has needs to return false if the document does not exist, but currently it will return false if f.e. the document does exist but does not implement the NodeInterface.
It could be taken for granted that if the user has defined the menu base path to be /cms/menu then if a document exists at /cmf/menu/foo then they intended that foo was the menu root.