This problem can also occur when the file doesn't actually exist on disk. A couple of scenarios can play into this.
- You open a file for 'add' before the file actually exists on disk. This is possible and allowed by Perforce. If you 'p4 add' a file before it exists and then try and submit the changelist before you actually put a local file in place, you will get this error.
- You open a file for 'edit' and then by some mechanism, delete the file locally before you submit. Again, when submitting, you will see this error.
Honestly, I'm a bit surprised that the error indicated in the original question was due to a filetype mismatch. I've never seen that be the case. In case (1), a file that is 'p4 add'ed will be added as type 'text' by default if a file doesn't exist on disk. If the file was supposed to be a binary file, that would indicate a type mismatch, but that's not the cause of failure to transfer the file from the client. It's the fact that the file doesn't exist.
Anyway, that's my experience. I figured that i would share the cases where I've seen this error.