Opened 4 weeks ago

Last modified 43 hours ago

#2964 reviewing defect

'Mathematical representation' does not work

Reported by: gkronber Owned by: mkommend
Priority: medium Milestone: HeuristicLab 3.3.16
Component: Problems.DataAnalysis.Symbolic.Views Version: trunk
Keywords: Cc:

Description (last modified by gkronber)

We got a bug report on the mailing list that the view for mathematical representation does not work correctly.

Steps to reproduce:

  1. Download HL 3.3.15 from website
  2. Start and open Genetic Programming - Symbolic Regression Sample
  3. Start algorithm and check results
  4. Select "Best training solution" -> Model
  5. Switch View to "Mathematical Representation" using ViewHost
  6. An error dialog occurs (below)

Potentially related to #2841.

Attachments (4)

MathJax error.png (6.2 KB) - added by gkronber 4 weeks ago.
Context Menu - Script Error.png (38.3 KB) - added by mkommend 4 weeks ago.
HL_blocked.png (16.5 KB) - added by gkronber 4 weeks ago.
MathJax_blocked.png (16.5 KB) - added by gkronber 4 weeks ago.

Download all attachments as: .zip

Change History (26)

comment:1 Changed 4 weeks ago by gkronber

  • Description modified (diff)

comment:2 Changed 4 weeks ago by gkronber

Probably, this can be solved by updating MathJax to a recent version.

comment:3 Changed 4 weeks ago by gkronber

  • Status changed from new to accepted

comment:4 Changed 4 weeks ago by gkronber

Systems for which the problem has been reported:

  1. Microsoft Windows 7 Home Premium SP1 and Internet Explorer version 11.0.9600.19180
  2. Microsoft Windows 10 Education and Internet Explorer 11.2248.14393.0
  3. Microsoft Windows 10 Education and Internet Explorer 11.665.16299.0
Last edited 4 weeks ago by gkronber (previous) (diff)

comment:5 Changed 4 weeks ago by gkronber

r16309: updated MathJax version to most recent version (2.7.5).

This solves the problem on my system (Microsoft Windows 10 Education and Internet Explorer 11.2248.14393.0)

Last edited 4 weeks ago by gkronber (previous) (diff)

comment:6 Changed 4 weeks ago by gkronber

  • Owner changed from gkronber to mkommend
  • Status changed from accepted to reviewing

Please check if "mathematical representation" still works on your system.

Changed 4 weeks ago by gkronber

comment:7 Changed 4 weeks ago by gkronber

  • Description modified (diff)

Changed 4 weeks ago by mkommend

comment:8 Changed 4 weeks ago by mkommend

Displaying equation with the new MathJax Version 2.7.5 works on both of my machines (Win10 and Win7). However, something is wrong in the view implementation (see screenshot below), because no context menu entry can be opened.

comment:9 Changed 4 weeks ago by mkommend

  • Owner changed from mkommend to gkronber
  • Status changed from reviewing to assigned

comment:10 Changed 4 weeks ago by gkronber

The original problem persists even after the update of MathJax to version 2.7.5.

The MathJax.zip file is extracted on the first start of HL after downloading. It seems that the automatic extraction does not work correctly (permissions?). When the MathJax.zip file is extracted manually, the view for "mathematical representation" works correctly.

Changed 4 weeks ago by gkronber

Changed 4 weeks ago by gkronber

comment:11 Changed 4 weeks ago by gkronber

Might also have to do with this

or with this

comment:13 Changed 2 weeks ago by mkommend

What about switching from IE to another browser for displaying web pages? For example http://cefsharp.github.io/ that is based on chromium.

This could also get rid of the context menu bug that has been introduced in that ticket. Apparently the detachEvent functionality is not used any more in the new MathJax version. Only in MathMenu.js line 382:

if (this.msieFixedPositionBug) {detachEvent("onresize",MENU.Resize)}

and one other occasion it is used. In the previous version it has been used approx 100 times.

comment:14 Changed 2 weeks ago by gkronber

The cefsharp nuget packages (with all dependencies) amount to over 400 MB. I think we should consider other options.

comment:16 Changed 13 days ago by gkronber

It seems it's possible to programmatically unblock a file

https://weblogs.asp.net/dixin/understanding-the-internet-file-blocking-and-unblocking

comment:17 Changed 13 days ago by gkronber

Did some more research:

  • Does not work: Download HL -> Unzip -> Run HeuristicLab 3.3.exe
  • Works: Download HL -> Unblock HeuristicLab.Zip -> Unzip -> Run HeuristicLab 3.3.exe
  • Does not work: Download HL -> Unzip -> Unblock MathJax.zip -> Run HeuristicLab 3.3.exe
  • Does not work: Download HL -> Unzip -> Unblock HeuristicLab 3.3.exe -> Run HeuristicLab 3.3.exe
  • Works: Download HL -> Unzip -> Unblock displayModelFrame.html -> Run HeuristicLab 3.3.exe

comment:18 Changed 13 days ago by gkronber

r16341: programmatically unblock (remove Zone.Identifier alternative stream) displayModelFrame.html to allow WebBrowser control to execute MathJax scripts.

comment:19 Changed 13 days ago by gkronber

r16342: added LaTeX expression for testing MathJax output

comment:20 Changed 13 days ago by gkronber

r16343: edited MathMenu.js in MathJax.zip and commented out code which caused problems:

      // if (MENU.msieFixedPositionBug) {
      //   //  MSIE can't do fixed position, so use a full-sized background
      //   //  and an onresize handler to update it (stupid, but necessary)
      //   div.width = div.height = 0; this.Resize();
      //   attachEvent("onresize",this.Resize);
      // } else {
        // otherwise, use a fixed position DIV to cover the viewport
        bg.style.position = "fixed";
      // }

...

 /* if (this.msieFixedPositionBug) {detachEvent("onresize",MENU.Resize)} */

comment:21 Changed 13 days ago by gkronber

  • Owner changed from gkronber to mkommend
  • Status changed from assigned to reviewing

comment:22 Changed 43 hours ago by jkarder

  • Version changed from 3.3.15 to trunk
Note: See TracTickets for help on using tickets.