See https://tbpl.mozilla.org/php/getParsedLog.php?id=30577161&tree=Pine&full=1#error1 FWIW, dom/permission/tests/test_idle.html runs earlier in the same chunk.
I think this is the cause for the random orange on M4. We should try to disable this test: /tests/dom/permission/tests/test_idle.html
I've just disabled this on cedar.
I haven't seen this error since jgriffin disabled it. Was this debug only though? As I don't think it got disabled for opt yet.
It looks like disabling that test did clear up M4, aside from the shutdown crash which bug 934009 addresses.
I think this service, as it is, should only run in the master process. Child processes should simply forward their requests to the master.
At the very least, the daily stuff should just be disabled in child processes.
Created attachment 8346571 [details] [diff] [review] Remote IdleService, disable idle-daily in content processes Something like this? Keeping track of an id->pointer map in parent and child is a PITA, does anyonek now if there's an easier way to do that? Is sending |static_cast<intptr_t>(ptr)| too hacky?
Comment on attachment 8346571 [details] [diff] [review] Remote IdleService, disable idle-daily in content processes Review of attachment 8346571 [details] [diff] [review]: ----------------------------------------------------------------- This is good but I think we can simplify it a bit. Instead of allocating IDs in ContentChild and keeping an ID-to-observer map there, we can just have ContentChild::AddIdleObserver/RemoveIdleObserver cast the observer pointer to a uint64_t and forward directly to the parent. When notified by the parent, we just cast the uint64_t back to a pointer and notify on it. We have to trust the parent process anyway. ContentChild still needs to AddRef and Release the observer to maintain current lifetime semantics.
Created attachment 8347034 [details] [diff] [review] Remote IdleService, disable idle-daily in content processes, v2 Nice, that makes things significantly simpler! I assumed sending pointers across processes would be frowned upon, but this makes a lot of sense :)