New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 732765 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: 1
NextAction: ----
OS: All
Pri: 1
Type: Bug



Sign in to add a comment

Page with script type="module" crashes tab

Project Member Reported by sgomes@google.com, Jun 13 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.24 Safari/537.36

Steps to reproduce the problem:
1. Enable #enable-javascript-harmony
2. Enable #enable-experimental-web-platform-features
3. Load https://importtests-d1bd8.firebaseapp.com/

What is the expected behavior?
Page loads and outputs string of the type "Today is Monday." to console.

What went wrong?
Tab crashes in latest Canary build. In previous builds, it produced the following error:

Uncaught TypeError: Failed to execute 'resolveModuleCallback' on 'ScriptModule': Failed to load module script for module specifier '../utils/is-array.js'

Did this work before? No 

Chrome version: 61.0.3129.0 (Official Build) canary (64-bit)  Channel: canary
OS Version: OS X 10.12.5
Flash Version: 

This page is meant as a stress test for native ECMAScript module loading. It loads a modified version of the moment.js library and attempts to print the current day to the console.
 

Comment 1 by kouhei@chromium.org, Jun 13 2017

Owner: kouhei@chromium.org
Status: Started (was: Unconfirmed)
Crash is due to various invariant in ModuleTreeLinker failing after 
https://chromium-review.googlesource.com/c/528724/

Comment 2 by kouhei@chromium.org, Jun 13 2017

Components: -Blink Blink>HTML>Script
EstimatedDays: 1
Labels: -Pri-2 -OS-Mac -Via-Wizard-Javascript OS-All Pri-1

Comment 3 by sgomes@google.com, Jun 13 2017

Here is another test case, in case it helps: https://importteststhree.firebaseapp.com

This one imports a modified three.js and renders a spinning wireframe.

Comment 4 by kouhei@chromium.org, Jun 14 2017

https://chromium-review.googlesource.com/c/535257/ should fix the crash, but not the import failure.

Looks like this is hitting the edge case as demonstrated in:
https://chromium-review.googlesource.com/c/535413/

which I expect to be addressed in 
https://github.com/whatwg/html/pull/2674
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9b2b6a840fc7c88f5c46b5a32d8d844d778f35e4

commit 9b2b6a840fc7c88f5c46b5a32d8d844d778f35e4
Author: Kouhei Ueno <kouhei@chromium.org>
Date: Wed Jun 14 09:58:37 2017

[ES6 modules] Fix obsolete assertions and add missing bailout to FetchDescendants

This CL :
1. Removes oesolete assertions after
crrev.com/e123c9108586cd8386edf8df90af739ce84ae3a4

2. Adds missing !HasValidContext bailout in FetchDescendants

Bug:  732765 ,  594639 
Change-Id: I806be731f528a1e8c1a2a9ac7f882dfaaf98e2ba
Reviewed-on: https://chromium-review.googlesource.com/535257
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479341}
[add] https://crrev.com/9b2b6a840fc7c88f5c46b5a32d8d844d778f35e4/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html
[modify] https://crrev.com/9b2b6a840fc7c88f5c46b5a32d8d844d778f35e4/third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinker.cpp

Comment 6 by kouhei@chromium.org, Jun 14 2017

Issue 732772 has been merged into this issue.

Comment 7 by kouhei@chromium.org, Jun 14 2017

Status: Fixed (was: Started)
crash is fixed

Comment 8 by sgomes@google.com, Jun 26 2017

Thanks for the crash fix, Kouhei!

I assume a full fix for the import failure will only come with https://github.com/whatwg/html/pull/2674 ?

Should I file a different crbug for that?

Comment 9 by kouhei@chromium.org, Jun 26 2017

 crbug.com/727299  tracks the PR

Sign in to add a comment