Closed Bug 785233 Opened 7 years ago Closed 7 years ago

Aborting with "[Child 2353] ###!!! ASSERTION: Must have an actor here!: 'dbActor', file /home/cjones/mozilla/inbound/dom/indexedDB/IDBTransaction.cpp, line 132" from Clock app

Categories

(Core :: Storage: IndexedDB, defect)

ARM
Gonk (Firefox OS)
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla18
blocking-basecamp +

People

(Reporter: cjones, Assigned: gwagner)

References

Details

(Whiteboard: [LOE:S])

Attachments

(1 file)

STR
 (1) Configure alarm to fire
 (2) Wait for it to fire
 (3) Close notification window
 (4) Tap alarm to reconfigure
 (5) Change to new time
 (6) Click "Done"

Then you get I/Gecko   ( 2614): [Child 2614] ###!!! ASSERTION: Must have an actor here!: 'dbActor', file /home/cjones/mozilla/inbound/dom/indexedDB/IDBTransaction.cpp, line 132

Reproducible.

Might be a bug in the clock app, but we need to deal with that gracefully, can't crash.
Duplicate of this bug: 784903
Assignee: nobody → clian
  else if (!aIsVersionChangeTransactionChild) {
    IndexedDBDatabaseChild* dbActor = aDatabase->GetActorChild();
    NS_ASSERTION(dbActor, "Must have an actor here!");

    ipc::NormalTransactionParams params;
    params.names().AppendElements(aObjectStoreNames);
    params.mode() = aMode;

    actor = new IndexedDBTransactionChild();

    dbActor->SendPIndexedDBTransactionConstructor(actor, params);
  }

(gdb) p dbActor
$4 = (mozilla::dom::indexedDB::IndexedDBDatabaseChild *) 0x0

Aroo?  bent, thoughts?
We're here in SettingsManager.js

  getLock: function() {
    debug("get lock!");
    var lock = new SettingsLock(this);
    this._locks.enqueue(lock);
    this._settingsDB.ensureDB(
      function() { lock.createTransactionAndProcess(); },
Whiteboard: [LOE:S]
0 anonymous() ["jar:file:///system/b2g/omni.ja!/components/SettingsManager.js":140]
    this = [object Object]
1 anonymous() ["jar:file:///system/b2g/omni.ja!/components/SettingsManager.js":253]
    this = undefined
2 ensureDB() ["resource://gre/modules/IndexedDBHelper.jsm":86]
    this = [object Object]
3 anonymous() ["jar:file:///system/b2g/omni.ja!/components/SettingsManager.js":255]
    this = [object Object]
4 anonymous() ["app://clock.gaiamobile.org/js/alarm.js":444]
    this = [object DOMRequest @ 0x45053f80 (native @ 0x45053f00)]
Need to |cd gaia && git apply| this patch to make the clock app OOP

diff --git a/apps/system/js/window_manager.js b/apps/system/js/window_manager.js
index 7e30e57..db18eb7 100644
--- a/apps/system/js/window_manager.js
+++ b/apps/system/js/window_manager.js
@@ -360,7 +360,7 @@ var WindowManager = (function() {
       'Camera',
       // Can't open camera HAL from content processes (bug 782456)
 
-      'Clock',
+//      'Clock',
       // Crashing when dismissing the alert window (bug 785166)
 
       'E-Mail',
(And |make install-gaia| from the $gaia directory after applying the patch.)
Assignee: clian → anygregor
Attached patch patchSplinter Review
bent found it!
Attachment #656524 - Flags: review?(mrbkap)
Comment on attachment 656524 [details] [diff] [review]
patch

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

::: dom/settings/SettingsManager.js
@@ +215,5 @@
>  let myGlobal = this;
>  
>  function SettingsManager()
>  {
> +  debug("new settingsmanager!");

You probably want to nuke this.
Attachment #656524 - Flags: review?(mrbkap) → review+
Blocks: 786814
https://hg.mozilla.org/mozilla-central/rev/706174d31a02
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla18
You need to log in before you can comment on or make changes to this bug.