Error log shows it's a database issue. Field __text_parsed does not have a default value. Interestingly, this error also caused the CPF to no longer be a required field despite it being marked required in the settings.
EDIT: Talked to Patrick and it was also a visible error, not just one buried in the log.
Upgraded to major bug because this causes lots of profile issues. Seems to be an issue in how comcode columns are being saved in the database for non-multi-lang sites. Will continue to investigate.
I was unable to reproduce on my dev machine; only happened on a production server. My dev install was not creating those __text_parsed fields without a prefix name.
We tried ensuring database strict mode was on, checking database consistency, running MySQL repair tool, adding FULLTEXT index to the field, switching PHP versions, etc. and could not reproduce on the dev machine. Was probably a freak incident.
EDIT: Talked to Patrick and it was also a visible error, not just one buried in the log.