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

Issue 797867 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

ModuleTreeLinker DCHECK failure on loading same module with different specifiers

Project Member Reported by kouhei@chromium.org, Dec 28 2017

Issue description

Comment 1 by kouhei@chromium.org, Dec 28 2017

Cc: hirosh...@chromium.org ramboj...@gmail.com
repro case: https://repro-vzccuznfoz.now.sh
Cc: kouhei@chromium.org
Owner: hirosh...@chromium.org
Status: Started (was: Available)
Labels: M-63
Draft CL: https://chromium-review.googlesource.com/c/chromium/src/+/847296
(commit message to be updated)
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 4 2018

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

commit 854561be02be15f3a075d0ef4a755c0953db21bd
Author: Hiroshige Hayashizaki <hiroshige@chromium.org>
Date: Thu Jan 04 23:22:22 2018

[ES6 Modules] Fix importing a module with different specifiers

ModuleRequestsFromScriptModule() can contain the same URL
multiple times if a module is imported multiple times
with different specifiers.

Previously, InitiateInternalModuleScriptGraphFetching() was
invoked multiple times for the same URL, and thus caused
DCHECK() to fail or module loading to never finish.

This CL adds the URL of imported modules to |visited_set_|
while iterating ModuleRequestsFromScriptModule(), not in
InitiateInternalModuleScriptGraphFetching(), to avoid the duplicated
InitiateInternalModuleScriptGraphFetching() calls.
This is also what is done in the spec.

Bug:  797867 
Change-Id: I583033ac3f168b5b50bdf6d49ae9563b5eda36ea
Reviewed-on: https://chromium-review.googlesource.com/847296
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527141}
[add] https://crrev.com/854561be02be15f3a075d0ef4a755c0953db21bd/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/duplicated-imports-1.html
[add] https://crrev.com/854561be02be15f3a075d0ef4a755c0953db21bd/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/duplicated-imports-2.html
[add] https://crrev.com/854561be02be15f3a075d0ef4a755c0953db21bd/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/export-default.js
[modify] https://crrev.com/854561be02be15f3a075d0ef4a755c0953db21bd/third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinker.cpp

Status: Fixed (was: Started)

Sign in to add a comment