Closed Bug 1162281 Opened 11 years ago Closed 10 years ago

Invalid system message handler in an App Manifest can break the entire system

Categories

(Core Graveyard :: DOM: Apps, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.5+, firefox43 fixed, b2g-master fixed)

RESOLVED FIXED
mozilla43
blocking-b2g 2.5+
Tracking Status
firefox43 --- fixed
b2g-master --- fixed

People

(Reporter: jovan.gerodetti, Assigned: ferjm)

References

Details

Attachments

(1 file, 1 obsolete file)

I accidentally flashed my app with a wrong manifest. When I restarted my device it wasn't booting anymore. I wanted to add an additional system message handler and did it wrong. What I did was: "messages": [ { "alarm": "/index.html", "notification" : "/index.html" } ], Of course this is wrong. It has to be: "messages": [ { "alarm": "/index.html" }, { "notification" : "/index.html" }, ], But what really scares me is that this simple mistake was able to break my entire device... My device is on v2.2 the build is from (2015-04-07) (After I changed the manifests on my device it's starting again.)
W/AudioFlinger( 129): Thread AudioOut_1 cannot connect to the power manager service W/AudioFlinger( 129): Thread AudioOut_1 cannot connect to the power manager service W/AudioHardwareMSM76XXA( 129): rpc_snd_set_device(6, 1, 1) W/AudioPolicyManagerBase( 129): getDeviceForStrategy() unknown strategy: 5 E/ ( 129): Error Loading libmpqstobinder E/ ( 129): Error: Cannot load library: load_library[1091]: Library 'libmpqstobinder.so' not found E/GestureDeviceService( 129): Could not load gesture HAL module I/Gecko ( 261): [261] WARNING: Tried to RegisterCallback without an AtExitManager: file /home/geeksphone/FOS/peak/gecko/ipc/chromium/src/base/at_exit.cc, line 40 D/CALCFPS ( 121): DEBUG_CALC_FPS: 0 D/CALCFPS ( 121): period: 10 D/CALCFPS ( 121): ignorethresh_us: 500000 D/CALCFPS ( 121): DEBUG_CALC_FPS: 0 D/CALCFPS ( 121): period: 10 D/CALCFPS ( 121): ignorethresh_us: 500000 D/CALCFPS ( 121): DEBUG_CALC_FPS: 0 D/CALCFPS ( 121): period: 10 D/CALCFPS ( 121): ignorethresh_us: 500000 W/Gonk ( 121): Could not open boot animation I/GeckoConsole( 121): Could not read chrome manifest 'file:///system/b2g/chrome.manifest'. I/VolumeManager( 121): changing state from 'Uninitialized' to 'Starting' I/VolumeManager( 121): Connected to vold I/VolumeManager( 121): Volume sdcard (1): changing state from Init to Idle (1 observers) I/VolumeManager( 121): Volume sdcard1 (2): changing state from Init to Idle (1 observers) I/VolumeManager( 121): Volume sdcard1: IsRemovable set to 1 state Idle I/VolumeManager( 121): Volume sdcard1: IsHotSwappable set to 1 state Idle I/VolumeManager( 121): Unable to open volume configuration file '/system/etc/volume.cfg' - ignoring I/VolumeManager( 121): READY: Volume: sdcard (1) is Idle and inserted @ /mnt/sdcard gen -1 locked 1 I/VolumeManager( 121): READY: Sharing dis Mounting n Formating n Unmounting n I/VolumeManager( 121): READY: Volume: sdcard1 (2) is Idle and inserted @ /mnt/emmc gen -1 locked 1 I/VolumeManager( 121): READY: Sharing dis Mounting n Formating n Unmounting n I/VolumeManager( 121): changing state from 'Starting' to 'Volumes Ready' I/AutoMounter( 121): AutoMounter state changed from IDLE to UMS_CONFIGURED I/AutoMounter( 121): UpdateState: ums:A1C1E0 mtp:A1C0E0 mode:0 usb:1 tryToShare:0 state:UMS_CONFIGURED I/AutoMounter( 121): UpdateState: Volume sdcard is Idle and inserted I/AutoMounter( 121): UpdateState: Mounting sdcard I/VolumeManager( 121): Volume sdcard (1): changing state from Idle to Checking (2 observers) D/VoldCmdListener( 118): volume list D/VoldCmdListener( 118): volume mount sdcard I/Vold ( 118): /dev/block/vold/179:18 being considered for volume sdcard D/Vold ( 118): Volume sdcard state changing 1 (Idle-Unmounted) -> 3 (Checking) W/Vold ( 118): Skipping fs checks I/VolumeManager( 121): Volume sdcard (1): changing state from Checking to Check-Mounted (2 observers) I/AutoMounter( 121): AutoMounter state changed from UMS_CONFIGURED to IDLE I/AutoMounter( 121): UpdateState: ums:A1C1E0 mtp:A1C0E0 mode:0 usb:1 tryToShare:0 state:IDLE I/AutoMounter( 121): UpdateState: Volume sdcard is Check-Mounted and inserted I/Vold ( 118): Device /dev/block/vold/179:18, target /mnt/sdcard mounted @ /mnt/secure/staging D/Vold ( 118): Volume sdcard state changing 3 (Checking) -> 4 (Mounted) I/VolumeManager( 121): Volume sdcard (1): changing state from Check-Mounted to Mounted @ '/mnt/sdcard' (2 observers) mountGeneration = 1, locked = 1 I/AutoMounter( 121): UpdateState: Volume sdcard1 is Idle and inserted I/AutoMounter( 121): UpdateState: Mounting sdcard1 I/VolumeManager( 121): Volume sdcard1 (2): changing state from Idle to Checking (2 observers) D/VoldCmdListener( 118): volume mount sdcard1 I/Vold ( 118): /dev/block/vold/179:33 being considered for volume sdcard1 D/Vold ( 118): Volume sdcard1 state changing 1 (Idle-Unmounted) -> 3 (Checking) W/Vold ( 118): Skipping fs checks I/Vold ( 118): Device /dev/block/vold/179:33, target /mnt/emmc mounted @ /mnt/secure/staging I/VolumeManager( 121): Volume sdcard1 (2): changing state from Checking to Check-Mounted (2 observers) I/AutoMounter( 121): AutoMounter state changed from IDLE to UMS_CONFIGURED I/AutoMounter( 121): UpdateState: ums:A1C1E0 mtp:A1C0E0 mode:0 usb:1 tryToShare:0 state:UMS_CONFIGURED I/AutoMounter( 121): UpdateState: Volume sdcard is Mounted and inserted @ /mnt/sdcard gen 1 locked 1 sharing dis I/AutoMounter( 121): UpdateState: Volume sdcard1 is Check-Mounted and inserted D/Vold ( 118): Volume sdcard1 state changing 3 (Checking) -> 4 (Mounted) I/VolumeManager( 121): Volume sdcard1 (2): changing state from Check-Mounted to Mounted @ '/mnt/emmc' (2 observers) mountGeneration = 2, locked = 1 I/GeckoConsole( 121): While creating services from category 'profile-after-change', could not create service for entry 'Nfc', contract ID '@mozilla.org/nfc;1' I/GeckoConsole( 121): While creating services from category 'profile-after-change', could not create service for entry 'NfcContentHelper', contract ID '@mozilla.org/nfc/content-helper;1' I/Gecko ( 121): -*- PushService.jsm: init() I/Gecko ( 121): -*- PushService.jsm: PushDB() I/Gecko ( 121): -*- PushService.jsm: getAllChannelIDs() D/EventHub( 121): No input device configuration file found for device '7k_handset'. W/EventHub( 121): Unable to disable kernel key repeat for /dev/input/event6: Function not implemented I/EventHub( 121): New device: id=1, fd=61, path='/dev/input/event6', name='7k_handset', classes=0x81, configuration='', keyLayout='/system/usr/keylayout/7k_handset.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false, usingSuspendBlockIoctl=true, usingClockIoctl=false D/EventHub( 121): No input device configuration file found for device 'proximity'. D/EventHub( 121): No input device configuration file found for device 'lightsensor-level'. D/EventHub( 121): No input device configuration file found for device '7x27a_kp'. W/EventHub( 121): Unable to disable kernel key repeat for /dev/input/event3: Function not implemented I/EventHub( 121): New device: id=4, fd=65, path='/dev/input/event3', name='7x27a_kp', classes=0x1, configuration='', keyLayout='/system/usr/keylayout/7x27a_kp.kl', keyCharacterMap='/system/usr/keychars/7x27a_kp.kcm', builtinKeyboard=false, usingSuspendBlockIoctl=true, usingClockIoctl=false E/filemap ( 121): mmap(0,4096) failed: No such device W/EventHub( 121): Unable to disable kernel key repeat for /dev/input/event2: Function not implemented I/EventHub( 121): New device: id=5, fd=64, path='/dev/input/event2', name='himax-touchscreen', classes=0x15, configuration='/system/usr/idc/himax-touchscreen.idc', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false, usingSuspendBlockIoctl=true, usingClockIoctl=false D/EventHub( 121): No input device configuration file found for device 'compass'. D/EventHub( 121): No input device configuration file found for device 'bma2x2'. E/SensorHal( 121): acc name bma2x2 I/InputReader( 121): Device added: id=-1, name='Virtual', sources=0x00000301 I/InputReader( 121): Device reconfigured: id=5, name='himax-touchscreen', size 540x960, orientation 0, mode 1, display id 0 I/InputReader( 121): Device added: id=5, name='himax-touchscreen', sources=0x00001103 I/InputReader( 121): Device added: id=4, name='7x27a_kp', sources=0x00000101 I/InputReader( 121): Device added: id=1, name='7k_handset', sources=0x80000101 E/Sensors ( 121): sensor activate handle 1 enable 0 drv 1 E/Sensors ( 121): sensor activate handle 0 enable 0 drv 0 E/Sensors ( 121): sensor activate handle 2 enable 0 drv 1 E/Sensors ( 121): sensor activate handle 4 enable 0 drv 3 E/Sensors ( 121): sensor activate handle 3 enable 0 drv 2 E/Sensors ( 121): sensor activate handle 0 enable 1 drv 0 I/HWComposer( 121): Creating new instance I/nsVolume( 121): nsVolume: sdcard state Mounted @ '/mnt/sdcard' gen 1 locked 0 fake 0 media 1 sharing 0 formatting 0 unmounting 0 removable 0 hotswappable 0 I/AutoMounter( 121): AutoMounter state changed from UMS_CONFIGURED to IDLE I/AutoMounter( 121): UpdateState: ums:A1C1E0 mtp:A1C0E0 mode:0 usb:1 tryToShare:0 state:IDLE I/AutoMounter( 121): UpdateState: Volume sdcard is Mounted and inserted @ /mnt/sdcard gen 1 locked 0 sharing dis I/AutoMounter( 121): UpdateState: Volume sdcard1 is Mounted and inserted @ /mnt/emmc gen 2 locked 1 sharing dis I/nsVolume( 121): nsVolume: sdcard1 state Mounted @ '/mnt/emmc' gen 2 locked 0 fake 0 media 1 sharing 0 formatting 0 unmounting 0 removable 1 hotswappable 1 I/AutoMounter( 121): AutoMounter state changed from IDLE to UMS_CONFIGURED I/AutoMounter( 121): UpdateState: ums:A1C1E0 mtp:A1C0E0 mode:0 usb:1 tryToShare:0 state:UMS_CONFIGURED I/AutoMounter( 121): UpdateState: Volume sdcard is Mounted and inserted @ /mnt/sdcard gen 1 locked 0 sharing dis I/AutoMounter( 121): UpdateState: Volume sdcard1 is Mounted and inserted @ /mnt/emmc gen 2 locked 0 sharing dis I/Gonk ( 121): RIL[0]: OnConnectSuccess I/InputReader( 121): Reconfiguring input devices. changes=0x00000004 I/InputReader( 121): Device reconfigured: id=5, name='himax-touchscreen', size 540x960, orientation 1, mode 1, display id 0 I/Gecko ( 121): I/Gecko ( 121): ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost I/Gecko ( 121): I/Gecko ( 121): MobileConnectionService: init complete W/GeckoConsole( 121): [JavaScript Warning: "Empty string passed to getElementById()." {file: "chrome://b2g/content/shell.html" line: 0}] I/(Nuwa) ( 261): Could not read chrome manifest 'file:///system/b2g/chrome.manifest'. I/Gecko ( 121): -*- PushService.jsm: beginWSSetup() I/Gecko ( 121): -*- PushService.jsm: Network is offline. I/qcom-bluetooth( 376): /system/etc/init.qcom.bt.sh: Transport : I/qcom-bluetooth( 378): /system/etc/init.qcom.bt.sh: Power Class: Ignored. Default(1) used (1-CLASS1/2-CLASS2/3-CUSTOM) I/qcom-bluetooth( 379): /system/etc/init.qcom.bt.sh: Power Class: To override, Before turning BT ON; setprop qcom.bt.dev_power_class <1 or 2 or 3> I/qcom-bluetooth( 380): /system/etc/init.qcom.bt.sh: LE Power Class: Ignored. Default(2) used (1-CLASS1/2-CLASS2/3-CUSTOM) I/qcom-bluetooth( 381): /system/etc/init.qcom.bt.sh: LE Power Class: To override, Before turning BT ON; setprop qcom.bt.le_dev_pwr_class <1 or 2 or 3> I/Gecko ( 121): RIL Worker: [0] Failed to read CPHS_INFO: RequestNotSupported I/qcom-bluetooth( 391): /system/etc/init.qcom.bt.sh: Bluetooth QSoC firmware download succeeded, /dev/ttyHS0 qualcomm-ibs 3000000 88:f4:88:70:aa:7f I/qcom-bluetooth( 392): /system/etc/init.qcom.bt.sh: start hciattach I/qcom-bluetooth( 394): /system/etc/init.qcom.bt.sh: start_hciattach: pid = 393 I/Gecko ( 121): ************************* I/Gecko ( 121): A coding exception was thrown in a Promise resolution callback. I/Gecko ( 121): See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise I/Gecko ( 121): I/Gecko ( 121): Full message: TypeError: aSysMsgName.indexOf is not a function I/Gecko ( 121): Full stack: this.SystemMessagePermissionsChecker.isDataStoreSystemMessage@resource://gre/modules/SystemMessagePermissionsChecker.jsm:185:12 I/Gecko ( 121): isSystemMessagePermittedToRegister@resource://gre/modules/SystemMessagePermissionsChecker.jsm:228:9 I/Gecko ( 121): registerPages@resource://gre/modules/Webapps.jsm:868:11 I/Gecko ( 121): this.DOMApplicationRegistry._registerSystemMessagesForEntryPoint@resource://gre/modules/Webapps.jsm:843:5 I/Gecko ( 121): this.DOMApplicationRegistry._registerSystemMessages@resource://gre/modules/Webapps.jsm:940:5 I/Gecko ( 121): this.DOMApplicationRegistry._processManifestForIds/</<@resource://gre/modules/Webapps.jsm:1142:9 I/Gecko ( 121): this.DOMApplicationRegistry._processManifestForIds/<@resource://gre/modules/Webapps.jsm:1120:7 I/Gecko ( 121): Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:870:23 I/Gecko ( 121): this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:749:7 I/Gecko ( 121): this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promis I/Gecko ( 121): ************************* I/VolumeManager( 121): SetUnmountRequested for volume sdcard to 0 CanBeMounted = 1 I/VolumeManager( 121): SetMountRequested for volume sdcard to 0 CanBeMounted = 1 I/VolumeManager( 121): SetSharingMode for volume sdcard to 1 canBeShared = 1 I/AutoMounter( 121): AutoMounter state changed from UMS_CONFIGURED to IDLE I/AutoMounter( 121): UpdateState: ums:A1C1E0 mtp:A1C0E0 mode:0 usb:1 tryToShare:0 state:IDLE I/AutoMounter( 121): UpdateState: Volume sdcard is Mounted and inserted @ /mnt/sdcard gen 1 locked 0 sharing en-n I/AutoMounter( 121): UpdateState: Volume sdcard1 is Mounted and inserted @ /mnt/emmc gen 2 locked 0 sharing dis I/AutoMounter( 121): AutoMounter state changed from IDLE to UMS_CONFIGURED I/AutoMounter( 121): UpdateState: ums:A1C1E0 mtp:A1C0E0 mode:0 usb:1 tryToShare:0 state:UMS_CONFIGURED I/AutoMounter( 121): UpdateState: Volume sdcard is Mounted and inserted @ /mnt/sdcard gen 1 locked 0 sharing en-n I/AutoMounter( 121): UpdateState: Volume sdcard1 is Mounted and inserted @ /mnt/emmc gen 2 locked 0 sharing dis I/VolumeManager( 121): SetUnmountRequested for volume sdcard1 to 0 CanBeMounted = 1 I/VolumeManager( 121): SetMountRequested for volume sdcard1 to 0 CanBeMounted = 1 I/VolumeManager( 121): SetSharingMode for volume sdcard1 to 1 canBeShared = 1 I/AutoMounter( 121): AutoMounter state changed from UMS_CONFIGURED to IDLE I/AutoMounter( 121): UpdateState: ums:A1C1E0 mtp:A1C0E0 mode:0 usb:1 tryToShare:0 state:IDLE I/AutoMounter( 121): UpdateState: Volume sdcard is Mounted and inserted @ /mnt/sdcard gen 1 locked 0 sharing en-n I/AutoMounter( 121): UpdateState: Volume sdcard1 is Mounted and inserted @ /mnt/emmc gen 2 locked 0 sharing en-n I/AutoMounter( 121): AutoMounter state changed from IDLE to UMS_CONFIGURED I/AutoMounter( 121): UpdateState: ums:A1C1E0 mtp:A1C0E0 mode:0 usb:1 tryToShare:0 state:UMS_CONFIGURED I/AutoMounter( 121): UpdateState: Volume sdcard is Mounted and inserted @ /mnt/sdcard gen 1 locked 0 sharing en-n I/AutoMounter( 121): UpdateState: Volume sdcard1 is Mounted and inserted @ /mnt/emmc gen 2 locked 0 sharing en-n I/Gecko ( 121): ###################################### forms.js loaded I/Gecko ( 121): ############################### browserElementPanning.js loaded I/Gecko ( 121): ######################## BrowserElementChildPreload.js loaded I/Gecko ( 121): *** UTM:SVC TimerManager:registerTimer - id: user-agent-updates-timer I/GeckoConsole( 121): UTM:SVC TimerManager:registerTimer - id: user-agent-updates-timer I/GeckoDump( 121): Crash reporter : Not online, postponing. I/GeckoDump( 121): AdbController: Starting USB debugger on /data/local/debugger-socket W/GeckoConsole( 121): [JavaScript Error: "A promise chain failed to handle a rejection. Did you forget to '.catch', or did you forget to 'return'? W/GeckoConsole( 121): See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise W/GeckoConsole( 121): W/GeckoConsole( 121): Date: Wed May 06 2015 22:09:40 GMT+0200 (CEST) W/GeckoConsole( 121): Full Message: TypeError: aSysMsgName.indexOf is not a function W/GeckoConsole( 121): Full Stack: this.SystemMessagePermissionsChecker.isDataStoreSystemMessage@resource://gre/modules/SystemMessagePermissionsChecker.jsm:185:12 W/GeckoConsole( 121): isSystemMessagePermittedToRegister@resource://gre/modules/SystemMessagePermissionsChecker.jsm:228:9 W/GeckoConsole( 121): registerPages@resource://gre/modules/Webapps.jsm:868:11 W/GeckoConsole( 121): this.DOMApplicationRegistry._registerSystemMessagesForEntryPoint@resource://gre/modules/Webapps.jsm:843:5 W/GeckoConsole( 121): this.DOMApplicationRegistry._registerSystemMessages@resource://gre/modules/Webapps.jsm:940:5 W/GeckoConsole( 121): this.DOMApplicationRegistry._processManifestForIds/</<@resource://gre/modules/Webapps.jsm:1142:9 W/GeckoConsole( 121): this.DOMApplicationRegistry._processManifestForIds/<@resource://gre/modules/Webapps.jsm:1120:7 W/GeckoConsole( 121): Handler.protot E/rmt_storage( 148): Begin remote fs read/write E/rmt_storage( 148): End remote fs read/write E/rmt_storage( 148): Begin remote fs read/write E/rmt_storage( 148): End remote fs read/write E/rmt_storage( 148): Begin remote fs read/write E/rmt_storage( 148): End remote fs read/write
Sounds like a DOM:Apps bug.
Product: Firefox OS → Core
Component: General → DOM: Apps
I guess you flashed your app using the WebIDE, right ? Panos, even if there is an obvious issue in DOM: Apps, maybe the manifest checker in WebIDE could also check for this?
blocking-b2g: --- → 2.2?
Flags: needinfo?(past)
Yes you are right. I used the WebIDE.
Summary: Invalid system message handler in a App Manifest can break the entire system → Invalid system message handler in an App Manifest can break the entire system
(In reply to Julien Wajsberg [:julienw] (PTO May 8th -> May 17th) from comment #3) > Panos, even if there is an obvious issue in DOM: Apps, maybe the manifest > checker in WebIDE could also check for this? Absolutely, but I suppose we will need a separate bug for that.
Flags: needinfo?(past) → needinfo?(jryans)
(In reply to Panos Astithas [:past] from comment #5) > (In reply to Julien Wajsberg [:julienw] (PTO May 8th -> May 17th) from > comment #3) > > Panos, even if there is an obvious issue in DOM: Apps, maybe the manifest > > checker in WebIDE could also check for this? > > Absolutely, but I suppose we will need a separate bug for that. Seems like a good idea. I filed bug 1163114.
Flags: needinfo?(jryans)
See Also: → 1163114
Assignee: nobody → ferjmoreno
Attached patch v1 (obsolete) — Splinter Review
This wasn't that bad after all. I could only reproduce when installing the apps via WebIDE or Gaia build system. Anyway, the fix is quite simple. We just ignore the malformed entries.
Attachment #8609247 - Flags: review?(fabrice)
Attached patch v1Splinter Review
Attachment #8609247 - Attachment is obsolete: true
Attachment #8609247 - Flags: review?(fabrice)
Attachment #8609258 - Flags: review?(fabrice)
Attachment #8609258 - Flags: review?(fabrice) → review+
(In reply to Fernando Jiménez Moreno [:ferjm] from comment #7) > This wasn't that bad after all. I could only reproduce when installing the > apps via WebIDE or Gaia build system. Anyway, the fix is quite simple. We > just ignore the malformed entries. Nice tempting-of-the-fates there. Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/780f3d9c7cc3 for emulator build bustage, https://treeherder.mozilla.org/logviewer.html#?job_id=10116380&repo=mozilla-inbound, and test bustage, https://treeherder.mozilla.org/logviewer.html#?job_id=10116614&repo=mozilla-inbound
Status: UNCONFIRMED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
This was backed out, so it shouldn't be closed.
Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: FIXED → ---
[Blocking Requested - why for this release]: (In reply to Fernando Jiménez Moreno [:ferjm] from comment #12) > This was backed out, so it shouldn't be closed. Hi Fernando, Can you share more detail why this patch has been backed out? Since 2.2 is CC. I think we can continue fixing this for future release.
blocking-b2g: 2.2? → 3.0?
Flags: needinfo?(ferjmoreno)
(In reply to Josh Cheng [:josh] from comment #13) > [Blocking Requested - why for this release]: > > (In reply to Fernando Jiménez Moreno [:ferjm] from comment #12) > > This was backed out, so it shouldn't be closed. > > Hi Fernando, > Can you share more detail why this patch has been backed out? > Since 2.2 is CC. I think we can continue fixing this for future release. It was backed out because of a failing test. I am trying to fix it.
Flags: needinfo?(ferjmoreno)
[Triage] We should have it fix as soon as possible to avoid FxOS unusable.
blocking-b2g: 2.5? → 2.5+
Rebased and pushed to try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=dd334a63a31f Failures look all unrelated.
Status: REOPENED → RESOLVED
Closed: 11 years ago10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: mozilla41 → mozilla43
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: