I remember having dropping in a hack/workaround for an "external library's decrypt feature fails and runs forever" issue once a long time ago. To get around the failure, I spun up a thread for the decryption, gave that thread 15 seconds, then if it was still going after the 15 seconds, I deemed to have failed, killed the thread, and returned a "could not decrypt" status. This was a long, long time ago back when credit card numbers were encrypted and could be decrypted by the merchants who had saved them for a customer. What had happened was that occasionally non-encrypted data got where encrypted data was expected, so the decryption method was attempting to decrypt some plain text rather than an encrypted cc number. Maybe it was something like "card deleted".. i forget exactly. In these case of these handhelds that can't write the file to the car, they must be trying to decrypt the file but the file state is not right. Encryption method, encrypted at all, wrong this, wrong that, wrong handheld serial number maybe?