Bug 1542485 Comment 26 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Picking another [random crash signature](https://crash-stats.mozilla.org/report/index/d4553293-7b0e-4ccc-94e6-0e70d0201027#allthreads), it seems we have three threads involved in the blocking situation:

At some point in time,  the `Quota Manager IO` thread started an [expensive or stalled disk operation](https://searchfox.org/mozilla-central/rev/c409dd9235c133ab41eba635f906aa16e050c197/dom/quota/ActorsParent.cpp#9775) deleting files, causing `gNormalOriginOps` to be non-empty.

Then:
* the `Main` thread sends a [`ShutdownQuotaManager`](https://hg.mozilla.org/mozilla-central/annotate/3d6ed9f4cf340215fb48fe1a8d414ac7e18488e7/dom/quota/ActorsParent.cpp#l3243) message to the `IPDL Background` thread
* the `Main` thread waits in the eventloop until [`mShutdownCompleted == true`](https://searchfox.org/mozilla-central/rev/c409dd9235c133ab41eba635f906aa16e050c197/dom/quota/ActorsParent.cpp#3092-3097)
  * The `IPDL Background` thread [send a shutdown event to all work threads](https://searchfox.org/mozilla-central/rev/c409dd9235c133ab41eba635f906aa16e050c197/dom/quota/ActorsParent.cpp#4091-4095). This most probably includes the `Quota Manager IO` thread.
  * The `IPDL Background` thread waits in an event loop [until `gNormalOriginOps` is emptied](https://searchfox.org/mozilla-central/rev/c409dd9235c133ab41eba635f906aa16e050c197/dom/quota/ActorsParent.cpp#2124), that is until all normal operations terminated
    * The `Quota Manager IO` thread is still stuck in the [expensive or stalled disk operation](https://searchfox.org/mozilla-central/rev/c409dd9235c133ab41eba635f906aa16e050c197/dom/quota/ActorsParent.cpp#9775) deleting files and will not get a chance to elaborate the shutdown event sent by the `IPDL Background` thread.
  * The `IPDL Background` thread still spins the event loop, always waiting for `gNormalOriginOps` to be empty.
* The `Main` thread times out, causing the crash.

Deleting files might indicate some interference with other modules' or extensions' shutdown behavior? At least I see in this particular crash's metadata, that there are several ad-blocker and privacy extensions installed.

Alex, I see in your crash the same situation between those three threads. And in both crashes' metadata I see the uBlock extension (and the Firefox screenshot extension, which might save huge temporary data, too?).  Do you remember some particular task you did during the lifetime of the browser before shutting down (like taking dozens of screenshots, opening complex sites in private browsing mode, ...) ?
Picking another [random crash signature](https://crash-stats.mozilla.org/report/index/d4553293-7b0e-4ccc-94e6-0e70d0201027#allthreads), it seems we have three threads involved in the blocking situation:

At some point in time,  the `Quota Manager IO` thread started an [expensive or stalled disk operation](https://searchfox.org/mozilla-central/rev/c409dd9235c133ab41eba635f906aa16e050c197/dom/quota/ActorsParent.cpp#9775) deleting files, causing `gNormalOriginOps` to be non-empty.

Then:
* the `Main` thread sends a [`ShutdownQuotaManager`](https://hg.mozilla.org/mozilla-central/annotate/3d6ed9f4cf340215fb48fe1a8d414ac7e18488e7/dom/quota/ActorsParent.cpp#l3243) message to the `IPDL Background` thread
* the `Main` thread waits in the eventloop until [`mShutdownCompleted == true`](https://searchfox.org/mozilla-central/rev/c409dd9235c133ab41eba635f906aa16e050c197/dom/quota/ActorsParent.cpp#3092-3097)
  * The `IPDL Background` thread [sends a shutdown event to all work threads](https://searchfox.org/mozilla-central/rev/c409dd9235c133ab41eba635f906aa16e050c197/dom/quota/ActorsParent.cpp#4091-4095). This most probably includes the `Quota Manager IO` thread.
  * The `IPDL Background` thread waits in an event loop [until `gNormalOriginOps` is emptied](https://searchfox.org/mozilla-central/rev/c409dd9235c133ab41eba635f906aa16e050c197/dom/quota/ActorsParent.cpp#2124), that is until all normal operations terminated
    * The `Quota Manager IO` thread is still stuck in the [expensive or stalled disk operation](https://searchfox.org/mozilla-central/rev/c409dd9235c133ab41eba635f906aa16e050c197/dom/quota/ActorsParent.cpp#9775) deleting files and will not get a chance to elaborate the shutdown event sent by the `IPDL Background` thread.
  * The `IPDL Background` thread still spins the event loop, always waiting for `gNormalOriginOps` to be empty.
* The `Main` thread times out, causing the crash.

Deleting files might indicate some interference with other modules' or extensions' shutdown behavior? At least I see in this particular crash's metadata, that there are several ad-blocker and privacy extensions installed.

Alex, I see in your crash the same situation between those three threads. And in both crashes' metadata I see the uBlock extension (and the Firefox screenshot extension, which might save huge temporary data, too?).  Do you remember some particular task you did during the lifetime of the browser before shutting down (like taking dozens of screenshots, opening complex sites in private browsing mode, ...) ?

Back to Bug 1542485 Comment 26