Announcement

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

    Recursion problem involving method SmartGWT.convertToJavaObject()

    SmartClient Version: v8.2p_2012-05-04/LGPL Development Only (built 2012-05-04)
    IE Version: 9.0.8112.16421

    Hello!

    I have a problem in my SmartGWT application that occurs only when the run it outside the development environment. I made the same test in IE, Chrome and Firefox, the problem occurs in all of them, the only difference is the message displayed. Follow the message displayed in IE:

    (Error): Out of stack space description: Out of stack space number: -2146828260

    Analyzing the problem with Firebug, I noticed that the problem is related with recursion:

    (InternalError): too much recursion stack: com_google_gwt_lang_Array_initValues__Ljava_lang_Class_2Lcom_google_gwt_core_client_JavaScriptObject_2ILcom_google_gwt_lang_Array_2Lcom_google_gwt_lang_Array_2@http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:14472 com_google_gwt_lang_Array_initDim__Ljava_lang_Class_2Lcom_google_gwt_core_client_JavaScriptObject_2IIILcom_google_gwt_lang_Array_2@http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:14447 java_util_ArrayList_ArrayList__V@http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:18193 @http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:19586 @http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:19603 @http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:19603 @http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:19603 @http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:19603 @http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:19603 @http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:19603 @http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:19603 @http://contax1.local:6060/irv/contax_irv/626DEA77E06F3705349ADF890D4F93D3.cache.html:19603
    (...)

    So I decided to check this HTML file and I found the method SmartGWT.convertToJavaObject, declared in the SmartGwtEntryPoint Java class.

    Does anyone knows what can cause this problem? I try to use the Developer Console, but I think the log doesn't help too much (look for "error"):

    18:39:51.135:MDN6:INFO:EventHandler:Target Canvas for event 'mousedown': [ToolStripButton ID:isc_ToolStripButton_5]
    18:39:51.165:MDN6:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[ToolStripButton ID:isc_ToolStripButton_5]' has handler: Canvas.prepareForDragging()
    18:39:51.170:MDN6:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[ToolStrip ID:isc_ToolStrip_2]' has handler: Canvas.prepareForDragging()
    18:39:51.175:MDN6:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[VLayout ID:isc_VLayout_0]' has handler: Canvas.prepareForDragging()
    18:39:51.180:MDN6:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[Canvas ID:isc_UsuarioCrudForm_0]' has handler: Canvas.prepareForDragging()
    18:39:51.184:MDN6:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[PaneContainer ID:isc_Layout_0]' has handler: Canvas.prepareForDragging()
    18:39:51.190:MDN6:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[TabSet ID:isc_TabSetPrincipal_0]' has handler: Canvas.prepareForDragging()
    18:39:51.194:MDN6:DEBUG:EventHandler:Bubbling event 'prepareForDragging', target '[VLayout ID:isc_TelaPrincipal_0]' has handler: Canvas.prepareForDragging()
    18:39:51.199:MDN6:DEBUG:EventHandler:Event 'prepareForDragging' bubbled to top
    18:39:51.203:MDN6:DEBUG:dragDrop:No dragTarget, not dragging
    18:39:51.208:MDN6:DEBUG:visualState:isc_ToolStripButton_5:state changed to: stretchImgButtonDown
    18:39:51.215:MDN6:INFO:ToolStripButton:isc_ToolStripButton_5:call to deprecated setClassName() property - use setStyleName() instead
    18:39:51.220:MDN6:INFO:sizing:isc_ToolStripButton_5:Specified size: 1x22, drawn scroll size: 65x22, border: 0x0, margin: 0x0, old size: 65x22, reason: setStyleName
    18:39:51.224:MDN6:DEBUG:sizing:isc_ToolStripButton_5:handle sizes: {scrollLeft: 0,
    scrollTop: 0,
    scrollWidth: 65,
    scrollHeight: 22,
    clientWidth: undef,
    clientHeight: undef,
    offsetWidth: 65,
    offsetHeight: 22,
    styleLeft: "156px",
    styleTop: "3px",
    styleWidth: "65px",
    styleHeight: "22px",
    styleClip: ""}
    18:39:51.230:MDN6:INFO:sizing:isc_ToolStripButton_5_label:Specified size: 1x22, drawn scroll size: 53x22, border: 0x0, margin: 0x0, old size: 53x22, reason: undefined
    18:39:51.234:MDN6:DEBUG:sizing:isc_ToolStripButton_5_label:handle sizes: {scrollLeft: 0,
    scrollTop: 0,
    scrollWidth: 53,
    scrollHeight: 22,
    clientWidth: undef,
    clientHeight: undef,
    offsetWidth: 53,
    offsetHeight: 22,
    styleLeft: "162px",
    styleTop: "3px",
    styleWidth: "53px",
    styleHeight: "22px",
    styleClip: ""}
    18:39:51.239:MDN6:DEBUG:listPolicy:stretchResize for isc_ToolStripButton_5 with totalSize: 65, desired sizes: capSize,*,capSize, calculated sizes: 3,59,3
    18:39:51.244:MDN6:INFO:sizing:isc_ToolStripButton_5:Specified size: 1x22, drawn scroll size: 65x22, border: 0x0, margin: 0x0, old size: 65x22, reason: Label

    overflowed.
    18:39:51.249:MDN6:DEBUG:sizing:isc_ToolStripButton_5:handle sizes: {scrollLeft: 0,
    scrollTop: 0,
    scrollWidth: 65,
    scrollHeight: 22,
    clientWidth: undef,
    clientHeight: undef,
    offsetWidth: 65,
    offsetHeight: 22,
    styleLeft: "156px",
    styleTop: "3px",
    styleWidth: "65px",
    styleHeight: "22px",
    styleClip: ""}
    18:39:51.254:MDN6:DEBUG:EventHandler:Event 'mouseDown' bubbled to top
    18:39:51.259:MDN6:INFO:nativeFocus:isc_ToolStripButton_5:about to call native focus()
    Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
    Canvas.setFocus(_1=>true, _2=>undef)
    Canvas.focus(_1=>undef)
    [c]EventHandler.doHandleMouseDown(_1=>[object MSEventObj], _2=>undef)
    doHandleMouseDownObservation(_1=>[object MSEventObj], _2=>undef)
    [c]EventHandler.handleMouseDown(_1=>[object MSEventObj], _2=>undef)
    [c]EventHandler.dispatch(_1=>[c]EventHandler.handleMouseDown(), _2=>[object MouseEvent])
    anonymous(event=>[object MouseEvent])
    "if (!isc.Browser.isIE && event == null) return;var returnVal=arguments.callee.$ch.isc.EH.dispatch(arguments.callee.$j2,event);return returnVal;"

    18:39:51.267:MDN6:DEBUG:EventHandler:Event 'mouseStillDown' bubbled to top
    18:39:51.276:FCS7:DEBUG:nativeFocus:onfocus fired on: [ToolStripButton ID:isc_ToolStripButton_5], activeElement: DIV
    18:39:51.588:MUP9:INFO:EventHandler:Target Canvas for event 'mouseup': [ToolStripButton ID:isc_ToolStripButton_5]
    18:39:51.622:MUP9:DEBUG:visualState:isc_ToolStripButton_5:state changed to: stretchImgButtonOver
    18:39:51.628:MUP9:INFO:ToolStripButton:isc_ToolStripButton_5:call to deprecated setClassName() property - use setStyleName() instead
    18:39:51.633:MUP9:INFO:sizing:isc_ToolStripButton_5:Specified size: 1x22, drawn scroll size: 65x22, border: 0x0, margin: 0x0, old size: 65x22, reason: setStyleName
    18:39:51.637:MUP9:DEBUG:sizing:isc_ToolStripButton_5:handle sizes: {scrollLeft: 0,
    scrollTop: 0,
    scrollWidth: 65,
    scrollHeight: 22,
    clientWidth: undef,
    clientHeight: undef,
    offsetWidth: 65,
    offsetHeight: 22,
    styleLeft: "156px",
    styleTop: "3px",
    styleWidth: "65px",
    styleHeight: "22px",
    styleClip: ""}
    18:39:51.643:MUP9:INFO:sizing:isc_ToolStripButton_5_label:Specified size: 1x22, drawn scroll size: 53x22, border: 0x0, margin: 0x0, old size: 53x22, reason: undefined
    18:39:51.648:MUP9:DEBUG:sizing:isc_ToolStripButton_5_label:handle sizes: {scrollLeft: 0,
    scrollTop: 0,
    scrollWidth: 53,
    scrollHeight: 22,
    clientWidth: undef,
    clientHeight: undef,
    offsetWidth: 53,
    offsetHeight: 22,
    styleLeft: "162px",
    styleTop: "3px",
    styleWidth: "53px",
    styleHeight: "22px",
    styleClip: ""}
    18:39:51.652:MUP9:DEBUG:listPolicy:stretchResize for isc_ToolStripButton_5 with totalSize: 65, desired sizes: capSize,*,capSize, calculated sizes: 3,59,3
    18:39:51.657:MUP9:INFO:sizing:isc_ToolStripButton_5:Specified size: 1x22, drawn scroll size: 65x22, border: 0x0, margin: 0x0, old size: 65x22, reason: Label

    overflowed.
    18:39:51.662:MUP9:DEBUG:sizing:isc_ToolStripButton_5:handle sizes: {scrollLeft: 0,
    scrollTop: 0,
    scrollWidth: 65,
    scrollHeight: 22,
    clientWidth: undef,
    clientHeight: undef,
    offsetWidth: 65,
    offsetHeight: 22,
    styleLeft: "156px",
    styleTop: "3px",
    styleWidth: "65px",
    styleHeight: "22px",
    styleClip: ""}
    18:39:51.667:MUP9:DEBUG:EventHandler:Event 'mouseUp' bubbled to top
    18:39:51.673:MUP9:INFO:RPCManager:sendQueue called with no current queue, ignoring
    18:39:52.163:MUP9:DEBUG:BackMask:isc_BackMask_2:setRect: {left: 6,
    top: 2,
    width: 349,
    height: 53}
    18:39:52.173:MUP9:INFO:layout:isc_globalWarn:adding newMembers: [HLayout ID:isc_globalWarn_header]
    18:39:52.179:MUP9:DEBUG:layout:isc_globalWarn:resizing [HLayout ID:isc_globalWarn_header]: 349w
    18:39:52.189:MUP9:DEBUG:Page:setEvent(resize): action => [Label ID:isc_globalWarn_headerLabel]
    18:39:52.195:MUP9:INFO:layout:isc_globalWarn_header:adding newMembers: [Canvas ID:isc_Canvas_0]
    18:39:52.201:MUP9:DEBUG:layout:isc_globalWarn_header:resizing [Canvas ID:isc_Canvas_0]: 20h
    18:39:52.205:MUP9:DEBUG:Label:isc_globalWarn_headerLabel:setRect: {left: null,
    top: null,
    width: null,
    height: "100%"}
    18:39:52.214:MUP9:INFO:layout:isc_globalWarn_header:adding newMembers: [ImgButton ID:isc_globalWarn_closeButton]
    18:39:52.224:MUP9:INFO:layout:isc_globalWarn:adding newMembers: [Layout ID:isc_globalWarn_body]
    18:39:52.230:MUP9:DEBUG:layout:isc_globalWarn:resizing [Layout ID:isc_globalWarn_body]: 349w
    18:39:52.239:MUP9:INFO:layout:isc_globalWarn_body:adding newMembers: [HStack ID:isc_globalWarn_messageStack]
    18:39:52.244:MUP9:DEBUG:layout:isc_globalWarn_body:resizing [HStack ID:isc_globalWarn_messageStack]: 319w
    18:39:52.267:MUP9:INFO:layout:isc_globalWarn_messageStack:adding newMembers: [Img ID:isc_globalWarn_messageIcon]
    18:39:52.279:MUP9:DEBUG:Page:setEvent(resize): action => [Label ID:isc_globalWarn_messageLabel]
    18:39:52.286:MUP9:INFO:layout:isc_globalWarn_messageStack:adding newMembers: [Label ID:isc_globalWarn_messageLabel]
    18:39:52.292:MUP9:DEBUG:layout:isc_globalWarn_messageStack:resizing [Label ID:isc_globalWarn_messageLabel]: 1h
    18:39:52.365:MUP9:INFO:layout:isc_globalWarn_body:adding newMembers: [Toolbar ID:isc_globalWarn_toolbar]
    18:39:52.373:MUP9:INFO:clickMask:showing click mask, action: isc_globalWarn.flash(), autoHide false , ID: isc_globalWarn, focusCanvas: [ToolStripButton

    ID:isc_ToolStripButton_5]
    18:39:52.385:MUP9:DEBUG:visualState:isc_ToolStripButton_5:state changed to: stretchImgButton
    18:39:52.419:MUP9:INFO:ToolStripButton:isc_ToolStripButton_5:call to deprecated setClassName() property - use setStyleName() instead
    18:39:52.427:MUP9:INFO:sizing:isc_ToolStripButton_5:Specified size: 1x22, drawn scroll size: 65x22, border: 0x0, margin: 0x0, old size: 65x22, reason: setStyleName
    18:39:52.438:MUP9:DEBUG:sizing:isc_ToolStripButton_5:handle sizes: {scrollLeft: 0,
    scrollTop: 0,
    scrollWidth: 65,
    scrollHeight: 22,
    clientWidth: undef,
    clientHeight: undef,
    offsetWidth: 65,
    offsetHeight: 22,
    styleLeft: "156px",
    styleTop: "3px",
    styleWidth: "65px",
    styleHeight: "22px",
    styleClip: ""}
    18:39:52.447:MUP9:INFO:sizing:isc_ToolStripButton_5_label:Specified size: 1x22, drawn scroll size: 53x22, border: 0x0, margin: 0x0, old size: 53x22, reason: undefined
    18:39:52.453:MUP9:DEBUG:sizing:isc_ToolStripButton_5_label:handle sizes: {scrollLeft: 0,
    scrollTop: 0,
    scrollWidth: 53,
    scrollHeight: 22,
    clientWidth: undef,
    clientHeight: undef,
    offsetWidth: 53,
    offsetHeight: 22,
    styleLeft: "162px",
    styleTop: "3px",
    styleWidth: "53px",
    styleHeight: "22px",
    styleClip: ""}
    18:39:52.458:MUP9:DEBUG:listPolicy:stretchResize for isc_ToolStripButton_5 with totalSize: 65, desired sizes: capSize,*,capSize, calculated sizes: 3,59,3
    18:39:52.463:MUP9:INFO:sizing:isc_ToolStripButton_5:Specified size: 1x22, drawn scroll size: 65x22, border: 0x0, margin: 0x0, old size: 65x22, reason: Label

    overflowed.
    18:39:52.469:MUP9:DEBUG:sizing:isc_ToolStripButton_5:handle sizes: {scrollLeft: 0,
    scrollTop: 0,
    scrollWidth: 65,
    scrollHeight: 22,
    clientWidth: undef,
    clientHeight: undef,
    offsetWidth: 65,
    offsetHeight: 22,
    styleLeft: "156px",
    styleTop: "3px",
    styleWidth: "65px",
    styleHeight: "22px",
    styleClip: ""}
    18:39:52.479:MUP9:INFO:nativeFocus:isc_ToolStripButton_5:about to call native blur()
    Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
    Canvas.setFocus(_1=>false, _2=>"showing clickMask")
    Canvas.blur(_1=>"showing clickMask")
    [c]EventHandler.showClickMask(_1=>"isc_globalWarn.flash()", _2=>false, _3=>Array[12], _4=>"isc_globalWarn")
    Canvas.showClickMask(_1=>"isc_globalWarn.flash()", _2=>false, _3=>Array[12])
    Window.show(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
    [a]Dialog.showMessage(_1=>"(Error): Out of stack space\n description..."[81], _2=>Obj{title:Aviso})
    anonymous(_1=>"(Error): Out of stack space\n description..."[81], _2=>"warn", _3=>[a]Dialog.callback(), _4=>undef)
    anonymous(_1=>"(Error): Out of stack space\n description..."[81], _2=>[a]Dialog.callback(), _3=>undef)
    x0b(c=>"(Error): Out of stack space\n description..."[81], d=>null)
    Al(a=>com.google.gwt.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses)
    CB(b=>anonymous(), c=>[ToolStripButton ID:isc_ToolStripButton_5], d=>[object Arguments])
    [o]ToolStripButton.click(Obj, undef)
    StatefulCanvas.handleActivate(_1=>Obj, _2=>undef)
    StatefulCanvas.handleClick(_1=>Obj, _2=>undef)
    [c]EventHandler.bubbleEvent(_1=>[ToolStripButton ID:isc_ToolStripButton_5], _2=>"click", _3=>undef, _4=>undef)
    [c]EventHandler.handleClick(_1=>[ToolStripButton ID:isc_ToolStripButton_5], _2=>undef)
    [c]EventHandler.$k5(_1=>[object MSEventObj], _2=>undef)
    [c]EventHandler.handleMouseUp(_1=>[object MSEventObj], _2=>undef)
    [c]EventHandler.dispatch(_1=>[c]EventHandler.handleMouseUp(), _2=>[object MouseEvent])
    anonymous(event=>[object MouseEvent])
    "if (!isc.Browser.isIE && event == null) return;var returnVal=arguments.callee.$ch.isc.EH.dispatch(arguments.callee.$j2,event);return returnVal;"

    #2
    This looks like a runaway loop happening inside of the code generated by the GWT compiler. You might try upgrading or downgrading your GWT version to fix it.

    If that doesn't help, capturing a larger stack trace so we can see where SmartGWT code is involved might help.

    Comment


      #3
      I'm using the last GWT stable version (2.4.0). I just did a test with the 2.2.0 version now and I got the same problem.

      I included a file with the error log (error_log.txt), I hope it will help to understand. If the file does not help, which other information can I send?
      Attached Files

      Comment


        #4
        Sorry, this is not useful information, what you need to do is capture the rest of the stack at the time of the crash.

        Comment


          #5
          Originally posted by Isomorphic View Post
          Sorry, this is not useful information, what you need to do is capture the rest of the stack at the time of the crash.
          I sent the entire stack trace generated by the Developer Console at the debug level. Do you have any ideia about why the information about this error was not shown at the stack trace? I read about how to use Developer Console at the FAQ and I believe I used it correctly.

          Comment


            #6
            The log file you posted has unrelated stack traces. However you obtained the partial stack trace of an actual infinite loop, return to that tool. It was probably Firebug, or IE or Chrome's built-in tools (launched via F12).
            Last edited by Isomorphic; 10 Oct 2012, 06:34.

            Comment

            Working...
            X