Closed Bug 888284 Opened 11 years ago Closed 11 years ago

Security problem: Content process does not have `indexedDB-chrome-settings-write' kills e-mail app somehow

Categories

(Firefox OS Graveyard :: General, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: bsilverberg, Assigned: fabrice)

References

Details

(Whiteboard: [fromAutomation])

Attachments

(1 file)

With today's build from m-c, the email app no longer successfully launches. The email splash screen appears, and then the homescreen reappears and the app is not running. Looking at the logcat, I see this Javascript Error: E/GeckoConsole( 109): [JavaScript Error: "[Exception... "'Error: no message manager set' when calling method: [nsIObserver::observe]" nsresult: "0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)" location: "native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0" data: no]"] Build Info: Gecko http://hg.mozilla.org/mozilla-central/rev/8e3a124c9c1a Gaia 9e70675f17e450920090ccc8e58c076d3760771e BuildID 20130628031323 Version 25.0a1
Blocks: 801898
Whiteboard: [fromAutomation]
This sounds like a gaia platform issue or a gecko issue. Is e-mail really the only app dying?
I did test several apps, and email is the only one with which I saw this problem. I will test some more and document my findings here.
I tested the following apps on this build, and they are all fine: Camera, Gallery, FM Radio, Settings, Geoloc, Music2, Image Uploader, Calendar, Clock, Usage, Music, Video, Browser, Contacts, Messages, Phone The only app other than email that failed to launch was: Marketplace
Thanks for verifying this is localized to e-mail. Nothing in the hg log jumped out at me as the likely culprit. I've got a build running and will slap gdb on it later tonight to try and determine what path we are exercising that's triggering this. A wild guess is that it's our use of cookies early on in our startup path.
Assignee: nobody → bugmail
Status: NEW → ASSIGNED
The logcat I saw in this build : 06-28 16:05:27.926: E/Profiler(109): BPUnw: [11 total] thread_unregister_for_profiling(me=0x1d66f38) 06-28 16:05:35.163: E/Profiler(109): BPUnw: [10 total] thread_unregister_for_profiling(me=0x1d67048) 06-28 16:05:36.414: E/Profiler(109): BPUnw: [9 total] thread_unregister_for_profiling(me=0x1d66ff8) 06-28 16:05:36.604: I/Gonk(109): Setting nice for pid 697 to 1 06-28 16:05:36.604: I/Gonk(109): Changed nice for pid 697 from 0 to 1. 06-28 16:05:36.714: D/memalloc(109): /dev/pmem: Allocated buffer base:0x49600000 size:614400 offset:2457600 fd:117 06-28 16:05:36.714: D/memalloc(109): /dev/pmem: Allocated buffer base:0x49600000 size:614400 offset:3072000 fd:129 06-28 16:05:37.005: E/Profiler(697): BEGIN mozilla_sampler_init 06-28 16:05:37.005: E/Profiler(697): BPUnw: [1 total] thread_register_for_profiling(me=0x401334f8, stacktop=0xbeadf927) 06-28 16:05:37.005: E/Profiler(697): SPS: 06-28 16:05:37.005: E/Profiler(697): SPS: Unwind mode = pseudo 06-28 16:05:37.005: E/Profiler(697): SPS: Sampling interval = 0 ms (zero means "platform default") 06-28 16:05:37.005: E/Profiler(697): SPS: UnwindStackScan = 0 (max dubious frames per unwind). 06-28 16:05:37.005: E/Profiler(697): SPS: Use env var MOZ_PROFILER_MODE=help for further information. 06-28 16:05:37.005: E/Profiler(697): SPS: 06-28 16:05:37.005: E/Profiler(697): Registering start signal 06-28 16:05:37.015: E/Profiler(697): BPUnw: [2 total] thread_register_for_profiling(me=0x1d55188, stacktop=0x42e72ec7) 06-28 16:05:37.095: E/GeckoConsole(697): Could not read chrome manifest 'file:///system/b2g/chrome.manifest'. 06-28 16:05:37.405: E/Profiler(109): BPUnw: [10 total] thread_register_for_profiling(me=0x1d66f38, stacktop=0x467ffe4f) 06-28 16:05:37.405: E/Profiler(697): BPUnw: [3 total] thread_register_for_profiling(me=0x1d55368, stacktop=0x43affec7) 06-28 16:05:37.755: I/Gecko(697): ###################################### forms.js loaded 06-28 16:05:37.775: I/Gecko(697): ############################### browserElementPanning.js loaded 06-28 16:05:37.836: I/Gecko(697): ######################## BrowserElementChildPreload.js loaded 06-28 16:05:38.556: E/Profiler(109): BPUnw: [11 total] thread_register_for_profiling(me=0x1d67048, stacktop=0x46effe4f) 06-28 16:05:38.676: I/GeckoDump(697): [32mLOG: got localized![0m 06-28 16:05:38.736: I/Gecko(109): Security problem: Content process does not have `indexedDB-chrome-settings-write'. It will be killed. 06-28 16:05:38.736: I/Gecko(109): IPDL protocol error: Handler for PIndexedDBTransaction returned error code 06-28 16:05:38.736: I/Gecko(109): ###!!! [Parent][AsyncChannel] Error: Processing error: message was deserialized, but the handler returned false (indicating failure) 06-28 16:05:38.746: I/Gecko(109): ###!!! [Parent][AsyncChannel] Error: Channel error: cannot send/recv 06-28 16:05:38.756: I/Gecko(109): [Parent 109] WARNING: waitpid failed pid:697 errno:10: file ../../../gecko/ipc/chromium/src/base/process_util_posix.cc, line 260 06-28 16:05:38.796: I/Gecko(109): [Parent 109] WARNING: waitpid failed pid:697 errno:10: file ../../../gecko/ipc/chromium/src/base/process_util_posix.cc, line 260 06-28 16:05:38.807: D/memalloc(109): /dev/pmem: Freeing buffer base:0x49858000 size:614400 offset:2457600 fd:117 06-28 16:05:38.807: D/memalloc(109): /dev/pmem: Freeing buffer base:0x498ee000 size:614400 offset:3072000 fd:129 06-28 16:05:39.838: D/memalloc(109): /dev/pmem: Allocated buffer base:0x49600000 size:614400 offset:2457600 fd:113 06-28 16:05:39.848: D/memalloc(109): /dev/pmem: Allocated buffer base:0x49600000 size:614400 offset:3072000 fd:121 06-28 16:05:40.198: D/memalloc(109): /dev/pmem: Freeing buffer base:0x498ee000 size:614400 offset:3072000 fd:121 06-28 16:05:40.198: D/memalloc(109): /dev/pmem: Freeing buffer base:0x49858000 size:614400 offset:2457600 fd:113 06-28 16:05:40.738: I/Gecko(109): [Parent 109] WARNING: waitpid failed pid:697 errno:10: file ../../../gecko/ipc/chromium/src/base/process_util_posix.cc, line 260 06-28 16:05:40.738: I/Gecko(109): [Parent 109] WARNING: Failed to deliver SIGKILL to 697!(3).: file ../../../gecko/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc, line 118 06-28 16:05:40.798: I/Gecko(109): [Parent 109] WARNING: waitpid failed pid:697 errno:10: file ../../../gecko/ipc/chromium/src/base/process_util_posix.cc, line 260 06-28 16:05:40.798: I/Gecko(109): [Parent 109] WARNING: Failed to deliver SIGKILL to 697!(3).: file ../../../gecko/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc, line 118 06-28 16:05:43.081: I/Gonk(109): Setting nice for pid 716 to 18 06-28 16:05:43.081: I/Gonk(109): Changed nice for pid 716 from 0 to 18. 06-28 16:05:43.291: E/Profiler(716): BEGIN mozilla_sampler_init 06-28 16:05:43.301: E/Profiler(716): BPUnw: [1 total] thread_register_for_profiling(me=0x4008f4f8, stacktop=0xbee58927) 06-28 16:05:43.301: E/Profiler(716): SPS: 06-28 16:05:43.301: E/Profiler(716): SPS: Unwind mode = pseudo 06-28 16:05:43.301: E/Profiler(716): SPS: Sampling interval = 0 ms (zero means "platform default") 06-28 16:05:43.301: E/Profiler(716): SPS: UnwindStackScan = 0 (max dubious frames per unwind). 06-28 16:05:43.301: E/Profiler(716): SPS: Use env var MOZ_PROFILER_MODE=help for further information. 06-28 16:05:43.301: E/Profiler(716): SPS: 06-28 16:05:43.301: E/Profiler(716): Registering start signal 06-28 16:05:43.301: E/Profiler(716): BPUnw: [2 total] thread_register_for_profiling(me=0x6971c8, stacktop=0x430c3ec7) 06-28 16:05:43.371: E/GeckoConsole(716): Could not read chrome manifest 'file:///system/b2g/chrome.manifest'. 06-28 16:05:43.671: E/Profiler(716): BPUnw: [3 total] thread_register_for_profiling(me=0x697368, stacktop=0x43cffec7) 06-28 16:05:44.002: I/Gecko(716): ###################################### forms.js loaded 06-28 16:05:44.022: I/Gecko(716): ############################### browserElementPanning.js loaded 06-28 16:05:44.092: I/Gecko(716): ######################## BrowserElementChildPreload.js loaded
So, from Naoki's log, the bit that says "Security problem: Content process does not have `indexedDB-chrome-settings-write'. It will be killed." in the context of the following seems rather bad. 06-28 16:05:36.604: I/Gonk(109): Setting nice for pid 697 to 1 06-28 16:05:36.604: I/Gonk(109): Changed nice for pid 697 from 0 to 1.06-28 16:05:38.676: I/GeckoDump(697): [32mLOG: got localized![0m 06-28 16:05:38.736: I/Gecko(109): Security problem: Content process does not have `indexedDB-chrome-settings-write'. It will be killed. This is well outside my area of comparative advantage at the current moment, so I am turfing this to the general component. The error "no message manager set" from comment 0 is being generated by Keyboard.jsm which seems comparably irrelevant; I think we'd need the full logcat there.
Assignee: bugmail → nobody
Status: ASSIGNED → NEW
Component: Gaia::E-Mail → General
Summary: Email app will not launch successfully → Security problem: Content process does not have `indexedDB-chrome-settings-write' kills e-mail app somehow
The SMS app is now suffering from this. The logcat is depicting the same failure message (indexedDB-chrome-settings-write). STR: 1. Load SMS app 2. Tap new message 3. Tap recipient field to show keyboard 4. Tap a key on the keyboard SMS app will crash. Gecko http://hg.mozilla.org/mozilla-central/rev/614e1793e958 Gaia f05656aefc7c942e0b5dfce6de175c2e1b7742cf BuildID 20130630031314 Version 25.0a1
blocking-b2g: --- → koi?
this is also affecting Marketplece On: Gecko http://hg.mozilla.org/mozilla-central/rev/d7553251cf43 Gaia 1ab1a866549e7b8644a9f51ef76d984a82ea8612 BuildID 20130701031306 Version 25.0a1
this is failing with: I/Gecko ( 109): Security problem: Content process does not have `indexedDB-chrome-settings-read'. It will be killed. It might be a slightly different issue
I can reproduce on current inbound + gaia master also. I'll investigate.
Assignee: nobody → fabrice
We set the following permissions for the email app: I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission alarms allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission audio-channel-notification allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission contacts-read allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission contacts-create allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission desktop-notification allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission indexedDB-unlimited allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission offline-app allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission pin-app allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission device-storage:sdcard-read allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission device-storage:sdcard-create allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission systemXHR allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission settings-read allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission indexedDB-chrome-settings-read allow for app://email.gaiamobile.org I/Gecko ( 4084): -*-*- PermissionsInstaller.jsm : setPermission tcp-socket allow for app://email.gaiamobile.org These match correctly with what we expect from the manifest. When launching the email app, we fail with: I/Gecko ( 4402): -*- SettingsService: settingsService Constructor I/Gecko ( 4402): -*- SettingsService: settingsServiceLock constr! I/Gecko ( 4402): -*- SettingsService: get: dom.mozContacts.debugging.enabled, [xpconnect wrapped nsISettingsServiceCallback] I/Gecko ( 4250): Security problem: Content process does not have `indexedDB-chrome-settings-write'. It will be killed. I/Gecko ( 4250): IPDL protocol error: Handler for PIndexedDBTransaction returned error code When launching the marketplace, the failure is slightly different: I/Gecko ( 4378): -*- SettingsService: settingsService Constructor I/Gecko ( 4378): -*- SettingsService: settingsServiceLock constr! I/Gecko ( 4250): Security problem: Content process does not have `indexedDB-chrome-settings-read'. It will be killed. I/Gecko ( 4250): IPDL protocol error: Handler for PIndexedDBDatabase returned error code It looks like something is creating a settings service unconditionally and this fails because the app has no permission. I'll bisect tomorrow.
This is a consequence of bug 885979, that just got backed out.
Depends on: 885979
https://bugzilla.mozilla.org/show_bug.cgi?id=885979#c23 confirms this backed out. Closing this out as fixed. Reopen if this ends up still reproducing.
Status: NEW → RESOLVED
blocking-b2g: koi? → ---
Closed: 11 years ago
Resolution: --- → FIXED
Verified fixed on Unagi v1.2 Moz RIL Build ID: 20130703030842 Gecko: http://hg.mozilla.org/mozilla-central/rev/b48e06621dc9 Gaia: c8f3474fb73dfe2177ec908f0dcf914d7260248e Platform Version: 25.0a1
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: