Skip to content

Instantly share code, notes, and snippets.

@6a68

6a68/foo.md

Created Aug 10, 2017
Embed
What would you like to do?
Screenshots - Bug 1387598 / Intermittent sessionrestore_no_auto_restore | application crashed [@ GetNameOperation]

I got pinged on bug 1387598, some Windows-only crashes in a Talos test that deliberately prevents the sessionstore-windows-restored event from firing. Screenshots 10.10 seemed to cause the regression. (As a reminder, 10.10 includes a fix to synchronize startup and shutdown, see discussion in screenshots pull request #3260.)

Looking at the Talos test definition on dxr, it appears that the test causes the event to never fire:

# inside mozilla-central/testing/talos/talos/test.py, revision 4c5fbf493763, line 181:

@register_test()
class sessionrestore_no_auto_restore(sessionrestore):
    """
    A start up test measuring the time it takes to load a sessionstore.js file.

    1. Set up Firefox to *not* restore automatically from sessionstore.js file.
    2. Launch Firefox.
    3. Measure the delta between firstPaint and sessionRestored.
    """
    preferences = {'browser.startup.page': 1}

I figured this was causing a crash because we assume, in our code, that the event always does fire, and we don't detach it (or resolve the promise chain) on shutdown if it doesn't fire.

However, when I asked about this in #teamaddons, both aswan and zombie thought that JS code shouldn't be able to cause a crash, even if an observer or promise was left dangling.

Pinged the bug to say I'm going to try to look deeper, and asked for help in #fx-team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.