Closed Bug 1169643 Opened 5 years ago Closed 4 years ago

[e10s] If devTools was opened when tab crashed, it won't restore until devTools are closed

Categories

(DevTools :: General, defect)

40 Branch
defect
Not set

Tracking

(e10s+, firefox44 fixed)

RESOLVED FIXED
Firefox 44
Tracking Status
e10s + ---
firefox44 --- fixed

People

(Reporter: arni2033, Assigned: ochameau)

References

(Blocks 1 open bug)

Details

Attachments

(2 files, 1 obsolete file)

Attached file Testcase.html
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
Build ID: 20150513174244

Steps to reproduce:

1. Run 40.0a2 (2015-05-29), [e10s] ON
2. open some pages (not local), open devtools on every page
3. Somehow crash 1 of them (on Win7 you can try bug 1169268 and the attachment page)
4. Go to any crashed tab and press "Restore tab"


Actual results:

Tab won't load until you close or reopen devTools 
(Tested on clean profile on x86_x64 Win7)

Note: And if you choose to reopen them, devTools will be closed anyway when you click "Restore tab"
Blocks: dte10s
tracking-e10s: --- → +
Component: Untriaged → Developer Tools
(In reply to arni2033 from comment #0)
> Note: And if you choose to reopen them, devTools will be closed anyway when
> you click "Restore tab"

This refers to separate bug 1171362
I just hit this bug. I have a simple patch to at least allow to tab to be restored, but the tools don't want to reopen (yet).
Assignee: nobody → poirot.alex
Attached patch Fix tab reload - v1 (obsolete) — Splinter Review
Really simple patch, just to allow reloading the document.
I have no idea why it ends up breaking the page reload,
but the exception during sensAsyncMessage makes sense here...

But then, to have a toolbox that works again after a tab crash,
I ended up in toolbox destruction codepath and found sooo many
things going wrong that are not easy to address that I would need
more time to submit various patchs with fixes there and there.

So, more patch to come in this bug, or in followup dedicated
to make the toolbox reopen correctly, while unlocking document reload.
Comment on attachment 8673772 [details] [diff] [review]
Fix tab reload - v1

Ok, so I'm going to just submit this single patch to this bug and fill various other bugs with focused fixes.

Regarding this patch, I don't know why, but netmonitor seems to break page load if it isn't cleaned up correctly.
This exception, in connectToChild prevents it to be cleaned up.
Then, the network monitor code itself throws similar exceptions in its sendAsyncMessage calls when we try to reload the page. And the page doesn't reload.

I won't try to figure out why netmon breaks the page reload as this exception in connectToChild should be fixed and we should ensure netmon is cleaned up correctly in first place.
Attachment #8673772 - Flags: review?(jryans)
Comment on attachment 8673772 [details] [diff] [review]
Fix tab reload - v1

Review of attachment 8673772 [details] [diff] [review]:
-----------------------------------------------------------------

How do you test this?  Do you have a page that regularly crashes the browser?

::: devtools/server/main.js
@@ +1048,5 @@
>  
>          // ... and notify the child process to clean the tab actors.
> +        try {
> +          mm.sendAsyncMessage("debug:disconnect", { prefix: prefix });
> +        } catch(e) {}

Add a comment, perhaps inside the empty catch block, to explain why this try is needed.
Attachment #8673772 - Flags: review?(jryans) → review+
I just kill plugin-container... that reproduces this bug.
Added a comment
Attachment #8673772 - Attachment is obsolete: true
Attachment #8676797 - Flags: review+
https://hg.mozilla.org/integration/fx-team/rev/0ff00af2b1ffbe706dc2d421ed1242ae1f2e991b
Bug 1169643 - Stop preventing reloading crashed tabs when devtools are opened. r=jryans
https://hg.mozilla.org/mozilla-central/rev/0ff00af2b1ff
Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 44
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.