rr-debugger / rr-debugger/rr

"Assertion `time == global_time' failed" with spidermonkey arm simulator

Open
#1,770 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
10.7k
Forks
662
Avg merge
2d 3h
Merged PRs (30d)
2

Description

I built rr from source on this commit:

commit cdb22ede3c3039950a77c77e05044f3fd01411ca
Author: Robert O'Callahan <robert@ocallahan.org>
Date:   Tue Aug 9 18:20:16 2016 +1200

    Awk string indices start at 1

I did a ninja-build test and all tests passed.

On Fedora with this kernel:

$ uname -a
Linux localhost.localdomain 4.6.5-300.fc24.x86_64 #1 SMP Thu Jul 28 01:10:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

On this branch: https://github.com/fitzgen/gecko-dev/tree/rr-assertion-failure-test-case

Build the arm simulator like so:

$ ./js/src/devtools/automation/autospider.py --objdir $OBJDIR --build-only arm-sim

And then run like this:

bash-4.3$ ./js/src/tests/jstests.py $OBJDIR/dist/bin/js shell/futex.js -o --rr
## shell/futex.js: rc = -9, run time = 150.001963
Sleeping for 2 seconds
Waking the main thread now
Woke up as I should have in 2.011s
Main thread waiting on wakeup (2s)
Woke up as I should have in 2.011s
Starting outer wait
In the interrupt, starting inner wait with timeout 2s
Got the interrupt exception!
Script runs for too long, terminating.
TIMEOUT - shell/futex.js
[0|1|1|0] 100% ==========================================================>| 150.1s
TIMEOUTS
    shell/futex.js
FAIL
bash-4.3$ rr replay
rr: ../src/TraceStream.cc:543: void rr::TraceReader::read_generic(vector<uint8_t> &): Assertion `time == global_time' failed.
bash-4.3$ 

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure using the arm-sim build command, shell/futex.js, and rr replay; then inspect TraceStream.cc around line 543 and the recorded trace handling involved in the assertion. Run ninja-build test and confirm that replaying this case no longer fails with Assertion time == global_time' failed`.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
devtools, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.