In the method "public void save(Connection con) throws TorqueException" (generated by templates>om>Object) the field "alreadyInSave" indicates that there is an ongoing save process. In the beginning it is set to "true", at the end it is set back to "false". But if an exception occurs (while calling doInsert(...) or doUpdate(...)) this field will not be set back to false 'cause the method throws this exception immediately. So afterwards it isn't possible to save an object using this method.
proposal for fix:
Wrap the "internal" of the save method with a "try
" - statement and in the finally set the field "alreadyInSave" to false.