Yes. I've confirmed this and it still exists in the trunk
var rpc = new qx.io.remote.Rpc("jsonrpc", "ctweb");
rpc.callAsync(function() { throw "argh!"}, "system.describe");
This will cause the timeout
Darrel: it gives the alerts from locations 1 then 4 then 2 and then 1 again.
Hope that helps
Matt
Jean-Baptiste BRIAUD -- Novlog wrote:
> The condition where I had the issue was when an error seem to frooze
> the handler.
> How do I frooze the handler ? I was trying to setValue(12) on
> TextField thinking setValue handle any type (link to my other qyestion).
> In such a case, I was clearly able to see in firebug the request
> finished (even the response was browsable), then the timeout error
> happen.
> the global application was not frozen, before or after timeout.
>
> This can be explained simply now, thanks to all :-)
>
> On Aug 21, 2009, at 11:14 , Matthew Gregory wrote:
>
>> Hi Again,
>> Just tried this and couldn't reproduce it. It was deffinately a
>> problem
>> before as we had to put a work around in place to combat the issue
>> (our
>> callback handler just a proxy using qx.lang.Function.delay to do the
>> real work).
>>
>> Looks like to me that this has already been fixed since 0.8.2
>>
>> Jean: What are the reasons for using Petr's build now? I was under the
>> impression that this became a common requirement so the framework now
>> has a similar feature? Might be time to consider moving to trunk
>> maybe.
>>
>> Matt
>>
>> Matthew Gregory wrote:
>>> Hi Derrell and Jean-Baptiste,
>>>
>>> We've experienced this problem before as well. The easiest way to
>>> test
>>> this is with an alert in the handler. I'll try reproducing the
>>> problem
>>> with the trunk and then apply your patch to see if it helps
>>>
>>> Matt
>>>
>>>
>>>
>>>
>>> Derrell Lipman wrote:
>>>> On Thu, Aug 20, 2009 at 09:45, Jean-Baptiste BRIAUD -- Novlog
>>>> <[email protected] <mailto:[email protected]>> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I experienced timeout exception on RPC call even if the call by
>>>> itself
>>>> (according to firebug) is finished.
>>>> It sound like the time mesured is not the time of the request
>>>> only but
>>>> it also include (wrongly if it is true) the execution time of
>>>> what is
>>>> done inside the handler.
>>>> Most of the time is should be OK because nothing very long
>>>> should be
>>>> oin that handler, but because of a bug on my side I'm
>>>> investigating
>>>> the handler take too long.
>>>>
>>>> I'm not sure how to confirm that because of my own bug that could
>>>> interfere and also there is apparently no sleep function in
>>>> javascript ...
>>>>
>>>> If true, this could be reproduced by just making handler
>>>> application
>>>> code to take longuer than timeout using sleep(t greter than
>>>> timeout).
>>>>
>>>>
>>>> The timer *should* be cancelled when the response is received, and
>>>> before the user's handler function is called. It sounds to me like
>>>> instead, the timeout isn't being cancelled until after the user's
>>>> handler function returns.
>>>>
>>>> Would you please apply the following patch and let me know which
>>>> alert
>>>> appears.
>>>>
>>>> Thanks,
>>>>
>>>> Derrell
>>>>
>>>> diff --git a/qooxdoo/framework/source/class/qx/io/remote/Exchange.js
>>>> b/qooxdoo/framework/source/class/qx/io/remote/Exchange.js
>>>> index 246b995..de64a00 100644
>>>> --- a/qooxdoo/framework/source/class/qx/io/remote/Exchange.js
>>>> +++ b/qooxdoo/framework/source/class/qx/io/remote/Exchange.js
>>>> @@ -701,6 +701,7 @@ qx.Class.define("qx.io.remote.Exchange",
>>>> else
>>>> {
>>>> this.warn("Timeout: forcing state to timeout");
>>>> + alert("timeout loc 3");
>>>> this.setState("timeout");
>>>> }
>>>>
>>>> @@ -781,6 +782,7 @@ qx.Class.define("qx.io.remote.Exchange",
>>>> * @return {void}
>>>> */
>>>> _ontimeout : function(e) {
>>>> + alert("timeout loc 4");
>>>> this.setState("timeout");
>>>> },
>>>>
>>>> diff --git a/qooxdoo/framework/source/class/qx/io/remote/Request.js
>>>> b/qooxdoo/framework/source/class/qx/io/remote/Request.js
>>>> index dc74383..3a45159 100644
>>>> --- a/qooxdoo/framework/source/class/qx/io/remote/Request.js
>>>> +++ b/qooxdoo/framework/source/class/qx/io/remote/Request.js
>>>> @@ -624,6 +624,7 @@ qx.Class.define("qx.io.remote.Request",
>>>>
>>>>
>>>> */ // Modify internal state
>>>> + alert("timeout loc 2");
>>>> this.setState("timeout");
>>>>
>>>> // Bubbling up
>>>> diff --git
>>>> a/qooxdoo/framework/source/class/qx/io/remote/transport/Abstract.js
>>>> b/qooxdoo/framework/source/class/qx/io/remote/transport/Abstract.js
>>>> index 448fd74..cd772bb 100644
>>>> --- a/qooxdoo/framework/source/class/qx/io/remote/transport/
>>>> Abstract.js
>>>> +++ b/qooxdoo/framework/source/class/qx/io/remote/transport/
>>>> Abstract.js
>>>> @@ -257,6 +257,7 @@
>>>> qx.Class.define("qx.io.remote.transport.Abstract",
>>>> }
>>>> }
>>>>
>>>> + alert("timeout loc 1");
>>>> this.setState("timeout");
>>>> },
>>>>
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Let Crystal Reports handle the reporting - Free Crystal Reports
>>>> 2008 30-Day
>>>> trial. Simplify your report design, integration and deployment -
>>>> and focus on
>>>> what you do best, core application coding. Discover what's new with
>>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> qooxdoo-devel mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>>
>>> ------------------------------------------------------------------------------
>>> Let Crystal Reports handle the reporting - Free Crystal Reports
>>> 2008 30-Day
>>> trial. Simplify your report design, integration and deployment -
>>> and focus on
>>> what you do best, core application coding. Discover what's new with
>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july
>>
>> ------------------------------------------------------------------------------
>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008
>> 30-Day
>> trial. Simplify your report design, integration and deployment - and
>> focus on
>> what you do best, core application coding. Discover what's new with
>> Crystal Reports now. http://p.sf.net/sfu/bobj-july
>> _______________________________________________
>> qooxdoo-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>
>
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now. http://p.sf.net/sfu/bobj-july
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel