I recently tried to move money between two accounts held with the same business bank. I did everything as I usually would, using the relevant mobile banking app. But after confirming the transfer, instead of a success message, I got this:

We weren't able to do that. Com.bs.proteo.microservices.architecture.core.exceptions.MicroserviceException: ORA-08177: can’t serialize access for this transaction
I’ve heard much better things about error 8178

Yes, that’s my bank returning an exception and Oracle database error straight to my phone. (And not any exception, but a MicroserviceException.)

If you’re particularly observant, you may have worked out that the bank in question is TSB – the same TSB that was in the news in 2018 following a botched migration between banking platforms.

This isn’t the first time I’ve had this error; it’s happened a handful of times over the last year and a half. Each time I’m left wondering if the transfer did or did not happen (or worse: whether I still had the money at all).

Another amusing fact is that if you search Google for com.bs.proteo, it returns a handful of questions and posts (and even bits of code) from people who presumably have worked on the code base.

Alas, I’m otherwise happy with the bank, so I haven’t been in any rush to move my company to a different bank (although, I may well have another look round having posted this).