Closed
Bug 873391
Opened 11 years ago
Closed 11 years ago
[regression] Volume state changes get processed out of order in child processes
Categories
(Firefox OS Graveyard :: General, defect)
Tracking
(blocking-b2g:leo+, firefox22 wontfix, firefox23 wontfix, firefox24 fixed, b2g18 fixed, b2g18-v1.0.0 wontfix, b2g18-v1.0.1 wontfix)
RESOLVED
FIXED
blocking-b2g | leo+ |
People
(Reporter: dhylands, Assigned: dhylands)
References
Details
(Whiteboard: [fixed-in-birch])
Attachments
(2 files)
6.77 KB,
patch
|
qdot
:
review+
|
Details | Diff | Splinter Review |
6.16 KB,
patch
|
dhylands
:
review+
|
Details | Diff | Splinter Review |
As part of testing bug 872800 on b2g18 I discovered that the volume status wasn't always being reported correctly. I haven't noticed this problem on master.
I determined the root cause to be that device storage and nsVolumeService both use the NS_VOLUME_STATE_CHANGED message in the child, but device storage may get called before nsVolumeService has updated the volume state, which causes device storage to get bad state information.
I marked this as leo+ since it affects bug 872800 which is leo+
The solution, is to have ContentChild::RecvFileSystemUpdate call some new method in nsVolumeService to update the volume state, and have that method Notify the observers, rather than having nsVolumeService itself be an observer.
This particular regression was introduced as part of bug 838038.
Assignee | ||
Updated•11 years ago
|
QA Contact: dhylands
Assignee | ||
Comment 1•11 years ago
|
||
This patch causes the NS_VOLUME_STATE_CHANGED messages delivered to the child process to be processed by the volume service first (so it can update it's cache). Then other observers will get notified.
Assignee | ||
Comment 2•11 years ago
|
||
Comment on attachment 751049 [details] [diff] [review]
Process volume change notifications in the volume service (child) first.
Review of attachment 751049 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/devicestorage/nsDeviceStorage.cpp
@@ +20,5 @@
> #include "mozilla/LazyIdleThread.h"
>
> #include "nsAutoPtr.h"
> #include "nsDOMEvent.h"
> +#include "nsServiceManagerUtils.h"o
That's not supposed to be there....
Attachment #751049 -
Flags: review?(kyle)
Comment 3•11 years ago
|
||
Comment on attachment 751049 [details] [diff] [review]
Process volume change notifications in the volume service (child) first.
Review of attachment 751049 [details] [diff] [review]:
-----------------------------------------------------------------
r=me with nit you already found fixed.
Attachment #751049 -
Flags: review?(kyle) → review+
Assignee | ||
Comment 4•11 years ago
|
||
Whiteboard: [fixed-in-birch]
Comment 6•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Comment 7•11 years ago
|
||
status-b2g18:
--- → fixed
status-b2g18-v1.0.0:
--- → wontfix
status-b2g18-v1.0.1:
--- → wontfix
status-firefox22:
--- → wontfix
status-firefox23:
--- → wontfix
status-firefox24:
--- → fixed
Updated•11 years ago
|
Flags: in-moztrap-
You need to log in
before you can comment on or make changes to this bug.
Description
•