To anyone else having a similar problem, here's what I found was the cause of the problem: a customized page was creating a bad vcard html form that submitted the wrong module name "Contact" in /custom/modules/Contacts/metadata/detailviewdefs.php
Code:
'preForm' => '<form name="vcard" action="index.php"><input type="hidden" name="entryPoint" value="vCard"><input type="hidden" name="contact_id" value="{$fields.id.value}"><input type="hidden" name="module" value="Contact"></form>',
Changing this from Contact to Contacts fixed the problem. Still not sure how the error cropped up.
Bookmarks