We found that in case of “bad programming” on the UR side the UR program throw one of the following exceptions:
- XMLRPC: Failed with exception: Unable to transport XML to server and get XML response back. libcurl failed to execute the HTTP POST transaction, explaining: Recv failure: Connection reset by peer
- XMLRPC: Failed with exception: Unable to transport XML to server and get XML response back. libcurl failed to execute the HTTP POST transaction, explaining: Empty reply from server
One way to reproduce this error is to play a program that makes calls to the XMLRPC server “as fast as it can”, for example:
- XMLRPC call
- if(condition == TRUE) Do something
Imagine a program like this played with option “program loops forever” and with the “condition” always set to FALSE.
We have a customer that is experiencing this kind of problem every couple of hours: we recommended him to change the program or at least to insert a “wait” instruction between the XMLRPC node and the “if” node; we found that with a wait of 200 ms the frequency of the error is reduced from an error every couple of hours to an error every 12 hours but the problem is still present and the customer struggles to believe that it is a system problem and not a device problem.