New issue
Advanced search Search tips

Issue 729334 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug

Blocking:
issue 82385



Sign in to add a comment

storage/indexeddb/key-type-array.html fails on WebKit Win7 (dbg) when using clang

Project Member Reported by h...@chromium.org, Jun 3 2017

Issue description

For example: https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7%20%28dbg%29/builds/9981

gn args:

Writing """\
goma_dir = "E:\\b\\c\\goma_client"
is_component_build = true
is_debug = true
strip_absolute_paths_from_debug_symbols = true
symbol_level = 1
target_cpu = "x86"
use_goma = true
""" to E:\b\c\b\win_layout\src\out\Debug\args.gn.

+Clang


This reproduces locally for me:

C:\src\chromium\src>ninja -C out\debug blink_tests
C:\src\chromium\src>python third_party\webkit\Tools\Scripts\run-webkit-tests --target debug storage\indexeddb\key-type-array.html
 

Comment 1 by thakis@chromium.org, Jul 31 2017

Cc: h...@chromium.org
 Issue 750447  has been merged into this issue.

Comment 2 by thakis@chromium.org, Jul 31 2017

Landed a suppression on the dupe.

Comment 3 by h...@chromium.org, Jul 31 2017

Owner: h...@chromium.org
Status: Assigned (was: Available)
I can catch it in windbg like this:

windbg out\debug\chrome --single-process file://c:/src/chromium/src/third_party\WebKit\LayoutTests\storage\indexeddb\key-type-array.html


It's a stack overflow

0:039:x86> k n
 # ChildEBP RetAddr  
00 3b2730c4 277fa31b blink_modules!WTF::Vector<v8::Local<v8::Array>, 0, WTF::PartitionAllocator>::push_back<v8::Local<v8::Array> &>+0x1f [C:\src\chromium\src\third_party\WebKit\Source\platform\wtf\Vector.h @ 1669]
01 3b273360 277fa5be blink_modules!blink::CreateIDBKeyFromValue+0x83b [C:\src\chromium\src\third_party\WebKit\Source\bindings\modules\v8\V8BindingForModules.cpp @ 212]
02 3b273608 277fa5be blink_modules!blink::CreateIDBKeyFromValue+0xade [C:\src\chromium\src\third_party\WebKit\Source\bindings\modules\v8\V8BindingForModules.cpp @ 227]
03 3b2738b0 277fa5be blink_modules!blink::CreateIDBKeyFromValue+0xade [C:\src\chromium\src\third_party\WebKit\Source\bindings\modules\v8\V8BindingForModules.cpp @ 227]
04 3b273b58 277fa5be blink_modules!blink::CreateIDBKeyFromValue+0xade [C:\src\chromium\src\third_party\WebKit\Source\bindings\modules\v8\V8BindingForModules.cpp @ 227]
05 3b273e00 277fa5be blink_modules!blink::CreateIDBKeyFromValue+0xade [C:\src\chromium\src\third_party\WebKit\Source\bindings\modules\v8\V8BindingForModules.cpp @ 227]
06 3b2740a8 277fa5be blink_modules!blink::CreateIDBKeyFromValue+0xade [C:\src\chromium\src\third_party\WebKit\Source\bindings\modules\v8\V8BindingForModules.cpp @ 227]
07 3b274350 277fa5be blink_modules!blink::CreateIDBKeyFromValue+0xade [C:\src\chromium\src\third_party\WebKit\Source\bindings\modules\v8\V8BindingForModules.cpp @ 227]
08 3b2745f8 277fa5be blink_modules!blink::CreateIDBKeyFromValue+0xade [C:\src\chromium\src\third_party\WebKit\Source\bindings\modules\v8\V8BindingForModules.cpp @ 227]

Comment 4 by h...@chromium.org, Jul 31 2017

Status: Started (was: Assigned)
Ah, and there's a knob for that: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp?rcl=8532dbc1799380b044b950372e23296259d267e0&l=169

static const size_t kMaximumDepth = 2000;
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 1 2017

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

commit d5886624634aa65d22447d4ba11983a5ece25886
Author: Hans Wennborg <hans@chromium.org>
Date: Tue Aug 01 06:02:28 2017

Reduce max recursion depth in CreateIDBKeyFromValue for debug builds

Clang sometimes generates larger stack frames than MSVC in debug builds,
and this was causing storage/indexeddb/key-type-array.html to
stack overflow on win/clang x86 debug builds.

BUG= 729334 

Change-Id: I1d74f1def40d20b4e59505c7d22f59a4e485dd63
Reviewed-on: https://chromium-review.googlesource.com/594944
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490871}
[modify] https://crrev.com/d5886624634aa65d22447d4ba11983a5ece25886/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/d5886624634aa65d22447d4ba11983a5ece25886/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp

Comment 7 by h...@chromium.org, Aug 1 2017

Status: Fixed (was: Started)

Sign in to add a comment