Closed Bug 1354032 Opened 8 years ago Closed 7 years ago

Remove ANALYZE calls and use pragma OPTIMIZE(0x02) instead

Categories

(Toolkit :: Places, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox55 --- wontfix
firefox56 --- fixed

People

(Reporter: mak, Assigned: mayank, Mentored)

References

(Blocks 1 open bug)

Details

(Keywords: good-first-bug, Whiteboard: [good first bug])

Attachments

(1 file, 2 obsolete files)

This bug requires a little bit of both javascript and cpp knowledge. PRAGMA optimize can execute a series of operations to improve db performance and analyze on-demand based on the current session. I think we can remove some complication in the code and just run optimize before closing the main connection, as suggested by the Sqlite documentation. For now we'll use 0x02 that will only execute analyze when needed, in the future we may want to enable other optimizations, but we won't allow it to create indices automatically. This means: 1. remove toolkit/components/places/tests/expiration/test_analyze_runs.js 2. remove toolkit/components/places/tests/unit/test_analyze.js 3. remove any analyze related code from toolkit/components/places/nsPlacesExpiration.js 4. remove updateSQLiteStatistics from toolkit/components/places/Database.cpp 5. in Database::Shutdown() (Database.cpp) run an async statement doing "PRAGMA optimize(0x02)" before the AsyncClose() call. bonus points for fixing bug 646278 too.
Depends on: SQLite3.18.0
Priority: -- → P2
Hi, I am working on this bug. Could you please highlight more on how do we know 'analyze' related code in point 3? Also, to run PRAGMA optimize(0x02) in async. Is async statement specific to Sqlite or it is a firefox api? Thanks
Flags: needinfo?(mak77)
(In reply to Mayank [:mayank] from comment #1) > Hi, I am working on this bug. > Could you please highlight more on how do we know 'analyze' related code in > point 3? search for analyze in toolkit/components/places/nsPlacesExpiration.js, for example http://searchfox.org/mozilla-central/search?q=analyze&path=toolkit%2Fcomponents%2Fplaces%2FnsPlacesExpiration.js > Also, to run PRAGMA optimize(0x02) in async. Is async statement specific to > Sqlite or it is a firefox api? It's a mozStorage API. mozStorage is a wrapper around Sqlite. Look for createAsyncStatement, for example http://searchfox.org/mozilla-central/rev/d4eaa9c2fa54d553349ac88f0c312155a4c6e89e/toolkit/components/places/Database.cpp#1385 (https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Storage)
Flags: needinfo?(mak77)
Attached patch bug-1354032.patch (obsolete) (deleted) — Splinter Review
Attaching a patch. Please review
Attachment #8858517 - Flags: review?(mak77)
Comment on attachment 8858517 [details] [diff] [review] bug-1354032.patch Review of attachment 8858517 [details] [diff] [review]: ----------------------------------------------------------------- It looks quite close to be ready ::: toolkit/components/places/Database.cpp @@ +2224,5 @@ > mClosed = true; > > + nsCOMPtr<mozIStorageAsyncStatement> optimizeStmt; > + mMainConn->CreateAsyncStatement(NS_LITERAL_CSTRING("PRAGMA optimize(0x02)"), > + getter_AddRefs(optimizeStmt)); This is not enough, you should also ExecuteAsync the statement you created, otherwise it's not doing anything. ::: toolkit/components/places/nsPlacesExpiration.js @@ +158,5 @@ > CLEAR_HISTORY: 1 << 3, // happens when history is cleared > SHUTDOWN_DIRTY: 1 << 4, // happens at shutdown for DIRTY state > IDLE_DIRTY: 1 << 5, // happens on idle for DIRTY state > IDLE_DAILY: 1 << 6, // happens once a day on idle > DEBUG: 1 << 7, // happens on TOPIC_DEBUG_START_EXPIRATION you can edit the other values to fill up the value 2, since we always use these properties we can update the values without troubles. @@ +587,4 @@ > > notify: function PEX_timerCallback() { > // Check if we are over history capacity, if so visits must be expired. > this._getPagesStats((function onPagesCount(aPagesCount, aStatsCount) { You removed the only use of the aStatsCount argument, so it can be removed from here and from _getPagesStats In particular you can simplify the query in _getPagesStats to "SELECT COUNT(*) FROM moz_places" ::: toolkit/components/places/tests/expiration/xpcshell.ini @@ +5,2 @@ > # Bug 676989: test hangs consistently on Android > skip-if = os == "android" These 2 lines refer to the line you removed, and thus should be removed as well
Attachment #8858517 - Flags: review?(mak77) → review-
Hi Mayank, any news about this patch?
Flags: needinfo?(mayanksri18)
(In reply to Marco Bonardo [::mak] from comment #5) > Hi Mayank, any news about this patch? Hi Marco, Keeping very busy these days, I will patch as soon as I can.
Attached patch bug-1354032.patch (obsolete) (deleted) — Splinter Review
Attaching updated patch. Please review. Please assign the bug to my id. Thanks
Attachment #8858517 - Attachment is obsolete: true
Flags: needinfo?(mayanksri18)
Attachment #8872629 - Flags: review?(mak77)
Comment on attachment 8872629 [details] [diff] [review] bug-1354032.patch Review of attachment 8872629 [details] [diff] [review]: ----------------------------------------------------------------- ::: toolkit/components/places/Database.cpp @@ +2224,5 @@ > mClosed = true; > > + nsCOMPtr<mozIStorageAsyncStatement> optimizeStmt; > + nsresult rv = mMainConn->CreateAsyncStatement(NS_LITERAL_CSTRING("PRAGMA optimize(0x02)"), > + getter_AddRefs(optimizeStmt)); For consistency with sorrounding code, please indent so that arguments are aligned, or indent by 2 spaces. This would also work: mMainConn->CreateAsyncStatement(NS_LITERAL_CSTRING( "PRAGMA optimize(0x02)" ), getter_AddRefs(optimizeStmt)); @@ +2227,5 @@ > + nsresult rv = mMainConn->CreateAsyncStatement(NS_LITERAL_CSTRING("PRAGMA optimize(0x02)"), > + getter_AddRefs(optimizeStmt)); > + > + nsCOMPtr<mozIStoragePendingStatement> ps; > + rv = optimizeStmt->ExecuteAsync(nullptr, getter_AddRefs(ps)); There's a problem with error handling here, in the sense that rv is not handled. On the other side, bailing out in case of errors would be wrong, this is important but it's more important to call asyncClose. I'd suggest to do: nsresult rv = ... MOZ_ASSERT(NS_SUCCEEDED(rv)); if (NS_SUCCEEDED(rv)) { nsCOMPtr<mozIStoragePendingStatement> ps; rv = ... MOZ_ASSERT(NS_SUCCEEDED(rv)); } So we'll crash in debug mode and proceed in optimize mode. ::: toolkit/components/places/nsPlacesExpiration.js @@ +832,5 @@ > */ > _getPagesStats: function PEX__getPagesStats(aCallback) { > if (!this._cachedStatements["LIMIT_COUNT"]) { > this._cachedStatements["LIMIT_COUNT"] = this._db.createAsyncStatement( > + `SELECT (SELECT COUNT(*) FROM moz_places)` Just "SELECT count(*) FROM moz_places" @@ +837,5 @@ > ); > } > this._cachedStatements["LIMIT_COUNT"].executeAsync({ > _pagesCount: 0, > _statsCount: 0, more code that could be removed? this property and the code assigning to it. also because the next this._statsCount = row.getResultByIndex(1); would throw and aCallback(this._pagesCount, this._statsCount); would be wrong.
Attachment #8872629 - Flags: review?(mak77) → review-
Assignee: nobody → mayanksri18
Status: NEW → ASSIGNED
Since I need this work for other pending stuff, and since I bitrotted the Database code recently, I will just update your patch with my comments and try to land it. It will still be considered your patch clearly.
Blocks: 1275878
Blocks: 646278
No longer depends on: 646278
Comment on attachment 8886772 [details] Bug 1354032 - Remove Places analyze call and use PRAGMA optimize(0x02) for optimizations. https://reviewboard.mozilla.org/r/157566/#review162690
Attachment #8886772 - Flags: review?(mak77) → review+
Attachment #8872629 - Attachment is obsolete: true
hg error in cmd: hg push -r tip ssh://hg.mozilla.org/integration/autoland: pushing to ssh://hg.mozilla.org/integration/autoland searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 5 changes to 5 files remote: remote: remote: ************************** ERROR **************************** remote: Rev d865f0c1cdaa needs "Bug N" or "No bug" in the commit message. remote: Mayank Srivastav <mayanksri18@yahoo.in> remote: Bug-1354032 Remove Places analyze call and use PRAGMA optimize(0x02) for optimizations. r=mak remote: remote: MozReview-Commit-ID: AOkh3vOKD4E remote: ************************************************************* remote: remote: remote: transaction abort! remote: rollback completed remote: pretxnchangegroup.c_commitmessage hook failed abort: push failed on remote
Pushed by mak77@bonardo.net: https://hg.mozilla.org/integration/autoland/rev/03b8979ccf32 Remove Places analyze call and use PRAGMA optimize(0x02) for optimizations. r=mak
Backed out for failing database-related mochitests, e.g. browser/components/resistfingerprinting/test/mochitest/test_geolocation.html: https://hg.mozilla.org/integration/autoland/rev/a52251be8386b70d9d275c3ea83b66ffcddfc381 Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=03b8979ccf320b4b58e78ce9408949941faf5fa0&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=114576167&repo=autoland [task 2017-07-15T13:15:50.301848Z] 13:15:50 INFO - TEST-START | Shutdown [task 2017-07-15T13:15:50.302323Z] 13:15:50 INFO - Passed: 4 [task 2017-07-15T13:15:50.305420Z] 13:15:50 INFO - Failed: 0 [task 2017-07-15T13:15:50.308694Z] 13:15:50 INFO - Todo: 0 [task 2017-07-15T13:15:50.308983Z] 13:15:50 INFO - Mode: non-e10s [task 2017-07-15T13:15:50.314105Z] 13:15:50 INFO - Slowest: 2420ms - /tests/browser/components/resistfingerprinting/test/mochitest/test_geolocation.html [task 2017-07-15T13:15:50.320460Z] 13:15:50 INFO - SimpleTest FINISHED [task 2017-07-15T13:15:50.322734Z] 13:15:50 INFO - TEST-INFO | Ran 1 Loops [task 2017-07-15T13:15:50.329070Z] 13:15:50 INFO - SimpleTest FINISHED [task 2017-07-15T13:15:51.135482Z] 13:15:51 INFO - GECKO(1654) | --DOCSHELL 0x7f3a78d4b800 == 4 [pid = 1654] [id = {2c886f53-3f52-4de6-b115-489d0f3399ed}] [task 2017-07-15T13:15:51.358661Z] 13:15:51 INFO - GECKO(1654) | --DOCSHELL 0x7f3aa0897800 == 3 [pid = 1654] [id = {835aafd2-0440-4618-9895-89a26d9c6bbd}] [task 2017-07-15T13:15:51.702520Z] 13:15:51 INFO - GECKO(1654) | [1654] WARNING: SQL statement 'PRAGMA optimize(0x02)' (7f3a6b4de8a0) should have been finalized before closing the connection: file /home/worker/workspace/build/src/storage/mozStorageConnection.cpp, line 1062 [task 2017-07-15T13:15:51.720047Z] 13:15:51 INFO - GECKO(1654) | Assertion failure: false (Had to forcibly close the database connection because not all the statements have been finalized.), at /home/worker/workspace/build/src/storage/mozStorageConnection.cpp:1088 [task 2017-07-15T13:16:34.843878Z] 13:16:34 INFO - GECKO(1654) | #01: AsyncCloseConnection::Run [storage/mozStorageConnection.cpp:402] [task 2017-07-15T13:16:34.844323Z] 13:16:34 INFO - [task 2017-07-15T13:16:34.846640Z] 13:16:34 INFO - GECKO(1654) | #02: nsThread::ProcessNextEvent [mfbt/ScopeExit.h:111] [task 2017-07-15T13:16:34.846899Z] 13:16:34 INFO - [task 2017-07-15T13:16:34.848482Z] 13:16:34 INFO - GECKO(1654) | #03: NS_ProcessNextEvent [xpcom/threads/nsThreadUtils.cpp:489] [task 2017-07-15T13:16:34.850032Z] 13:16:34 INFO - [task 2017-07-15T13:16:34.853798Z] 13:16:34 INFO - GECKO(1654) | #04: mozilla::ipc::MessagePumpForNonMainThreads::Run [ipc/glue/MessagePump.cpp:369] [task 2017-07-15T13:16:34.855487Z] 13:16:34 INFO - [task 2017-07-15T13:16:34.857553Z] 13:16:34 INFO - GECKO(1654) | #05: MessageLoop::RunInternal [ipc/chromium/src/base/message_loop.cc:321] [task 2017-07-15T13:16:34.859570Z] 13:16:34 INFO - [task 2017-07-15T13:16:34.864373Z] 13:16:34 INFO - GECKO(1654) | #06: MessageLoop::Run [ipc/chromium/src/base/message_loop.cc:587] [task 2017-07-15T13:16:34.867471Z] 13:16:34 INFO - [task 2017-07-15T13:16:34.869664Z] 13:16:34 INFO - GECKO(1654) | #07: nsThread::ThreadFunc [xpcom/threads/nsThread.cpp:508] [task 2017-07-15T13:16:34.871340Z] 13:16:34 INFO - [task 2017-07-15T13:16:34.955567Z] 13:16:34 INFO - GECKO(1654) | #08: _pt_root [nsprpub/pr/src/pthreads/ptthread.c:219] [task 2017-07-15T13:16:34.958375Z] 13:16:34 INFO - [task 2017-07-15T13:16:34.960078Z] 13:16:34 INFO - GECKO(1654) | #09: libpthread.so.0 + 0x76ba [task 2017-07-15T13:16:34.960351Z] 13:16:34 INFO - [task 2017-07-15T13:16:34.962682Z] 13:16:34 INFO - GECKO(1654) | #10: libc.so.6 + 0x10682d [task 2017-07-15T13:16:34.963112Z] 13:16:34 INFO - [task 2017-07-15T13:16:34.964664Z] 13:16:34 INFO - GECKO(1654) | #11: ??? (???:???) [task 2017-07-15T13:16:34.967166Z] 13:16:34 INFO - GECKO(1654) | ExceptionHandler::GenerateDump cloned child 1721 [task 2017-07-15T13:16:34.969160Z] 13:16:34 INFO - GECKO(1654) | ExceptionHandler::SendContinueSignalToChild sent continue signal to child [task 2017-07-15T13:16:34.971062Z] 13:16:34 INFO - GECKO(1654) | ExceptionHandler::WaitForContinueSignal waiting for continue signal... [task 2017-07-15T13:16:34.985259Z] 13:16:34 INFO - TEST-INFO | Main app process: exit 11 [task 2017-07-15T13:16:34.988153Z] 13:16:34 INFO - Buffered messages finished [task 2017-07-15T13:16:34.990255Z] 13:16:34 ERROR - TEST-UNEXPECTED-FAIL | browser/components/resistfingerprinting/test/mochitest/test_geolocation.html | application terminated with exit code 11 [task 2017-07-15T13:16:35.002106Z] 13:16:34 INFO - runtests.py | Application ran for: 0:01:03.039669 [task 2017-07-15T13:16:35.003834Z] 13:16:35 INFO - zombiecheck | Reading PID log: /tmp/tmpxb3pQhpidlog [task 2017-07-15T13:16:35.005206Z] 13:16:35 INFO - ==> process 1654 launched child process 1672 [task 2017-07-15T13:16:35.006572Z] 13:16:35 INFO - zombiecheck | Checking for orphan process with PID: 1672 [task 2017-07-15T13:16:35.008374Z] 13:16:35 INFO - mozcrash Copy/paste: /usr/local/bin/linux64-minidump_stackwalk /tmp/tmpCTH5HV.mozrunner/minidumps/3a6b0b32-47e5-0bb4-4de4-7048aad27b19.dmp /home/worker/workspace/build/symbols [task 2017-07-15T13:16:56.749593Z] 13:16:56 INFO - mozcrash Saved minidump as /home/worker/workspace/build/blobber_upload_dir/3a6b0b32-47e5-0bb4-4de4-7048aad27b19.dmp [task 2017-07-15T13:16:56.826096Z] 13:16:56 INFO - mozcrash Saved app info as /home/worker/workspace/build/blobber_upload_dir/3a6b0b32-47e5-0bb4-4de4-7048aad27b19.extra [task 2017-07-15T13:16:57.134646Z] 13:16:57 INFO - PROCESS-CRASH | browser/components/resistfingerprinting/test/mochitest/test_geolocation.html | application crashed [@ mozilla::storage::Connection::internalClose] [task 2017-07-15T13:16:57.137315Z] 13:16:57 INFO - Crash dump filename: /tmp/tmpCTH5HV.mozrunner/minidumps/3a6b0b32-47e5-0bb4-4de4-7048aad27b19.dmp [task 2017-07-15T13:16:57.139145Z] 13:16:57 INFO - Operating system: Linux [task 2017-07-15T13:16:57.141001Z] 13:16:57 INFO - 0.0.0 Linux 3.13.0-100-generic #147-Ubuntu SMP Tue Oct 18 16:48:51 UTC 2016 x86_64 [task 2017-07-15T13:16:57.142678Z] 13:16:57 INFO - CPU: amd64 [task 2017-07-15T13:16:57.144388Z] 13:16:57 INFO - family 6 model 45 stepping 7 [task 2017-07-15T13:16:57.146599Z] 13:16:57 INFO - 1 CPU [task 2017-07-15T13:16:57.148279Z] 13:16:57 INFO - [task 2017-07-15T13:16:57.155054Z] 13:16:57 INFO - GPU: UNKNOWN [task 2017-07-15T13:16:57.156792Z] 13:16:57 INFO - [task 2017-07-15T13:16:57.158460Z] 13:16:57 INFO - Crash reason: SIGSEGV [task 2017-07-15T13:16:57.160150Z] 13:16:57 INFO - Crash address: 0x0 [task 2017-07-15T13:16:57.161846Z] 13:16:57 INFO - Process uptime: not available [task 2017-07-15T13:16:57.163489Z] 13:16:57 INFO - [task 2017-07-15T13:16:57.165221Z] 13:16:57 INFO - Thread 34 (crashed) [task 2017-07-15T13:16:57.167064Z] 13:16:57 INFO - 0 libxul.so!mozilla::storage::Connection::internalClose [mozStorageConnection.cpp:03b8979ccf32 : 1016 + 0x18] [task 2017-07-15T13:16:57.168867Z] 13:16:57 INFO - rax = 0x0000000000000000 rdx = 0x0000000000000000 [task 2017-07-15T13:16:57.171185Z] 13:16:57 INFO - rcx = 0x00007f3aa0b976fd rbx = 0x0000000000000000 [task 2017-07-15T13:16:57.172967Z] 13:16:57 INFO - rsi = 0x00007f3aa0e66770 rdi = 0x00007f3aa0e65540 [task 2017-07-15T13:16:57.178167Z] 13:16:57 INFO - rbp = 0x00007f3a6b2feb30 rsp = 0x00007f3a6b2fea80 [task 2017-07-15T13:16:57.180061Z] 13:16:57 INFO - r8 = 0x00007f3aa0e66770 r9 = 0x00007f3a6b2ff700 [task 2017-07-15T13:16:57.181862Z] 13:16:57 INFO - r10 = 0x0000000000000012 r11 = 0x0000000000000000 [task 2017-07-15T13:16:57.183626Z] 13:16:57 INFO - r12 = 0x00007f3a6b2feaa0 r13 = 0x00007f3a6b2fea98 [task 2017-07-15T13:16:57.185443Z] 13:16:57 INFO - r14 = 0x00007f3a6c051400 r15 = 0x00007f3a6b466960 [task 2017-07-15T13:16:57.187151Z] 13:16:57 INFO - rip = 0x00007f3a90568516 [task 2017-07-15T13:16:57.188905Z] 13:16:57 INFO - Found by: given as instruction pointer in context [task 2017-07-15T13:16:57.190730Z] 13:16:57 INFO - 1 libxul.so!AsyncCloseConnection::Run [mozStorageConnection.cpp:03b8979ccf32 : 399 + 0x5] [task 2017-07-15T13:16:57.192526Z] 13:16:57 INFO - rbx = 0x00007f3a6b3462c0 rbp = 0x00007f3a6b2feb80 [task 2017-07-15T13:16:57.194268Z] 13:16:57 INFO - rsp = 0x00007f3a6b2feb40 r12 = 0x00007f3a6b466940 [task 2017-07-15T13:16:57.196588Z] 13:16:57 INFO - r13 = 0x00007f3a6b2feb58 r14 = 0x00007f3a6b2feb48 [task 2017-07-15T13:16:57.198329Z] 13:16:57 INFO - r15 = 0x00007f3a6b2febd8 rip = 0x00007f3a9056a6f5 [task 2017-07-15T13:16:57.200059Z] 13:16:57 INFO - Found by: call frame info [task 2017-07-15T13:16:57.201898Z] 13:16:57 INFO - 2 libxul.so!nsThread::ProcessNextEvent [nsThread.cpp:03b8979ccf32 : 1437 + 0x11] [task 2017-07-15T13:16:57.203667Z] 13:16:57 INFO - rbx = 0x00007f3a71b50650 rbp = 0x00007f3a6b2fed20 [task 2017-07-15T13:16:57.205428Z] 13:16:57 INFO - rsp = 0x00007f3a6b2feb90 r12 = 0x00007f3a6b2fec90 [task 2017-07-15T13:16:57.207164Z] 13:16:57 INFO - r13 = 0x00007f3a6b2fec68 r14 = 0x00007f3a6b2fec00 [task 2017-07-15T13:16:57.208913Z] 13:16:57 INFO - r15 = 0x00007f3a6b2febd8 rip = 0x00007f3a8fe2b2f3 [task 2017-07-15T13:16:57.210611Z] 13:16:57 INFO - Found by: call frame info [task 2017-07-15T13:16:57.213109Z] 13:16:57 INFO - 3 libxul.so!NS_ProcessNextEvent [nsThreadUtils.cpp:03b8979ccf32 : 489 + 0x11] [task 2017-07-15T13:16:57.214893Z] 13:16:57 INFO - rbx = 0x00007f3a71b50650 rbp = 0x00007f3a6b2fed50 [task 2017-07-15T13:16:57.217131Z] 13:16:57 INFO - rsp = 0x00007f3a6b2fed30 r12 = 0x0000000000000001 [task 2017-07-15T13:16:57.218924Z] 13:16:57 INFO - r13 = 0x00007f3a6b45e7b0 r14 = 0x00007f3a71b50650 [task 2017-07-15T13:16:57.220720Z] 13:16:57 INFO - r15 = 0x00007f3a71b50600 rip = 0x00007f3a8fe26f45 [task 2017-07-15T13:16:57.222418Z] 13:16:57 INFO - Found by: call frame info [task 2017-07-15T13:16:57.224256Z] 13:16:57 INFO - 4 libxul.so!mozilla::ipc::MessagePumpForNonMainThreads::Run [MessagePump.cpp:03b8979ccf32 : 369 + 0xd] [task 2017-07-15T13:16:57.226030Z] 13:16:57 INFO - rbx = 0x00007f3a6b45e780 rbp = 0x00007f3a6b2fedc0 [task 2017-07-15T13:16:57.227783Z] 13:16:57 INFO - rsp = 0x00007f3a6b2fed60 r12 = 0x00007f3a6dadaf80 [task 2017-07-15T13:16:57.229561Z] 13:16:57 INFO - r13 = 0x00007f3a6b45e7b0 r14 = 0x00007f3a71b50650 [task 2017-07-15T13:16:57.231324Z] 13:16:57 INFO - r15 = 0x00007f3a71b50600 rip = 0x00007f3a901ddb94 [task 2017-07-15T13:16:57.233055Z] 13:16:57 INFO - Found by: call frame info [task 2017-07-15T13:16:57.234832Z] 13:16:57 INFO - 5 libxul.so!MessageLoop::RunInternal [message_loop.cc:03b8979ccf32 : 320 + 0x17] [task 2017-07-15T13:16:57.239194Z] 13:16:57 INFO - rbx = 0x00007f3a6dadaf80 rbp = 0x00007f3a6b2fee00 [task 2017-07-15T13:16:57.241573Z] 13:16:57 INFO - rsp = 0x00007f3a6b2fedd0 r12 = 0x00007f3a6b2fee70 [task 2017-07-15T13:16:57.243385Z] 13:16:57 INFO - r13 = 0x00007f3a6b2fee80 r14 = 0x00007f3a6dadaf80 [task 2017-07-15T13:16:57.245193Z] 13:16:57 INFO - r15 = 0x00007f3a71b50678 rip = 0x00007f3a901b1409 [task 2017-07-15T13:16:57.246921Z] 13:16:57 INFO - Found by: call frame info [task 2017-07-15T13:16:57.248698Z] 13:16:57 INFO - 6 libxul.so!MessageLoop::Run [message_loop.cc:03b8979ccf32 : 313 + 0x8] [task 2017-07-15T13:16:57.250455Z] 13:16:57 INFO - rbx = 0x00007f3a6dadaf80 rbp = 0x00007f3a6b2fee40 [task 2017-07-15T13:16:57.252194Z] 13:16:57 INFO - rsp = 0x00007f3a6b2fee10 r12 = 0x00007f3a6b2fee70 [task 2017-07-15T13:16:57.253958Z] 13:16:57 INFO - r13 = 0x00007f3a6b2fee80 r14 = 0x00007f3a6dadaf80 [task 2017-07-15T13:16:57.255897Z] 13:16:57 INFO - r15 = 0x00007f3a71b50678 rip = 0x00007f3a901b1430 [task 2017-07-15T13:16:57.257891Z] 13:16:57 INFO - Found by: call frame info [task 2017-07-15T13:16:57.259697Z] 13:16:57 INFO - 7 libxul.so!nsThread::ThreadFunc [nsThread.cpp:03b8979ccf32 : 506 + 0x8] [task 2017-07-15T13:16:57.261492Z] 13:16:57 INFO - rbx = 0x00007f3a71b50650 rbp = 0x00007f3a6b2feec0 [task 2017-07-15T13:16:57.264122Z] 13:16:57 INFO - rsp = 0x00007f3a6b2fee50 r12 = 0x00007f3a6b2fee70 [task 2017-07-15T13:16:57.265947Z] 13:16:57 INFO - r13 = 0x00007f3a6b2fee80 r14 = 0x00007f3a6dadaf80 [task 2017-07-15T13:16:57.267693Z] 13:16:57 INFO - r15 = 0x00007f3a71b50678 rip = 0x00007f3a8fe27113 [task 2017-07-15T13:16:57.269422Z] 13:16:57 INFO - Found by: call frame info [task 2017-07-15T13:16:57.271180Z] 13:16:57 INFO - 8 libnspr4.so!_pt_root [ptthread.c:03b8979ccf32 : 216 + 0x7] [task 2017-07-15T13:16:57.272959Z] 13:16:57 INFO - rbx = 0x00007f3a6b466a60 rbp = 0x00007f3a6b2fef10 [task 2017-07-15T13:16:57.274767Z] 13:16:57 INFO - rsp = 0x00007f3a6b2feed0 r12 = 0x0000000000000000 [task 2017-07-15T13:16:57.276533Z] 13:16:57 INFO - r13 = 0x00000000000006ac r14 = 0x00007f3a6b2ff700 [task 2017-07-15T13:16:57.278282Z] 13:16:57 INFO - r15 = 0x00007f3a6b2ff670 rip = 0x00007f3aa03d2f97 [task 2017-07-15T13:16:57.279963Z] 13:16:57 INFO - Found by: call frame info [task 2017-07-15T13:16:57.281811Z] 13:16:57 INFO - 9 libpthread-2.23.so + 0x76ba [task 2017-07-15T13:16:57.283879Z] 13:16:57 INFO - rbx = 0x0000000000000000 rbp = 0x0000000000000000 [task 2017-07-15T13:16:57.286025Z] 13:16:57 INFO - rsp = 0x00007f3a6b2fef20 r12 = 0x0000000000000000 [task 2017-07-15T13:16:57.287813Z] 13:16:57 INFO - r13 = 0x00007ffc0706b40f r14 = 0x00007f3a6b2ff9c0 [task 2017-07-15T13:16:57.289590Z] 13:16:57 INFO - r15 = 0x00007ffc0706b4a0 rip = 0x00007f3aa1b1e6ba [task 2017-07-15T13:16:57.291281Z] 13:16:57 INFO - Found by: call frame info [task 2017-07-15T13:16:57.292978Z] 13:16:57 INFO - 10 libc-2.23.so + 0x10682d [task 2017-07-15T13:16:57.294716Z] 13:16:57 INFO - rsp = 0x00007f3a6b2fefc0 rip = 0x00007f3aa0ba782d [task 2017-07-15T13:16:57.296479Z] 13:16:57 INFO - Found by: stack scanning
Flags: needinfo?(mak77)
(In reply to Marco Bonardo [::mak] from comment #11) > Comment on attachment 8886772 [details] > Bug 1354032 - Remove Places analyze call and use PRAGMA optimize(0x02) for > optimizations. > > https://reviewboard.mozilla.org/r/157566/#review162690 Thanks Marco. Actually my Mozilla setup is corrupted so I am not able to work further on this. It will take time for me to set up again. Please go ahead with your modifications.
Pushed by mak77@bonardo.net: https://hg.mozilla.org/integration/autoland/rev/f32a1cf344aa Remove Places analyze call and use PRAGMA optimize(0x02) for optimizations. r=mak
I filed bug 1381458 about the issue we hit with unfinalized statements. For now here I just moved to a simpler API call that will basically just do the same without causing finalization races.
Flags: needinfo?(mak77)
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
Too late for 55. Mark 55 won't fix.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: