Closed
Bug 890713
Opened 11 years ago
Closed 8 years ago
gHttpHandler->GetCookieService() is used on main thread, does IO (opens sqlite) and janks
Categories
(Core :: Networking, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 870460
People
(Reporter: mayhemer, Unassigned)
Details
ntdll.dll!_ZwSetInformationFile@20() + 0x12 bytes
ntdll.dll!_ZwSetInformationFile@20() + 0x12 bytes
nss3.dll!seekWinFile(winFile * pFile=0x00000000, __int64 iOffset=779921599452153408) Line 32762 C
nss3.dll!winTruncate(sqlite3_file * id=0x0ad2b964, __int64 nByte=140737488355328) Line 33063 + 0xa bytes C
> xul.dll!`anonymous namespace'::xShmMap(sqlite3_file * pFile=0x0ad2b958, int iRegion=0, int szRegion=32768, int isWrite=1, volatile void * * pp=0x0acf86d0) Line 290 + 0x18 bytes C++
nss3.dll!walIndexPage(Wal * pWal=0x00000000, int iPage=0, volatile unsigned int * * ppPage=0x0040bb04) Line 46040 + 0x17 bytes C
nss3.dll!walIndexReadHdr(Wal * pWal=0x00000000, int * pChanged=0x0040bb40) Line 47489 + 0x10 bytes C
nss3.dll!sqlite3WalBeginReadTransaction(Wal * pWal=0x0ad2d570, int * pChanged=0x0040bb40) Line 47766 + 0x4a bytes C
nss3.dll!pagerBeginReadTransaction(Pager * pPager=0x00000000) Line 41442 + 0x10 bytes C
nss3.dll!sqlite3PagerSharedLock(Pager * pPager=0x00000000) Line 43459 + 0x7 bytes C
nss3.dll!lockBtree(BtShared * pBt=0x00000000) Line 51929 C
nss3.dll!sqlite3InitOne(sqlite3 * db=0x00000000, int iDb=0, char * * pzErrMsg=0x0ad2c284) Line 29890 + 0x89 bytes C
nss3.dll!sqlite3Init(sqlite3 * db=0x0ad2b080, char * * pzErrMsg=0x0ad2c284) Line 30066 + 0xd bytes C
nss3.dll!sqlite3ReadSchema(Parse * pParse=0x0ad2c280) Line 30104 + 0x9 bytes C
nss3.dll!sqlite3Pragma(Parse * pParse=0x0ad2c280, Token * pId1=0x0ad2c510, Token * pId2=0x0ad2c520, Token * pValue=0x0ad2c540, int minusFlag=1) Line 28576 + 0x9 bytes C
nss3.dll!yy_reduce(yyParser * yypParser=0x0ad2c4d0, int yyruleno=0) Line 47592 + 0x18 bytes C
nss3.dll!sqlite3Parser(void * yyp=0x00000000, int yymajor=1, Token yyminor={...}, Parse * pParse=0x00000000) Line 47966 + 0xc bytes C
nss3.dll!sqlite3RunParser(Parse * pParse=0x0ad2c201, const char * zSql=0x0ad2c1e0, char * * pzErrMsg=0x0040bd60) Line 48804 + 0x19 bytes C
nss3.dll!sqlite3Prepare(sqlite3 * db=0x00000000, const char * zSql=0x0ad2c1e0, int nBytes=-1, int saveSqlFlag=1, Vdbe * pReprepare=0x00000000, sqlite3_stmt * * ppStmt=0x0040bdc8, const char * * pzTail=0x0040bde4) Line 30280 + 0xc bytes C
nss3.dll!sqlite3LockAndPrepare(sqlite3 * db=0x0ad2b080, const char * zSql=0x0ad2c1e0, int nBytes=-1, int saveSqlFlag=1, Vdbe * pOld=0x00000000, sqlite3_stmt * * ppStmt=0x0040bdc8, const char * * pzTail=0x0040bde4) Line 30372 + 0x20 bytes C
nss3.dll!sqlite3_exec(sqlite3 * db=0x0ad2b080, const char * zSql=0x0ad2c1e0, int (void *, int, char * *, char * *)* xCallback=0x00000000, void * pArg=0x00000000, char * * pzErrMsg=0x00000000) Line 26530 + 0x24 bytes C
xul.dll!mozilla::storage::Connection::executeSql(const char * aSqlString=0x0ad2c1e0) Line 896 + 0xe bytes C++
xul.dll!mozilla::storage::Connection::initializeInternal(nsIFile * aDatabaseFile=0x0ad2acc0) Line 582 + 0xa bytes C++
xul.dll!mozilla::storage::Connection::initialize(nsIFile * aDatabaseFile=0x0ad2acc0) Line 507 + 0x8 bytes C++
xul.dll!mozilla::storage::Service::OpenUnsharedDatabase(nsIFile * aDatabaseFile=0x0ad2acc0, mozIStorageConnection * * _connection=0x0ad2a7f4) Line 688 + 0xc bytes C++
xul.dll!nsCookieService::TryInitDB(bool aRecreateDB=false) Line 810 C++
xul.dll!nsCookieService::InitDBStates() Line 744 C++
xul.dll!nsCookieService::Init() Line 702 C++
xul.dll!nsCookieService::GetSingleton() Line 633 + 0xb bytes C++
xul.dll!mozilla::GenericFactory::CreateInstance(nsISupports * aOuter=0x00000000, const nsID & aIID={...}, void * * aResult=0x0040c2c4) Line 16 + 0x13 bytes C++
xul.dll!nsComponentManagerImpl::CreateInstanceByContractID(const char * aContractID=0x0ad21268, nsISupports * aDelegate=0x00000000, const nsID & aIID={...}, void * * aResult=0x0040c2c4) Line 1094 + 0xd bytes C++
xul.dll!nsComponentManagerImpl::GetServiceByContractID(const char * aContractID=0x5748cb60, const nsID & aIID={...}, void * * result=0x0040c300) Line 1451 C++
xul.dll!CallGetService(const char * aContractID=0x5748cb60, const nsID & aIID={...}, void * * aResult=0x0040c300) Line 63 C++
xul.dll!nsGetServiceByContractID::operator()(const nsID & aIID={...}, void * * aInstancePtr=0x0040c300) Line 247 C++
xul.dll!nsCOMPtr_base::assign_from_gs_contractid(nsGetServiceByContractID gs={...}, const nsID & iid={...}) Line 92 + 0xe bytes C++
xul.dll!nsHttpHandler::GetCookieService() Line 485 C++
xul.dll!mozilla::net::HttpBaseChannel::AddCookiesToRequest() Line 1535 C++
xul.dll!mozilla::net::nsHttpChannel::AsyncOpen(nsIStreamListener * listener=0x0ad21228, nsISupports * context=0x00000000) Line 4183 C++
xul.dll!nsURILoader::OpenURI(nsIChannel * channel=0x0ad21228, bool aIsContentPreferred=false, nsIInterfaceRequestor * aWindowContext=0x09ef4450) Line 763 + 0xb bytes C++
xul.dll!nsDocShell::DoChannelLoad(nsIChannel * aChannel=0x00000003, nsIURILoader * aURILoader=0x065568c0, bool aBypassClassifier=false) Line 9772 + 0x1f bytes C++
xul.dll!nsDocShell::DoURILoad(nsIURI * aURI=0x0ad0eb68, nsIURI * aReferrerURI=0x00000000, bool aSendReferrer=true, nsISupports * aOwner=0x0ad0f750, const char * aTypeHint=0x00000000, const nsAString_internal & aFileName={...}, nsIInputStream * aPostData=0x00000000, nsIInputStream * aHeadersData=0x00000000, bool aFirstParty=true, nsIDocShell * * aDocShell=0x00000000, nsIRequest * * aRequest=0x0040c524, bool aIsNewWindowTarget=false, bool aBypassClassifier=false, bool aForceAllowCookies=false) Line 9607 + 0xe bytes C++
xul.dll!nsDocShell::InternalLoad(nsIURI * aURI=0x0ad0eb68, nsIURI * aReferrer=0x00000000, nsISupports * aOwner=0x0ad0f750, unsigned int aFlags=4, const wchar_t * aWindowTarget=0x0ab768e0, const char * aTypeHint=0x00000000, const nsAString_internal & aFileName={...}, nsIInputStream * aPostData=0x00000000, nsIInputStream * aHeadersData=0x00000000, unsigned int aLoadType=1, nsISHEntry * aSHEntry=0x00000000, bool aFirstParty=true, nsIDocShell * * aDocShell=0x00000000, nsIRequest * * aRequest=0x00000000) Line 9278 + 0x84 bytes C++
xul.dll!nsDocShell::LoadURI(nsIURI * aURI=0x0ad0eb68, nsIDocShellLoadInfo * aLoadInfo=0x0ad0f750, unsigned int aLoadFlags=4, bool aFirstParty=true) Line 1525 + 0x4a bytes C++
xul.dll!nsDocShell::LoadURI(const wchar_t * aURI=0x0ab76200, unsigned int aLoadFlags=1835008, nsIURI * aReferringURI=0x00000000, nsIInputStream * aPostStream=0x00000000, nsIInputStream * aHeaderStream=0x00000000) Line 4137 C++
Either preopen the database on bck thread or turn the cookies api to be async.
This may be part of moving all network top level code to live on non-main thread.
Updated•8 years ago
|
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•