New issue
Advanced search Search tips

Issue 600425 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

browser_tests crashing: Fatal error in ../../v8/src/snapshot.h, line 101: Check failed: IsSane().

Project Member Reported by michae...@chromium.org, Apr 4 2016

Issue description

This bug is similar to  issue #457656 .

Every day I build browser_tests_run from scratch and run isolate.py to get a local isolated build, for Linux and CrOS.

Every few days, the resulting browser_tests (and chrome itself) is crashy. The weird thing is, nuking my out directory and doing the same thing again seems to work, so this isn't deterministic behavior.

If my steps below are right, what's causing the bad builds?

Crash for commit ced319c78e3f9acc95394d81cc6763ed9a9e8371:

********** FULL OUTPUT BELOW **********

$ rm -rf out_linux/Release/*
$ GYP_DEFINES='test_isolation_mode=check use_goma=1' \
  GYP_GENERATOR_FLAGS='output_dir=out_linux' \
  bash -c 'gclient sync && ninja -C out_linux/Release -j 9999 -l 40 browser_tests_run'
$ ./tools/swarming_client/isolate.py remap -s out_linux/Release/browser_tests.isolated -o $snapshot_out_dir

$ $snapshot_out_dir//out_linux/Release/browser_tests --single_process
IMPORTANT DEBUGGING NOTE: each test is run inside its own process.
For debugging a test inside a debugger, use the
--gtest_filter=<your_test_name> flag along with either
--single_process (to run the test in one launcher/browser process) or
--single-process (to do the above, and also run Chrome in single-process mode).
Using sharding settings from environment. This is shard 0/1
Using 1 parallel jobs.
Note: Google Test filter = AppListStartPageWebUITest.Basic
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from AppListStartPageWebUITest, where TypeParam = 
[ RUN      ] AppListStartPageWebUITest.Basic
[133818:133818:0404/094055:WARNING:password_store_factory.cc(250)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage
 options.
[133818:133818:0404/094055:WARNING:shell.cc(299)] Instance: exe:chrome attempting to register an instance for a process it created for target: exe:chrome_renderer without the mojo:shell{client_process} capability class.


#
# Fatal error in ../../v8/src/snapshot/snapshot.h, line 101
# Check failed: IsSane().
#

==== C stack trace ===============================

 1: 0x2c84db5
 2: 0x2a13dd8
 3: 0x2a13bb7
 4: 0x26a8b56
 5: 0x3a32b96
 6: 0x3895f4c
 7: 0x38963cd
 8: 0x389152a
 9: 0x2c8d577
10: 0x43c1df6
11: 0x43c0e9c
12: 0x43c0cfd
13: 0x43c09ca
14: 0x5a144b1
15: 0x4ba4fea
16: 0x4ba5e6a
17: 0x4ba4bd0
18: 0x4bbe0ba
19: 0x1107ec7
20: __libc_start_main
21: 0x58d329
Received signal 4 ILL_ILLOPN 000002c8622f
Received signal 11 SEGV_MAPERR 003000000020

 
Cc: yangguo@chromium.org
Components: -Blink>JavaScript Blink>JavaScript>API
Status: Available (was: Untriaged)
Cc: vogelheim@chromium.org
Looks like outdated snapshot blob. Somehow your build workflow does not create an update snapshots, or no snapshot at all.
Could you expand on what that means? I'm doing a gclient sync, gyp runhooks, ninja; the only thing special about it is that it's run by a script instead of me being at a terminal.
Building V8 includes building a startup snapshot, which, among others, includes generated code by V8. That snapshot is specific to the particular V8 version that was used to create the snapshot. That's why we have a short sanity check when loading the startup snapshot. Apparently the build step that creates an updated snapshot upon building V8 does not get executed in your workflow. You could check this by looking for the timestamp of snapshot_blob.bin
Still a problem?
I am experiencing the same crash when running run-webkit-tests (first crash at
[1], second crash following a rebuild at [2]), although the cause may be
different because my version of `snapshot_blob.bin` appears to be up-to-date:

    $ stat out/Default/snapshot_blob.bin 
      File: 'out/Default/snapshot_blob.bin'
      Size: 1568128   	Blocks: 3072       IO Block: 4096   regular file
    Device: 814h/2068d	Inode: 43576846    Links: 1
    Access: (0664/-rw-rw-r--)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
    Access: 2017-04-17 18:49:17.325010481 -0400
    Modify: 2017-04-17 15:53:59.332785136 -0400
    Change: 2017-04-17 15:53:59.332785136 -0400
     Birth: -

I'd previously tried re-building, but not after running `gn clean` first. I'll
give that a try now.

[1] https://gist.github.com/jugglinmike/7cb7575fd777f740ce43aaf859cfa380
[2] https://gist.github.com/jugglinmike/80d9da2cc76d456b1e394aedfe462d74
Confirmed: re-building from scratch resolved the issue for me.

Comment 8 by treib@chromium.org, Sep 25 2017

Probably the same as the more recent  bug 764327 ?
Project Member

Comment 9 by sheriffbot@chromium.org, Sep 25

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: Available (was: Untriaged)

Sign in to add a comment