New issue
Advanced search Search tips

Issue 872783 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 8
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocked on:
issue 789612
issue 879733



Sign in to add a comment

All renders crash with v8::Isolate::Initialize from ChomeOS bisect-builds.py

Project Member Reported by msw@chromium.org, Aug 9

Issue description

All renders crash with v8::Isolate::Initialize from ChomeOS bisect-builds.py

(1) Run this bisect command on linux: tools/bisect-builds.py -g 550428 -b 561733 -a chromeos
Expected: Able to test builds for a bisect...
Actual: All the renders crash on every run; stdout with stack below:


[8403:8403:0809/093739.016697:ERROR:zygote_host_impl_linux.cc(111)] SUID sandbox binary is missing. Won't be able to adjust OOM scores.
[8403:8403:0809/093739.268692:ERROR:resource_bundle.cc(815)] Failed to load /tmp/bisect_tmp_sqjnI/chrome-linux/keyboard_resources.pak
Some features may not be available.
[8403:8424:0809/093739.314598:ERROR:account_manager.cc(37)] Failed to read tokens file
[8403:8403:0809/093739.341527:ERROR:component_loader.cc(173)] Failed to parse extension manifest.
[8403:8403:0809/093739.375404:ERROR:component_loader.cc(173)] Failed to parse extension manifest.


#
# Fatal error in , line 0
# Check failed: (i_isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7ffcdd8b29a0#0 0x560cf48579ec [8403:8427:0809/093739.466069:ERROR:resource_metadata_storage.cc(777)] Incompatible DB version: 15


#
# Fatal error in , line 0
# Check failed: (i_isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7ffcdd8b29a0#0 0x560cf48579ec base::debug::StackTrace::StackTrace()
#1 0x560cf70846fb gin::(anonymous namespace)::PrintStackTrace()
#2 0x560cf707d888 <unknown>
#1 0x560cf70846fb <unknown>
#2 0x560cf707d888 <unknown>
#3 0x560cf3cb398f <unknown>
#4 0x560cf70812a4 <unknown>
#5 0x560cf6fb13d3 <unknown>
#6 0x560cf6fb1f59 <unknown>
#7 0x560cf813c5b4 <unknown>
#8 0x560cf812297d <unknown>
#9 0x560cf77f51d0 <unknown>
#10 0x560cf77f338b <unknown>
#11 0x560cf77f2c98 <unknown>
#12 0x560cf77f26d2 <unknown>
#13 0x560cf781a92d <unknown>
#14 0x560cf452b712 <unknown>
#15 0x560cf452cb27 <unknown>
#16 0x560cf45353c2 <unknown>
#17 0x560cf452ae04 <unknown>
#18 0x560cf26496f3 <unknown>
#19 0x7f0a377252b1 __libc_start_main
#20 0x560cf264956a <unknown>
Received signal 4 ILL_ILLOPN 560cf707f7a2
#0 0x560cf48579ec <unknown>
#1 0x560cf4857551 <unknown>
#2 0x7f0a3aafa0c0 <unknown>
#3 0x560cf707f7a2 <unknown>
#4 0x560cf707d895 <unknown>
#5 0x560cf3cb398f <unknown>
#6 0x560cf70812a4 <unknown>
#7 0x560cf6fb13d3 <unknown>
#8 0x560cf6fb1f59 <unknown>
#9 0x560cf813c5b4 <unknown>
#10 0x560cf812297d <unknown>
#11 0x560cf77f51d0 <unknown>
#12 0x560cf77f338b <unknown>
#13 0x560cf77f2c98 <unknown>
#14 0x560cf77f26d2 <unknown>
#15 0x560cf781a92d <unknown>
#16 0x560cf452b712 <unknown>
#17 0x560cf452cb27 <unknown>
#18 0x560cf45353c2 <unknown>
#19 0x560cf452ae04 <unknown>
#20 0x560cf26496f3 <unknown>
#21 0x7f0a377252b1 __libc_start_main
#22 0x560cf264956a <unknown>
  r8: 00007f0a37aa0750  r9: 00007f0a3ae128c0 r10: 0000000000000004 r11: 0000000000000000
 r12: 0000560cf924ebc1 r13: 00007ffcdd8b2c60 r14: 0000000000000000 r15: 0000560cf934951a
  di: 00007f0a37a9f520  si: 00007f0a37aa0750  bp: 00007ffcdd8b2ca0  bx: 00007f0a37a9f6e0
  dx: 0000000000000000  ax: 0000000000000000  cx: 0000000000000b40  sp: 00007ffcdd8b2998
  ip: 0000560cf707f7a2 efl: 0000000000010202 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
V8_Fatal()
#3 0x560cf3cb398f v8::Isolate::Initialize()
#4 0x560cf70812a4 gin::IsolateHolder::IsolateHolder()
#5 0x560cf6fb13d3 blink::V8PerIsolateData::V8PerIsolateData()
#6 0x560cf6fb1f59 blink::V8PerIsolateData::Initialize()
#7 0x560cf813c5b4 blink::V8Initializer::InitializeMainThread()
#8 0x560cf812297d _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x560cf77f51d0 _ZN7content16RenderThreadImpl16InitializeWebKitERK13scoped_refptrIN4base22SingleThreadTaskRunnerEEPN15service_manager22BinderRegistryWithArgsIJEEE
#10 0x560cf77f338b content::RenderThreadImpl::Init()
#11 0x560cf77f2c98 content::RenderThreadImpl::RenderThreadImpl()
#12 0x560cf77f26d2 content::RenderThreadImpl::Create()
#13 0x560cf781a92d content::RendererMain()
#14 0x560cf452b712 content::RunZygote()
#15 0x560cf452cb27 content::ContentMainRunnerImpl::Run()
#16 0x560cf45353c2 service_manager::Main()
#17 0x560cf452ae04 content::ContentMain()
#18 0x560cf26496f3 ChromeMain
#19 0x7f0a377252b1 __libc_start_main
#20 0x560cf264956a _start
Received signal 4 ILL_ILLOPN 560cf707f7a2
#0 0x560cf48579ec base::debug::StackTrace::StackTrace()
#1 0x560cf4857551 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f0a3aafa0c0 <unknown>
#3 0x560cf707f7a2 v8::base::OS::Abort()
#4 0x560cf707d895 V8_Fatal()
#5 0x560cf3cb398f v8::Isolate::Initialize()
#6 0x560cf70812a4 gin::IsolateHolder::IsolateHolder()
#7 0x560cf6fb13d3 blink::V8PerIsolateData::V8PerIsolateData()
#8 0x560cf6fb1f59 blink::V8PerIsolateData::Initialize()
#9 0x560cf813c5b4 blink::V8Initializer::InitializeMainThread()
#10 0x560cf812297d _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#11 0x560cf77f51d0 _ZN7content16RenderThreadImpl16InitializeWebKitERK13scoped_refptrIN4base22SingleThreadTaskRunnerEEPN15service_manager22BinderRegistryWithArgsIJEEE
#12 0x560cf77f338b content::RenderThreadImpl::Init()
#13 0x560cf77f2c98 content::RenderThreadImpl::RenderThreadImpl()
#14 0x560cf77f26d2 content::RenderThreadImpl::Create()
#15 0x560cf781a92d content::RendererMain()
#16 0x560cf452b712 content::RunZygote()
#17 0x560cf452cb27 content::ContentMainRunnerImpl::Run()
#18 0x560cf45353c2 service_manager::Main()
#19 0x560cf452ae04 content::ContentMain()
#20 0x560cf26496f3 ChromeMain
#21 0x7f0a377252b1 __libc_start_main
#22 0x560cf264956a _start
  r8: 00007f0a37aa0750  r9: 00007f0a3ae128c0 r10: 00007ffcdd8b2270 r11: 0000000000000000
 r12: 0000560cf924ebc1 r13: 00007ffcdd8b2c60 r14: 0000000000000000 r15: 0000560cf934951a
  di: 00007f0a37a9f520  si: 00007f0a37aa0750  bp: 00007ffcdd8b2ca0  bx: 00007f0a37a9f6e0
  dx: 0000000000000000  ax: 0000000000000000  cx: 0000000000000b40  sp: 00007ffcdd8b2998
  ip: 0000560cf707f7a2 efl: 0000000000010202 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
 
Blockedon: 78912 879733
Blockedon: -78912 789612
Cc: ahaas@chromium.org
The stack trace suggests that the snapshot blob provided to V8 is invalid. Typically the snapshot blob comes from the file "snapshot_blob.bin", but this depends on the embedder of V8.

Can you give me more precise instructions on how to reproduce this issue? I can run the bisect script `tools/bisect-builds.py -g 550428 -b 561733 -a chromeos`, but after each step I only see

Revision 558227 is [(g)ood/(b)ad/(r)etry/(u)nknown/(s)tdout/(q)uit]:

How should I use the build to cause the crash?
You might have to hack the bisect script to make it keep the archive around rather than deleting it on quit.

As a simpler way, download a snapshot from this url:

https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_ChromiumOS_Full%2F588160%2Fchrome-linux.zip?alt=media

Now it's also missing these files:
libminigbm.so
keyboard_resources.pak

Copy those from another build.

Now try running "chrome" and you'll get the error above.

Let me try snapshot_blob.bin - thanks for the pointer.

Would it be worth adding a more clear error message if snapshot_blob.bin is missing or wrong?

I tried copying a matching version of snapshot_blob.bin and that particular crash goes away, but unfortunately Chrome still doesn't start. Oh well, I think we're closer at least.

Thanks for the pointer to the specific missing file - and I do think it'd be great if there could be a better warning if the file is missing.

BTW, there's a great error message if the file is mismatched (wrong version) - but if it's missing we get the really weird crash.

To me this looks like the snapshot builds themselves are broken. If I look at the snapshot builds for linux64 I can see v8_context_snapshot.bin. Could it be that the bisect only works for certain platforms? On linux it also does not work for me, only linux64.

About the error message, I will take a look.
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 12

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

commit 93ae05c8843e4d501bbf14c8d606ad8bc3b87047
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Wed Sep 12 21:05:42 2018

Add missing files to Chrome OS archives

Bug:  789612 ,  872783 ,  879733 
Change-Id: I068c03306aca5f107033efbea66abf062e747c0d
Reviewed-on: https://chromium-review.googlesource.com/1222688
Reviewed-by: Michael Moss <mmoss@chromium.org>
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590819}
[modify] https://crrev.com/93ae05c8843e4d501bbf14c8d606ad8bc3b87047/chrome/tools/build/chromeos/FILES.cfg

Status: Available (was: Untriaged)
Owner: dmazz...@chromium.org
Status: Assigned (was: Available)
Dominic, is this issue fixed now?
Project Member

Comment 11 by bugdroid1@chromium.org, Sep 25

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

commit 53cd30434014fe34c835531b2b4479c7232aba92
Author: Andreas Haas <ahaas@google.com>
Date: Tue Sep 25 10:30:14 2018

[cleanup] Provide better error message if the snapshot blob is missing

R=yangguo@chromium.org

Bug:  chromium:872783 , v8:8015
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I2d281ba058961ebe2e2758e90b4afa34b02fd5b1
Reviewed-on: https://chromium-review.googlesource.com/1216004
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56197}
[modify] https://crrev.com/53cd30434014fe34c835531b2b4479c7232aba92/src/api.cc

Almost working.

The only issue left is that bisect-builds expects a file called chrome-linux.zip, but now the archive generates chrome-chromeos.zip.

The problem is that older archives still use chrome-linux.zip, so now the bisect script has to be updated to check for both.

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 8

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

commit e84e40bb849917b308f747659af851c963a46655
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Mon Oct 08 06:44:45 2018

Update the bisect script to check for new archive names

Starting with revision 591483, the Chrome OS and Win archives
are named chrome-chromeos.zip instead of chrome-linux.zip,
and chrome-win.zip instead of chrome-win32.zip, respectively.

TBR=robertocn@chromium.org

Bug:  872783 ,  789612 
Change-Id: I3bc72fa47c6e54b9a0b25306048af9942c06c1fa
Reviewed-on: https://chromium-review.googlesource.com/c/1259864
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597490}
[modify] https://crrev.com/e84e40bb849917b308f747659af851c963a46655/tools/bisect-builds.py

Status: Fixed (was: Assigned)

Sign in to add a comment