Thanks for the reply, I did something similar to find all the broken tests.
The problem is that the fr-CA page exists for Node 9917, but the associated custom FindATests record does not. The DocumentForeignKeyValue field points to the missing record.
On our QA system this is correct, but fails on the Live system and my local test site.
I need to prevent attempts to change the language on these records, and find a way to fix them. I can probably run a query to see if there is a French FindATests record and hide the language choice button if it's not there. I didn't develop this and have no idea how it got this screwed up on the Live system, I suspect someone deleted records.