Protocol violation errors may indicate a database connection object is shared between multiple threads. When I ran into those exception, often the reason was I started a new asynchronous thread (fire and forget) which should log additional information to the database after a general entity insert. Due to the database connection not being threadsafe, I got the protocol violation, with no obvious error, but a stacktrace showing a prepared statement being executed with a valid sql statement.
Also the number in the protocol violation message may differ every time the same error occurs, for e.g. Protocol violation: [ 39, ], Protocol violation: [ 1, ], Protocol violation: [ 124, ]
The mentioned project uses OpenJdk 16.0.2 and ojdbc10-19.15.0.0.1 database driver.