You reminded me that I use a some error handling code in production
environment. I have error handler in my script that catches all js
errors, including qx.dev.StackTrace.getStackTrace().join("\n"), and
sends all of them to my server. I use it mainly for production code,
so I can collect any js issues and fix 'em.
I can fix many issues before end users report them to me. :)
My error controller class has a method, where I can register error handlers:
addErrorListener : function(newFunction)
{
if (typeof window.onerror == 'function')
{
var oldFunction = window.onerror;
window.onerror = function(message, url, line)
{
oldFunction(message, url, line);
newFunction(message, url, line);
};
}
else
{
window.onerror = newFunction;
}
},
I can register another handler for development environment to log
details to firebug too. No waste of my time for similar cases in the
future when I cannot see js errors.
---
Ian Horst
2009/9/4 panyasan <[email protected]>:
>
> I was just about to write about this exact topic the other day and then
> decided not to because I had to search bugzilla and the mailing list first.
> Therefore I'm glad you mention it... I have the problem all the time and my
> rpc code is littered with try ... catch .. blocks throughout, very ugly.
>
> Is there any technical reason why exceptions in the callback/event handling
> code of remote calls are silently swallowed, resulting in a timeout? Can
> this be fixed?
>
> Thanks,
>
> Christian
>
>
>
> Jean-Baptiste BRIAUD -- Novlog wrote:
>>
>> I also encountered that issue too and I was not alone if I remember
>> well.
>> The message was from 20th August, subject : [qooxdoo-devel]
>> qx.io.remote.Rpc timeout question
>>
>> On Sep 4, 2009, at 07:32 , Petr Kobalíček wrote:
>>
>>> This is still not fixed?
>>>
>>> I has this issue while I started with qooxdoo and it's about 1.5 year.
>>> I had to write own transport layer (maybe it's here in mailing list
>>> somewhere). The problem is exception thrown in event handler (as Matt
>>> wrote).
>>>
>>> Is there a bug report for this issue? I can create if isn't, but it's
>>> probably very known problem.
>>>
>>> Best regards
>>> - Petr
>>>
>>> 2009/9/3 Matthew Gregory <[email protected]>:
>>>> The most common cause of this is an error in the callback function/
>>>> event
>>>> handler. Can you check your code, or try adding some try catch
>>>> blocks?
>>>>
>>>> function handler()
>>>> {
>>>> try
>>>> {
>>>> <ORIGINAL CODE>
>>>> }
>>>> catch (e)
>>>> {
>>>> alert("this is why!");
>>>> alert(e);
>>>> }
>>>> }
>>>>
>>>> HTH,
>>>> Matt
>>>>
>>>> Ian Horst wrote:
>>>>> I'm back to development in qooxdoo. And struggle to figure out why
>>>>> my
>>>>> last 2 out of 5 requests in queue time out. FF3.5.2, firebug
>>>>> disabled
>>>>> to confirm it doesn't affect known issue with xmlhttprequest.
>>>>>
>>>>> Qooxdoo trunk 19987
>>>>>
>>>>> When I enable firebug, I can see that xmlhttprequests do take less
>>>>> than 3 seconds to complete.
>>>>>
>>>>> Any idea why it happens?
>>>>>
>>>>>
>>>>> 002451 qx.core.Init: Finalize runtime: 30ms
>>>>> 002720 State: sending
>>>>> 002721 State: configured => sending
>>>>> 002721 qx.io.remote.RequestQueue[2b]: ActiveCount: 1
>>>>> 002721 qx.event.type.Event[2a]: State: sending
>>>>> 002722 State: receiving
>>>>> 002722 State: sending => receiving
>>>>> 002722 qx.event.type.Event[2a]: State: receiving
>>>>> 002722 State: completed
>>>>> 002723 State: receiving => completed
>>>>> 002723 Returning content for responseType: application/json
>>>>> 002724 qx.io.remote.RequestQueue[2b]: ActiveCount: 0
>>>>> 002724 qx.event.type.Event[2a]: State: completed
>>>>> 002728 qx.io.remote.RequestQueue[2b]: Progress: 2/2
>>>>> 002730 State: sending
>>>>> 002730 State: configured => sending
>>>>> 002730 qx.io.remote.RequestQueue[2b]: ActiveCount: 1
>>>>> 002730 qx.event.type.Event[2t]: State: sending
>>>>> 002731 State: receiving
>>>>> 002731 State: sending => receiving
>>>>> 002731 qx.event.type.Event[2t]: State: receiving
>>>>> 002731 State: completed
>>>>> 002732 State: receiving => completed
>>>>> 002732 Returning content for responseType: application/json
>>>>> 002732 qx.io.remote.RequestQueue[2b]: ActiveCount: 0
>>>>> 002732 qx.event.type.Event[2t]: State: completed
>>>>> 002734 qx.io.remote.RequestQueue[2b]: Progress: 1/1
>>>>> 002780 State: sending
>>>>> 002780 State: configured => sending
>>>>> 002780 qx.io.remote.RequestQueue[2b]: ActiveCount: 1
>>>>> 002780 qx.html.Element[2p]: State: sending
>>>>> 002785 State: receiving
>>>>> 002785 State: sending => receiving
>>>>> 002785 qx.html.Element[2p]: State: receiving
>>>>> 002786 State: completed
>>>>> 002786 State: receiving => completed
>>>>> 002786 Returning content for responseType: application/json
>>>>> 002788 qx.io.remote.RequestQueue[2b]: ActiveCount: 0
>>>>> 002788 qx.html.Element[2p]: State: completed
>>>>> 008763 qx.io.remote.Request[4k6]: State: queued
>>>>> 008763 qx.io.remote.RequestQueue[2b]: Progress: 1/2
>>>>> 008763 qx.io.remote.RequestQueue[2b]: Progress: 2/2
>>>>> 008764 qx.io.remote.Exchange[4k7]: Using implementation:
>>>>> qx.io.remote.transport.XmlHttp
>>>>> 008766 qx.io.remote.transport.XmlHttp[4k8]: State: configured
>>>>> 008770 qx.io.remote.Request[4ki]: State: queued
>>>>> 008771 qx.io.remote.RequestQueue[2b]: Progress: 2/3
>>>>> 008771 qx.io.remote.RequestQueue[2b]: Progress: 3/3
>>>>> 008771 qx.io.remote.Exchange[4kj]: Using implementation:
>>>>> qx.io.remote.transport.XmlHttp
>>>>> 008773 qx.io.remote.transport.XmlHttp[4kk]: State: configured
>>>>> 009407 qx.io.remote.RequestQueue[2b]: Progress: 2/2
>>>>> 010837 qx.io.remote.transport.XmlHttp[4k8]: State: sending
>>>>> 010840 qx.io.remote.Exchange[4k7]: State: configured => sending
>>>>> 010841 qx.io.remote.RequestQueue[2b]: ActiveCount: 1
>>>>> 010842 qx.io.remote.Request[4k6]: State: sending
>>>>> 010847 qx.io.remote.transport.XmlHttp[4k8]: State: receiving
>>>>> 010848 qx.io.remote.Exchange[4k7]: State: sending => receiving
>>>>> 010850 qx.io.remote.Request[4k6]: State: receiving
>>>>> 010852 qx.io.remote.transport.XmlHttp[4k8]: State: completed
>>>>> 010853 qx.io.remote.Exchange[4k7]: State: receiving => completed
>>>>> 010855 qx.io.remote.transport.XmlHttp[4k8]: Returning content for
>>>>> responseType: application/json
>>>>> 010857 qx.io.remote.RequestQueue[2b]: ActiveCount: 0
>>>>> 010858 qx.io.remote.Request[4k6]: State: completed
>>>>> 010870 qx.io.remote.transport.XmlHttp[4kk]: State: sending
>>>>> 010871 qx.io.remote.Exchange[4kj]: State: configured => sending
>>>>> 010873 qx.io.remote.RequestQueue[2b]: ActiveCount: 1
>>>>> 010874 qx.io.remote.Request[4ki]: State: sending
>>>>> 010877 qx.io.remote.transport.XmlHttp[4kk]: State: receiving
>>>>> 010878 qx.io.remote.Exchange[4kj]: State: sending => receiving
>>>>> 010880 qx.io.remote.Request[4ki]: State: receiving
>>>>> 010882 qx.io.remote.transport.XmlHttp[4kk]: State: completed
>>>>> 010884 qx.io.remote.Exchange[4kj]: State: receiving => completed
>>>>> 010886 qx.io.remote.transport.XmlHttp[4kk]: Returning content for
>>>>> responseType: application/json
>>>>> 010887 qx.io.remote.RequestQueue[2b]: ActiveCount: 0
>>>>> 010889 qx.io.remote.Request[4ki]: State: completed
>>>>> 013803 qx.io.remote.RequestQueue[2b]: Timeout: transport 4kj
>>>>> 013805 qx.io.remote.RequestQueue[2b]: 5032ms > 5000ms
>>>>> 013806 qx.io.remote.Exchange[4kj]: Timeout: implementation 4kk
>>>>> 013808 qx.io.remote.transport.XmlHttp[4kk]: Timeout...
>>>>> 013810 qx.io.remote.transport.XmlHttp[4kk]: State: timeout
>>>>> 013812 qx.io.remote.Exchange[4kj]: State: completed => timeout
>>>>> 013814 qx.io.remote.RequestQueue[2b]: ActiveCount: -1
>>>>> 013816 qx.io.remote.Request[4ki]: State: timeout
>>>>> 013819 qx.io.remote.RequestQueue[2b]: Progress: 1/1
>>>>> 013821 qx.io.remote.RequestQueue[2b]: Timeout: transport 4k7
>>>>> 013822 qx.io.remote.RequestQueue[2b]: 5039ms > 5000ms
>>>>> 013824 qx.io.remote.Exchange[4k7]: Timeout: implementation 4k8
>>>>> 013826 qx.io.remote.transport.XmlHttp[4k8]: Timeout...
>>>>> 013827 qx.io.remote.transport.XmlHttp[4k8]: State: timeout
>>>>> 013829 qx.io.remote.Exchange[4k7]: State: completed => timeout
>>>>> 013830 qx.io.remote.RequestQueue[2b]: ActiveCount: -2
>>>>> 013832 qx.io.remote.Request[4k6]: State: timeout
>>>>> 013835 qx.io.remote.RequestQueue[2b]: Progress: 0/0
>>>>>
>>>>>
>>>>> ---
>>>>> Ian Horst
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> 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
>>> _______________________________________________
>>> 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
>> _______________________________________________
>> qooxdoo-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>
>>
>
> --
> View this message in context:
> http://www.nabble.com/qx.io.remote.*%3A-State%3A-timeout-tp25276953p25293967.html
> Sent from the qooxdoo-devel mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> 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
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel