Closed
Bug 1322346
Opened 8 years ago
Closed 8 years ago
Assertion failure: !(mTransactionPump && mCachePump) || mCachedContentIsPartial (RedirectTo, veto, ReadFromCache)
Categories
(Core :: Networking: HTTP, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 1322355
Tracking | Status | |
---|---|---|
firefox53 | --- | affected |
People
(Reporter: mayhemer, Unassigned)
Details
STR: - A request that is RedrectTo about:blank from somewhere between AsyncOpen and on-examine-response (Ghostery extension) - 304 response - we do an async redirect check (transaction pump is suspended, but cache pump yet doesn't exist) - the redirect is vetoed Problem: - we create cache pump and asyncRead it - we resume both transaction and cache pump (observed WARNING: NS_ENSURE_TRUE(mSuspendCount > 0) failed: file netwerk/base/nsInputStreamPump.cpp, line 240, apparently for the cache pump) - we first get onstartrequest from cache pump Expected: - we first get onstoprequest from the transaction pump which clears the mTransactionPump member Solution: - keep record of attempted cache pump suspension before redirect check and suspend it after creation - or, use channel->suspend when redirecting (not sure why not used now)
Reporter | ||
Comment 1•8 years ago
|
||
The redirectTo is called via JS hook to onBeforeRequest: return { redirectUrl } and is processed asynchronously as a promise. Hence I'm experiencing 3 different assertions failures, it's a race. This bug deals with one of them. 0 HttpObserverManager.applyChanges<() ["resource://gre/modules/WebRequest.jsm":778] 1 next(val = [object Object]) ["self-hosted":1134] this = [object Generator] 2 TaskImpl_run(aSendResolved = true, aSendValue = [object Object]) ["resource://gre/modules/Task.jsm":319] this = [object Object] 3 bound TaskImpl_run([object Object]) ["self-hosted":971] xul.dll!mozilla::net::HttpBaseChannel::RedirectTo xul.dll!_NS_InvokeByIndex
Updated•8 years ago
|
Whiteboard: [necko-next]
Reporter | ||
Comment 2•8 years ago
|
||
Turn out to be the same issue/fix. Difference in the assertion hit is caused by timing of when redirectTo is called between asyncOpen and onStartRequest notification.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Whiteboard: [necko-next]
You need to log in
before you can comment on or make changes to this bug.
Description
•