Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Problem: maximum call stack size exceeded

    Hi,
    I am getting a 'maximum call stack size exceeded' error in chrome (and maximum recursion in firefox). But the stack trace seems very small:

    Uncaught RangeError: Maximum call stack size exceeded
    isc_c_Class_fireCallbackISC_Combined.js:294
    isc_c_Comm__fireXMLCallbackISC_Combined.js:1150
    _12

    The sc debug window shows more info (see below).

    Do you know if there is a better way to debug this or have you seen this before?

    Code:
    clientContext: Obj}
    21:28:31.310:XRP4:INFO:redraws:isc_ImgButton_7_label:Scheduling redraw (setContents)
        Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
        Canvas.$q9(_1=>"setContents", _2=>undef)
        Canvas.markForRedraw(_1=>"setContents")
        Canvas.setContents(_1=>"<img src='http://localhost:8080/openbrav..."[307])
        StatefulCanvas.setTitle(_1=>"<img src='http://localhost:8080/openbrav..."[307])
        Class.setProperties(Obj{title:<img src='http://localhost:8080/openbravo/web/org.openbravo.userinterface.smartclient/openbravo/skins/3.00/smartclient/images/DynamicForm/unchecked.png' width='13' height='13' align='TEXTTOP'  eventpart='valueicon' style='vertical-align:middle;margin-left:2px;margin-right:2px;' border='0' suppress='TRUE'/>})
        ListGrid.setFieldProperties(_1=>0, _2=>Obj{title:<img src='http://localhost:8080/openbravo/web/org.openbravo.userinterface.smartclient/openbravo/skins/3.00/smartclient/images/DynamicForm/unchecked.png' width='13' height='13' align='TEXTTOP'  eventpart='valueicon' style='vertical-align:middle;margin-left:2px;margin-right:2px;' border='0' suppress='TRUE'/>})
        Class.invokeSuper(_1=>null, _2=>"setFieldProperties", _3=>undef, _4=>undef, _5=>undef, _6=>undef, _7=>undef, _8=>undef, _9=>undef, _10=>undef)
        Class.Super(_1=>"setFieldProperties", _2=>[object Arguments], _3=>undef)
        OBViewGrid.setFieldProperties(field=>0,  properties=>Obj{title:<img src='http://localhost:8080/openbravo/web/org.openbravo.userinterface.smartclient/openbravo/skins/3.00/smartclient/images/DynamicForm/unchecked.png' width='13' height='13' align='TEXTTOP'  eventpart='valueicon' style='vertical-align:middle;margin-left:2px;margin-right:2px;' border='0' suppress='TRUE'/>})
        ListGrid.$66d(_1=>0, _2=>1)
        dataArrivedObservation(startRow=>0, endRow=>1)
        ResultSet.$522(_1=>0, _2=>1, _3=>false)
        ResultSet.fetchRemoteDataReply(_1=>Obj, _2=>Array[2], _3=>Obj)
        [c]Class.fireCallback(_1=>Obj, _2=>"dsResponse,data,dsRequest", _3=>Array[3], _4=>[OBViewDataSource ID:isc_OBViewDataSource_0], _5=>undef)
        Class.fireCallback(_1=>Obj, _2=>"dsResponse,data,dsRequest", _3=>Array[3], _4=>undef)
        DataSource.fireResponseCallbacks(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj)
        DataSource.$38b(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj, _5=>Obj)
        DataSource.$377(_1=>Obj, _2=>Array[2], _3=>Obj)
        DataSource.$379(rpcResponse=>Obj, jsonText=>"{"response":{"startRow":0,"endRow":1,"to..."[2477], rpcRequest=>Obj)
        ** recursed on [c]Class.fireCallback
    
    21:28:31.311:XRP4:INFO:redraws:isc_ImgButton_7:Scheduling redraw (no reason provided)
        Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
        Canvas.$q9(_1=>undef, _2=>undef)
        Canvas.markForRedraw(_1=>undef)
        StatefulCanvas.setTitle(_1=>"<img src='http://localhost:8080/openbrav..."[307])
        Class.setProperties(Obj{title:<img src='http://localhost:8080/openbravo/web/org.openbravo.userinterface.smartclient/openbravo/skins/3.00/smartclient/images/DynamicForm/unchecked.png' width='13' height='13' align='TEXTTOP'  eventpart='valueicon' style='vertical-align:middle;margin-left:2px;margin-right:2px;' border='0' suppress='TRUE'/>})
        ListGrid.setFieldProperties(_1=>0, _2=>Obj{title:<img src='http://localhost:8080/openbravo/web/org.openbravo.userinterface.smartclient/openbravo/skins/3.00/smartclient/images/DynamicForm/unchecked.png' width='13' height='13' align='TEXTTOP'  eventpart='valueicon' style='vertical-align:middle;margin-left:2px;margin-right:2px;' border='0' suppress='TRUE'/>})
        Class.invokeSuper(_1=>null, _2=>"setFieldProperties", _3=>undef, _4=>undef, _5=>undef, _6=>undef, _7=>undef, _8=>undef, _9=>undef, _10=>undef)
        Class.Super(_1=>"setFieldProperties", _2=>[object Arguments], _3=>undef)
        OBViewGrid.setFieldProperties(field=>0,  properties=>Obj{title:<img src='http://localhost:8080/openbravo/web/org.openbravo.userinterface.smartclient/openbravo/skins/3.00/smartclient/images/DynamicForm/unchecked.png' width='13' height='13' align='TEXTTOP'  eventpart='valueicon' style='vertical-align:middle;margin-left:2px;margin-right:2px;' border='0' suppress='TRUE'/>})
        ListGrid.$66d(_1=>0, _2=>1)
        dataArrivedObservation(startRow=>0, endRow=>1)
        ResultSet.$522(_1=>0, _2=>1, _3=>false)
        ResultSet.fetchRemoteDataReply(_1=>Obj, _2=>Array[2], _3=>Obj)
        [c]Class.fireCallback(_1=>Obj, _2=>"dsResponse,data,dsRequest", _3=>Array[3], _4=>[OBViewDataSource ID:isc_OBViewDataSource_0], _5=>undef)
        Class.fireCallback(_1=>Obj, _2=>"dsResponse,data,dsRequest", _3=>Array[3], _4=>undef)
        DataSource.fireResponseCallbacks(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj)
        DataSource.$38b(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj, _5=>Obj)
        DataSource.$377(_1=>Obj, _2=>Array[2], _3=>Obj)
        DataSource.$379(rpcResponse=>Obj, jsonText=>"{"response":{"startRow":0,"endRow":1,"to..."[2477], rpcRequest=>Obj)
        ** recursed on [c]Class.fireCallback
    
    21:28:31.311:XRP4:WARN:OBViewGrid:isc_OBViewGrid_0:getEditValues() called with no valuesID
    21:28:31.312:XRP4:INFO:redraws:isc__80D2D042BEF245B8B392925954A988AE_0_tab_label:Scheduling redraw (setContents)
        Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
        Canvas.$q9(_1=>"setContents", _2=>undef)
        Canvas.markForRedraw(_1=>"setContents")
        Canvas.setContents(_1=>"SelectorExample")
        StatefulCanvas.setTitle(_1=>"SelectorExample")
        TabSet.setTabTitle(_1=>[OBTabBarButtonMain ID:isc__80D2D042BEF245B8B392925954A988AE_0_tab], _2=>"SelectorExample")
        OBStandardView.updateTabTitle()
        OBStandardView.recordSelected()
        anonymous(Obj, Array[2], Obj)
        [c]Class.fireCallback(_1=>anonymous(), _2=>"dsResponse,data,dsRequest", _3=>Array[3], _4=>[OBViewDataSource ID:isc_OBViewDataSource_0], _5=>undef)
        Class.fireCallback(_1=>anonymous(), _2=>"dsResponse,data,dsRequest", _3=>Array[3], _4=>undef)
        DataSource.fireResponseCallbacks(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj)
        DataSource.$38b(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj, _5=>Obj)
        DataSource.$377(_1=>Obj, _2=>Array[2], _3=>Obj)
        DataSource.$379(rpcResponse=>Obj, jsonText=>"{"response":{"startRow":0,"endRow":1,"to..."[2477], rpcRequest=>Obj)
        ** recursed on [c]Class.fireCallback
    
    21:28:31.312:XRP4:INFO:redraws:isc__80D2D042BEF245B8B392925954A988AE_0_tab:Scheduling redraw (no reason provided)
        Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
        Canvas.$q9(_1=>undef, _2=>undef)
        Canvas.markForRedraw(_1=>undef)
        StatefulCanvas.setTitle(_1=>"SelectorExample")
        TabSet.setTabTitle(_1=>[OBTabBarButtonMain ID:isc__80D2D042BEF245B8B392925954A988AE_0_tab], _2=>"SelectorExample")
        OBStandardView.updateTabTitle()
        OBStandardView.recordSelected()
        anonymous(Obj, Array[2], Obj)
        [c]Class.fireCallback(_1=>anonymous(), _2=>"dsResponse,data,dsRequest", _3=>Array[3], _4=>[OBViewDataSource ID:isc_OBViewDataSource_0], _5=>undef)
        Class.fireCallback(_1=>anonymous(), _2=>"dsResponse,data,dsRequest", _3=>Array[3], _4=>undef)
        DataSource.fireResponseCallbacks(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj)
        DataSource.$38b(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj, _5=>Obj)
        DataSource.$377(_1=>Obj, _2=>Array[2], _3=>Obj)
        DataSource.$379(rpcResponse=>Obj, jsonText=>"{"response":{"startRow":0,"endRow":1,"to..."[2477], rpcRequest=>Obj)
        ** recursed on [c]Class.fireCallback
    
    21:28:31.343:XRP4:WARN:Log:RangeError: Maximum call stack size exceeded

    #2
    Does this happen when a very, very large XML document is being parsed by the client?

    Comment


      #3
      Hmm, I don't think so, I don't use XML, only json. But I am not sure that the small stack trace I posted is the cause, could there be other calls filling the callstack?


      FYI, these are the arguments passed in to the class.fireCallBack (where it fails):

      ["isc.Comm.performXmlTransactionReply(64, xmlHttpRequest)", "xmlHttpRequest",
      Array[1]
      0: XMLHttpRequest
      onabort: null
      onerror: null
      onload: null
      onloadstart: null
      onprogress: null
      onreadystatechange: function (){if(_11.readyState!=4)return;isc.Comm.$h0(_11,_10)}
      readyState: 4
      response: "{"response":{"startRow":0,"endRow":1,"totalRows":2,"data":[{"_identifier":"adasdasdasd","_entityName…"
      responseText: "{"response":{"startRow":0,"endRow":1,"totalRows":2,"data":[{"_identifier":"adasdasdasd","_entityName…"
      responseType: ""
      responseXML: null
      status: 200
      statusText: "OK"
      upload: XMLHttpRequestUpload
      withCredentials: false
      __proto__: XMLHttpRequest
      length: 1
      __proto__: Array[0]
      ,
      DOMWindow
      , true]

      gr. Martin
      Last edited by martintaal; 6 Feb 2011, 12:50.

      Comment


        #4
        Sorry :-(, my mistake, was calling a function recursively... Firebug showed the complete stack trace somehow.

        Thanks for your assistance

        gr. Martin

        Comment

        Working...
        X