Closed Bug 1155673 Opened 9 years ago Closed 8 years ago

Intermittent browser_420786.js | application crashed [@ mozilla::storage::AsyncExecuteStatements::execute(nsTArray<mozilla::storage::StatementData>&, mozilla::storage::Connection*, sqlite3*, mozIStorageStatementCallback*, mozIStoragePendingStatement**)] |

Categories

(Toolkit :: Storage, defect, P3)

x86
macOS
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: cbook, Unassigned)

References

()

Details

(Keywords: crash, intermittent-failure)

Rev4 MacOSX Snow Leopard 10.6 mozilla-inbound debug test mochitest-browser-chrome-1

https://treeherder.mozilla.org/logviewer.html#?job_id=8978906&repo=mozilla-inbound

06:35:25 INFO - Assertion failure: target, at /builds/slave/m-in-m64-d-0000000000000000000/build/src/storage/src/mozStorageAsyncStatementExecution.cpp:185
06:35:25 INFO - #01: NS_InvokeByIndex [xpcom/reflect/xptcall/md/unix/xptcinvoke_x86_64_unix.cpp:174]
06:35:25 INFO - #02: CallMethodHelper::Call() [js/xpconnect/src/XPCWrappedNative.cpp:1417]
06:35:25 INFO - #03: XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) [js/xpconnect/src/XPCWrappedNative.cpp:1384]
06:35:25 INFO - #04: XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) [js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1140]
06:35:25 INFO - #05: js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) [js/src/jscntxtinlines.h:235]
06:35:25 INFO - #06: js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) [js/src/vm/Interpreter.cpp:720]
06:35:25 INFO - #07: Interpret [js/src/vm/Interpreter.cpp:2956]
06:35:25 INFO - #08: js::RunScript(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:677]
06:35:25 INFO - #09: js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) [js/src/vm/Interpreter.cpp:746]
06:35:25 INFO - #10: js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value const*, JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:783]
06:35:25 INFO - #11: JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) [js/src/jsapi.cpp:4375]
06:35:25 INFO - #12: mozilla::dom::PromiseInit::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JSObject*>, JS::Handle<JSObject*>, mozilla::ErrorResult&) [obj-firefox/dom/bindings/PromiseBinding.cpp:48]
06:35:25 INFO - #13: mozilla::dom::Promise::CallInitFunction(mozilla::dom::GlobalObject const&, mozilla::dom::PromiseInit&, mozilla::ErrorResult&) [obj-firefox/dist/include/mozilla/dom/PromiseBinding.h:69]
06:35:25 INFO - #14: mozilla::dom::Promise::Constructor(mozilla::dom::GlobalObject const&, mozilla::dom::PromiseInit&, mozilla::ErrorResult&) [dom/bindings/ErrorResult.h:147]
06:35:25 INFO - #15: mozilla::dom::PromiseBinding::_constructor [mfbt/AlreadyAddRefed.h:138]
06:35:25 INFO - #16: js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) [js/src/jscntxtinlines.h:235]
06:35:25 INFO - #17: js::CallJSNativeConstructor(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) [js/src/jscntxtinlines.h:268]
06:35:25 INFO - #18: js::InvokeConstructor(JSContext*, JS::CallArgs) [js/src/vm/Interpreter.cpp:821]
06:35:25 INFO - #19: Interpret [js/src/vm/Interpreter.cpp:2953]
06:35:25 INFO - #20: js::RunScript(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:677]
06:35:25 INFO - #21: js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) [js/src/vm/Interpreter.cpp:746]
06:35:25 INFO - #22: js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value const*, JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:783]
06:35:25 INFO - #23: js::DirectProxyHandler::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const [js/src/proxy/DirectProxyHandler.cpp:77]
06:35:25 INFO - #24: js::CrossCompartmentWrapper::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const [js/src/proxy/CrossCompartmentWrapper.cpp:289]
06:35:25 INFO - #25: js::Proxy::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) [js/src/proxy/Proxy.cpp:391]
06:35:25 INFO - #26: js::proxy_Call(JSContext*, unsigned int, JS::Value*) [js/src/proxy/Proxy.cpp:697]
06:35:25 INFO - #27: js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) [js/src/jscntxtinlines.h:235]
06:35:25 INFO - #28: js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) [js/src/vm/Interpreter.cpp:720]
06:35:25 INFO - #29: Interpret [js/src/vm/Interpreter.cpp:2956]
06:35:25 INFO - #30: js::RunScript(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:677]
06:35:25 INFO - #31: js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) [js/src/vm/Interpreter.cpp:746]
06:35:25 INFO - #32: js::jit::InterpretResume(JSContext*, JS::Handle<JSObject*>, JS::H

06:35:51 WARNING - PROCESS-CRASH | browser/components/shell/test/browser_420786.js | application crashed [@ mozilla::storage::AsyncExecuteStatements::execute(nsTArray<mozilla::storage::StatementData>&, mozilla::storage::Connection*, sqlite3*, mozIStorageStatementCallback*, mozIStoragePendingStatement**)]
06:35:51 INFO - Crash dump filename: /var/folders/g9/g9ThQ74+GEOOQn2ooi8eOE+++-k/-Tmp-/tmpcAyhPS.mozrunner/minidumps/DD570989-76F9-4BB2-9E56-6B6EE9A00E8D.dmp
06:35:51 INFO - Operating system: Mac OS X
06:35:51 INFO - 10.6.8 10K549
06:35:51 INFO - CPU: amd64
06:35:51 INFO - family 6 model 23 stepping 10
06:35:51 INFO - 2 CPUs
06:35:51 INFO - Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
06:35:51 INFO - Crash address: 0x0
06:35:51 INFO - Thread 0 (crashed)
06:35:51 INFO - 0 XUL!mozilla::storage::AsyncExecuteStatements::execute(nsTArray<mozilla::storage::StatementData>&, mozilla::storage::Connection*, sqlite3*, mozIStorageStatementCallback*, mozIStoragePendingStatement**) [mozStorageAsyncStatementExecution.cpp:6f89775dedd6 : 185 + 0x0]
06:35:51 INFO - rbx = 0x00007fff711b22f8 r12 = 0x000000011eb8ba20
06:35:51 INFO - r13 = 0x000000011e176840 r14 = 0x00007fff5fbf0c40
06:35:51 INFO - r15 = 0x000000011f4c4110 rip = 0x0000000101d6817c
06:35:51 INFO - rsp = 0x00007fff5fbf0be0 rbp = 0x00007fff5fbf0c10
06:35:51 INFO - Found by: given as instruction pointer in context
06:35:51 INFO - 1 XUL!mozilla::storage::StorageBaseStatementInternal::ExecuteAsync(mozIStorageStatementCallback*, mozIStoragePendingStatement**) [StorageBaseStatementInternal.cpp:6f89775dedd6 : 197 + 0x11]
06:35:51 INFO - rbx = 0x000000012cdf66e8 r12 = 0x000000011e176840
06:35:51 INFO - r13 = 0x00007fff5fbf0c40 r14 = 0x0000000000000000
06:35:51 INFO - r15 = 0x00007fff5fbf0dc0 rip = 0x0000000101d67ee7
06:35:51 INFO - rsp = 0x00007fff5fbf0c20 rbp = 0x00007fff5fbf0c70
06:35:51 INFO - Found by: call frame info
06:35:51 INFO - 2 XUL!NS_InvokeByIndex [xptcinvoke_x86_64_unix.cpp:6f89775dedd6 : 174 + 0x3]
06:35:51 INFO - rbx = 0x0000000000000092 r12 = 0x000000011dc0e200
06:35:51 INFO - r13 = 0x00007fff5fbf0d60 r14 = 0x00007fff5fbf0c80
06:35:51 INFO - r15 = 0x0000000000000002 rip = 0x0000000101508bdd
06:35:51 INFO - rsp = 0x00007fff5fbf0c80 rbp = 0x00007fff5fbf0d10
06:35:51 INFO - Found by: call frame info
06:35:51 INFO - 3 XUL!CallMethodHelper::Call() [XPCWrappedNative.cpp:6f89775dedd6 : 2080 + 0x4]
06:35:51 INFO - rbx = 0x00000001076f6100 r12 = 0x000000011dc0e200
06:35:51 INFO - r13 = 0x00007fff5fbf0d60 r14 = 0x00007fff5fbf0d02
06:35:51 INFO - r15 = 0x0000000000000002 rip = 0x0000000101d22204
06:35:51 INFO - rsp = 0x00007fff5fbf0d20 rbp = 0x00007fff5fbf0d50
06:35:51 INFO - Found by: call frame info
06:35:51 INFO - 4 XUL!XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) [XPCWrappedNative.cpp:6f89775dedd6 : 1384 + 0x7]
06:35:51 INFO - rbx = 0x00007fff5fbf0ee0 r12 = 0x000000011dc0e2e0
06:35:51 INFO - r13 = 0x0000000109435450 r14 = 0x00007fff5fbf0d60
06:35:51 INFO - r15 = 0x00007fff711b45e0 rip = 0x0000000101d0a72b
06:35:51 INFO - rsp = 0x00007fff5fbf0d60 rbp = 0x00007fff5fbf0ea0
06:35:51 INFO - Found by: call frame info
06:35:51 INFO - 5 XUL!XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) [XPCWrappedNativeJSOps.cpp:6f89775dedd6 : 1140 + 0x7]
06:35:51 INFO - rbx = 0x00007fff5fbf0ee0 r12 = 0x000000011dc0e2e0
06:35:51 INFO - r13 = 0x0000000109435450 r14 = 0x000000011dc0e2e0
06:35:51 INFO - r15 = 0x00000001003ac690 rip = 0x0000000101d0c264
06:35:51 INFO - rsp = 0x00007fff5fbf0eb0 rbp = 0x00007fff5fbf1020
06:35:51 INFO - Found by: call frame info
06:35:51 INF
Component: General → Storage
Flags: needinfo?(bugmail)
Product: Core → Toolkit
This is a places shutdown bug that storage is making more dramatic.

==== Extra log excerpt preceding the above log:
 [1329] WARNING: SQL statement 'SELECT b.guid, IFNULL(p.guid, "") AS parentGuid, b.position AS 'index',
06:35:25 INFO - b.dateAdded, b.lastModified, b.type, b.title, h.url AS url,
06:35:25 INFO - b.id AS _id, b.parent AS _parentId,
06:35:25 INFO - (SELECT count(*) FROM moz_bookmarks WHERE parent = b.id) AS _childCount,
06:35:25 INFO - p.parent AS _grandParentId
06:35:25 INFO - FROM moz_bookmarks b
06:35:25 INFO - LEFT JOIN moz_bookmarks p ON p.id = b.parent
06:35:25 INFO - LEFT JOIN moz_places h ON h.id = b.fk
06:35:25 INFO - WHERE p.guid = :parentGuid
06:35:25 INFO - AND b.position = IFNULL(:index, (SELECT count(*) - 1
06:35:25 INFO - FROM moz_bookmarks
06:35:25 INFO - WHERE parent = p.id))
06:35:25 INFO - ' (331ed0) should have been finalized before closing the connection: file /builds/slave/m-in-m64-d-0000000000000000000/build/src/storage/src/mozStorageConnection.cpp, line 945
06:35:25 INFO - [1329] WARNING: SQL statement 'WITH RECURSIVE
06:35:25 INFO - ancestors(aid) AS (
06:35:25 INFO - SELECT id FROM moz_bookmarks WHERE guid = :guid
06:35:25 INFO - UNION ALL
06:35:25 INFO - SELECT parent FROM moz_bookmarks
06:35:25 INFO - JOIN ancestors ON id = aid
06:35:25 INFO - WHERE type = :type
06:35:25 INFO - )
06:35:25 INFO - UPDATE moz_bookmarks SET lastModified = :time
06:35:25 INFO - WHERE id IN ancestors
06:35:25 INFO - ' (2cbe87a0) should have been finalized before closing the connection: file /builds/slave/m-in-m64-d-0000000000000000000/build/src/storage/src/mozStorageConnection.cpp, line 945
06:35:25 INFO - [1329] WARNING: SQL statement 'INSERT INTO moz_bookmarks (fk, type, parent, position, title,
06:35:25 INFO - dateAdded, lastModified, guid)
06:35:25 INFO - VALUES ((SELECT id FROM moz_places WHERE url = :url), :type, :parent,
06:35:25 INFO - :index, :title, :date_added, :last_modified, :guid)
06:35:25 INFO - ' (2cbe8410) should have been finalized before closing the connection: file /builds/slave/m-in-m64-d-0000000000000000000/build/src/storage/src/mozStorageConnection.cpp, line 945
06:35:25 INFO - [1329] WARNING: SQL statement 'UPDATE moz_bookmarks SET position = position + 1
06:35:25 INFO - WHERE parent = :parent
06:35:25 INFO - AND position >= :index
06:35:25 INFO - ' (2cbe8080) should have been finalized before closing the connection: file /builds/slave/m-in-m64-d-0000000000000000000/build/src/storage/src/mozStorageConnection.cpp, line 945
06:35:25 INFO - [1329] WARNING: SQL statement 'INSERT OR IGNORE INTO moz_places (url, rev_host, hidden, frecency, guid)
06:35:25 INFO - VALUES (:url, :rev_host, 0, :frecency, GENERATE_GUID())
06:35:25 INFO - ' (2cbe7e20) should have been finalized before closing the connection: file /builds/slave/m-in-m64-d-0000000000000000000
=====

So that tells us that Storage already ran our last-ditch, end of the-line shutdown cleanup, and Places tried to schedule more stuff to run to run async, and we exploded because that is allegedly a bug in Places.

Leaving this in storage until mak investigates a little bit more because maybe mozStorage should be less judgemental and explodey.  Or maybe it shouldn't.  Either way, mak is the right person to make the call in all cases :)
Flags: needinfo?(bugmail) → needinfo?(mak77)
another issue due to bug 1091851
Depends on: 1091851
Flags: needinfo?(mak77)
this might have been fixed by bug 1091851 that just landed, let's see.
Bulk assigning P3 to all open intermittent bugs without a priority set in Firefox components per bug 1298978.
Priority: -- → P3
Doesn't happen from a long time, I guess "recent" changes to Places shutdown may have helped.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.