Yes but check this method doBegin from class JdbcTransaction.java
when we have exception at managedConnection.setAutoCommit( false ) code does catch the exception but doesn't not set managedConnection to null which creates the stale state