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

Issue 896093 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 25
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Crash when trying to pause a probably-running WASM app

Project Member Reported by kainino@chromium.org, Oct 17

Issue description

Chrome Version: 88e454276c5e
OS: Linux

I'm reliably seeing this crash while trying to debug WASM multithreaded Unreal Engine. Unfortunately I can't give you a repro case because (1) it's a big build and (2) can't actually get far enough to reproduce without my local workaround for  issue 806250 .

Anyway, I'm getting to a point where the main thread has hanged (I suspect, but don't know, this is because the UE WASM code is inside a non-yielding loop). If I click pause in devtools, it causes the renderer to crash. I got this stack on a Release ASAN build and symbolized it.

Hopefully you can locate the problem with this, but if not I can attempt to give you a repro case.
 
better formatted stack trace:
devtools-wasm-debug-v8-crash-stack.txt
15.1 KB View Download
This turns out to be extremely easy to reproduce.
71.0.3578.10 (Official Build) dev (64-bit)

1. Unzip attached repro case
2. Run http server in repro case
3. Open dev tools
4. Navigate to http://localhost:8xxx/spin.html (this runs a spin loop)
5. Click "Pause script execution" button in dev tools Sources panel
6. Observe crash.

crash/f2af00ced0c8e3ac

For a JS spin loop, open jsspin.html and observe that clicking "pause" works fine.
Owner: kozy@chromium.org
Status: Assigned (was: Untriaged)
Here we should check for is_javascript():
https://cs.chromium.org/chromium/src/v8/src/debug/debug.cc?rcl=d206a4b910f4138c15e04cf77544175ef7ffbe26&l=1823
Cc: kozy@chromium.org
Owner: kainino@chromium.org
Status: Started (was: Assigned)
Had to work around this for what I'm working on anyway, so here's a CL.
https://chromium-review.googlesource.com/c/v8/v8/+/1295552
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 25

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/87ba4e5a129915f932cb76be5da4fed0f54a4fea

commit 87ba4e5a129915f932cb76be5da4fed0f54a4fea
Author: Kai Ninomiya <kainino@chromium.org>
Date: Thu Oct 25 07:16:45 2018

[wasm] fix crash using devtools pause button in wasm

Check for is_javascript in Debug::AllFramesOnStackAreBlackboxed,
instead of assuming all frames are javascript frames.

Fix is thanks to dgozman:  https://crbug.com/896093#c3 

Bug:  chromium:896093 
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I6b735d904c3fd036d4589d65f10673b81b8f326c
Reviewed-on: https://chromium-review.googlesource.com/c/1295552
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56970}
[modify] https://crrev.com/87ba4e5a129915f932cb76be5da4fed0f54a4fea/src/debug/debug.cc

Status: Fixed (was: Started)

Sign in to add a comment