Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

Possible bug in isc.RPCManager.sendRequest() for IE and error code 12030

$
0
0
We are getting random null reference exceptions in our product, only when using IE browser. After some investigations, the problem seems related to receiving an HTTP error code 12030 when calling isc.RPCManager.sendRequest(). It seems that under this conditions there is an internal retry of the transaction:

Code:

ISC_DataBinding.js:36882:

            if (status == 12030 && isc.Browser.isIE) {
                this.logWarn("Received HTTP status code 12030, resubmitting request");
                this.resubmitTransaction(transactionNum);
                return;
            }

For each resubmitTransaction() call a new timeout timer is allocated for the transaction, but the previous allocated timer seems to not be cleared in the process. So time after the sendRequest() command is finished, the non-cleared timers do trigger and as the transaction is no more there, we get the null reference exception at:

Code:

ISC_DataBinding.js:36096:
_timeoutTransaction : function (transaction) {
        transaction = this.getTransaction(transaction);

        if (transaction._clearOnTimeout) { // <= transaction is null

The SmartClient build used for the test is v9.1p_2015-01-08/Pro Deployment (built 2015-01-08)

We can reproduce the problem systematically with this very simple code snippet in IE:

Code:

function start() {

    isc.RPCManager.sendRequest({
                    data: {} ,
                    actionURL: "http://127.0.0.1:8080",
                    httpMethod: "POST",
                    willHandleError: true,
                    callback: function (aInRpcResponse_o) {
                        if (aInRpcResponse_o.status == 0) {
                            console.log("sendRequest - OK")
                        }
                        else {
                            console.log("sendRequest - Error")
                        }
                    }
                }
            );
};

and forcing the 12030 http code (I used Fiddler Web Debugger), after 3 retries the sendRequest finishes with error, and some time later we start getting the null reference exceptions.

Could you please take a look and give us your feedback on this?

Thanks a lot,
Gerard

Viewing all articles
Browse latest Browse all 4756

Latest Images

Trending Articles



Latest Images