ICEfaces
  1. ICEfaces
  2. ICE-9345

CLONE - ace:chart - 'Invalid Argument' JS in IE7

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.3
    • Fix Version/s: EE-3.3.0.GA, 4.0.BETA, 4.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      EE 3.3 Build 10, IE7, ICEfaces Showcase Chart Overview,
    • Assignee Priority:
      P1
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial, Compatibility/Configuration
    • Workaround Description:
      Give fixed dimensions to every ace:chart that might be rendered on IE7 / IE8

      Description

      "Invalid Argument" JS errors appear when running the showcase ace:chart demos on IE7 for the following demos (other chart demos are working correctly in IE7):

      - Overview
      - Bar
      - Bubble
      - Gauge
      - Line
      - Combined
      - Dynamic

        Activity

        Nils Lundquist created issue -
        Ken Fyten made changes -
        Field Original Value New Value
        Link This issue blocks ICE-8865 [ ICE-8865 ]
        Ken Fyten made changes -
        Link This issue is duplicated by ICE-8832 [ ICE-8832 ]
        Ken Fyten made changes -
        Summary CLONE - ace:chart - 'Invalid Argument' JS err when loaded via partial request in IE7 & 8 CLONE - ace:chart - 'Invalid Argument' JS in IE7
        Fix Version/s EE-3.3.0.GA [ 10572 ]
        Fix Version/s 3.4 [ 10770 ]
        Fix Version/s EE-3.2.0.GA [ 10332 ]
        Fix Version/s 3.3 [ 10370 ]
        Affects Version/s 3.3 [ 10370 ]
        Affects Version/s 3.2 [ 10338 ]
        Environment IF 3.2 EE 3.3 Build 10, IE7, ICEfaces Showcase Chart Overview,
        Description
        Our current understanding is that when an ace:chart is rendered onto the page with a partial request, and followed by a sibling element in its parent form, in IE 7 & 8, an Invalid Argument javascript exception is thrown from a nonsense location (at least according to the IE debug tools).

        This is capturing the vague issue responsible for ICE-8670
        "Invalid Argument" JS errors appear when running the showcase ace:chart demos on IE7 for the following demos (other chart demos are working correctly in IE7):

        - Overview
        - Bar
        - Bubble
        - Gauge
        - Line
        - Combined
        - Dynamic
        Affects Documentation (User Guide, Ref. Guide, etc.),Compatibility/Configuration,Sample App./Tutorial [ 10003, 10002, 10001 ] Sample App./Tutorial [ 10001 ]
        Hide
        Ken Fyten added a comment -

        Seems similar to the older ICE-8703 issue but also happens on the Overview page, which is navigated to directly?

        Show
        Ken Fyten added a comment - Seems similar to the older ICE-8703 issue but also happens on the Overview page, which is navigated to directly?
        Hide
        Nils Lundquist added a comment -

        If this is not occurring on IE8 also it is not related to the compatibility library required for ace:chart. This would mean that this is some new IE7 specific failure.

        Show
        Nils Lundquist added a comment - If this is not occurring on IE8 also it is not related to the compatibility library required for ace:chart. This would mean that this is some new IE7 specific failure.
        Hide
        Nils Lundquist added a comment -

        This issue is distinct from ICE-8703 because it cannot be reproduced in IE8.

        Show
        Nils Lundquist added a comment - This issue is distinct from ICE-8703 because it cannot be reproduced in IE8.
        Hide
        Nils Lundquist added a comment - - edited

        Rarely does this issue causes an 'invalid argument', more often it causes the following error:

        SCRIPT5007: Unable to get value of the property 'initElement': object is null or undefined
        ace-chart.uncompressed.js.jsf?ln=icefaces.ace&v=3_4_0_130617, line 297 character 17
        Could not complete the operation due to error 80020101.

        Attempting to catch execution with a breakpoint on that line always causes IE to crash.

        Show
        Nils Lundquist added a comment - - edited Rarely does this issue causes an 'invalid argument', more often it causes the following error: SCRIPT5007: Unable to get value of the property 'initElement': object is null or undefined ace-chart.uncompressed.js.jsf?ln=icefaces.ace&v=3_4_0_130617, line 297 character 17 Could not complete the operation due to error 80020101. Attempting to catch execution with a breakpoint on that line always causes IE to crash.
        Hide
        Nils Lundquist added a comment - - edited

        The code at that line is:
        this.initCanvas = function(canvas) {
        if ($.jqplot.use_excanvas)

        { return window.G_vmlCanvasManager.initElement(canvas); }

        return canvas;
        };

        The excanvas compat library is failing initialization / parsing on IE7 only.

        Show
        Nils Lundquist added a comment - - edited The code at that line is: this.initCanvas = function(canvas) { if ($.jqplot.use_excanvas) { return window.G_vmlCanvasManager.initElement(canvas); } return canvas; }; The excanvas compat library is failing initialization / parsing on IE7 only.
        Hide
        Nils Lundquist added a comment -

        This is resulting from a somewhat-known timing issue in IE7:
        http://stackoverflow.com/questions/6589307/ie7-excanvas-document-ready-and-ie7-creates-problem

        The only suggestion to workaround it I've found is that all chart initializations must occur at body onLoad - of course, that is impossible for an ICEfaces application as onLoad is only called when a GET request is completed.

        There may very well not be any solution to this.

        Show
        Nils Lundquist added a comment - This is resulting from a somewhat-known timing issue in IE7: http://stackoverflow.com/questions/6589307/ie7-excanvas-document-ready-and-ie7-creates-problem The only suggestion to workaround it I've found is that all chart initializations must occur at body onLoad - of course, that is impossible for an ICEfaces application as onLoad is only called when a GET request is completed. There may very well not be any solution to this.
        Ken Fyten made changes -
        Affects Sample App./Tutorial [ 10001 ] Documentation (User Guide, Ref. Guide, etc.),Sample App./Tutorial,Compatibility/Configuration [ 10003, 10001, 10002 ]
        Hide
        Ken Fyten added a comment -

        Due to the complex nature of the issue (doesn't occur all the time, depends on unknown combination of factors in the application), and the fact that there is no reliable solution that could readily be applied to the ICEfaces use-cases, marking this as Won't Fix and considering this a Known Issue for the ace:chart component when running in IE7.

        Show
        Ken Fyten added a comment - Due to the complex nature of the issue (doesn't occur all the time, depends on unknown combination of factors in the application), and the fact that there is no reliable solution that could readily be applied to the ICEfaces use-cases, marking this as Won't Fix and considering this a Known Issue for the ace:chart component when running in IE7.
        Ken Fyten made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Won't Fix [ 2 ]
        Hide
        Nils Lundquist added a comment -

        Removing the style classes from the ace:panel content div resolves this issue. Why this is the case is undetermined.

        Show
        Nils Lundquist added a comment - Removing the style classes from the ace:panel content div resolves this issue. Why this is the case is undetermined.
        Hide
        Nils Lundquist added a comment -

        Revision #36285
        Committed by nils.lundquist
        Moments ago
        ICE-9345 - Removed ace:panel from content-template.xhtml to fix ace:chart on IE7

        Show
        Nils Lundquist added a comment - Revision #36285 Committed by nils.lundquist Moments ago ICE-9345 - Removed ace:panel from content-template.xhtml to fix ace:chart on IE7
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #36285 Tue Jun 18 15:41:46 MDT 2013 nils.lundquist ICE-9345 - Removed ace:panel from content-template.xhtml to fix ace:chart on IE7
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/webapp/resources/templates/content-template.xhtml
        Hide
        Liana Munroe added a comment -

        chart - Dynamic Chart IE-7
        When clicking on a cell or row in the table the Letter Axis for the chart bottom does not render entirely. (screen)

        Show
        Liana Munroe added a comment - chart - Dynamic Chart IE-7 When clicking on a cell or row in the table the Letter Axis for the chart bottom does not render entirely. (screen)
        Liana Munroe made changes -
        Resolution Won't Fix [ 2 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Liana Munroe made changes -
        Attachment DynamicChartNotDisplayOnClick.PNG [ 16083 ]
        Hide
        Ken Fyten added a comment -

        Last issue has been spun off into a separate JIRA: ICE-9375

        Show
        Ken Fyten added a comment - Last issue has been spun off into a separate JIRA: ICE-9375
        Ken Fyten made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 4.0 [ 11382 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Nils Lundquist
            Reporter:
            Nils Lundquist
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: