Closed Bug 1128836 Opened 9 years ago Closed 9 years ago

[Nexus-5-L] Reset Phone does not reset the phone

Categories

(Firefox OS Graveyard :: Gaia::System, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(blocking-b2g:2.2+, b2g-v2.2 verified, b2g-master verified)

VERIFIED FIXED
2.2 S5 (6feb)
blocking-b2g 2.2+
Tracking Status
b2g-v2.2 --- verified
b2g-master --- verified

People

(Reporter: hcheng, Assigned: seinlin)

Details

Attachments

(4 files)

*Description:
I used "Settings App->Device Information->Reset Phone", but it does not reset work.

*Env info:
Build ID               20150202095556
Gaia Revision          d6141fa3208f224393269e17c39d1fe53b7e6a05
Gaia Date              2015-01-30 03:46:29
Gecko Revision         n/a
Gecko Version          37.0a2
Device Name            hammerhead
Firmware(Release)      5.0
Firmware(Incremental)  eng.hermesc.20150105.152547
Firmware Date          一  1月  5 15:26:01 CST 2015
Bootloader             HHZ11n
Hi Naoki, do you know who can solve this bug?
blocking-b2g: --- → 2.2?
Flags: needinfo?(nhirata.bugzilla)
I believe this should be part of the L-porting initiative.
Flags: needinfo?(khu)
Hermes, I would think who ever is working on the L-port.  Isn't someone in Taipei working on this?
If not maybe dhylands can lend a hand... I don't want to speak for him though.

It's failing because : 
I/Gecko   (  203): -*- RecoveryService: Unable to open librecovery.so
W/GeckoConsole(  203): [JavaScript Error: "uncaught exception: 2147500037"]
Flags: needinfo?(nhirata.bugzilla) → needinfo?(dhylands)
or mwu... don't want to speak for him either though.
Flags: needinfo?(mwu)
Not technically part of gonk-l porting, but it's a pretty simple thing - we just have to add librecovery to the product packages list somewhere in https://github.com/mozilla-b2g/device-hammerhead/blob/b2g-5.0.0_r6/device.mk .
Flags: needinfo?(mwu)
Yup, but that's on the wrong branch. Needs to be on the b2g-* branches. There's a gecko section in those branches for adding stuff like this.
Oh, I just realized there's also a variable which can be used to turn on librecovery - ENABLE_LIBRECOVERY. https://github.com/mozilla-b2g/gonk-misc/blob/master/b2g.mk#L38 Shouldn't matter much either way.
Hrm.  rebased it and created a new pull since I didn't know how to fix the old one... : https://github.com/mozilla-b2g/device-hammerhead/pull/16

Would you prefer to just ENABLE_LIBRECOVERY somewhere, though?
(In reply to Naoki Hirata :nhirata (please use needinfo instead of cc) from comment #9)
> Would you prefer to just ENABLE_LIBRECOVERY somewhere, though?

I don't care much, as long as librecovery shows up in the system partition.
r=me on your PR. Just one nit - can you move it to the section here? https://github.com/nhirata/device-hammerhead/blob/e00ea283657df13bebe863ccc0de1b2c00873b39/device.mk#L377 Trying to keep all the b2g specific parts in one place.

BTW, the usual procedure is to attach the URL of your PR and request review on that (bugzilla recognizes github PR URL attachments).
And thanks for looking at this!
Assignee: nobody → nhirata.bugzilla
Flags: needinfo?(khu)
If I try your patch it still doesn't generate a out/target/product/hammerhead/system/lib/librecovery.so file.

It looks like you have to use 

ENABLE_LIBRECOVERY = true

(put it in device.mk in the same spot you were adding to PRODUCT_PACKAGE).
This if: https://github.com/mozilla-b2g/librecovery/blob/master/Android.mk#L19
is the reason why.

Although I haven't found any other reason why that if exists in librecovery/Android.mk
Flags: needinfo?(dhylands)
Attached file fix patch
Patch fix based on dhylands comment.
Comment on attachment 8558757 [details] [review]
fix patch

Nit: Use := rather than =. := defines a simply expanded variable, = defines a recursively expanded variable. Simply expanded variables perform a bit better so they're preferred when you don't need recursive expansion.
Attachment #8558757 - Flags: review?(mwu) → review+
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Hermes, can you check with tomorrow's build to verify?  I probably should have verified; working on some other things at the same time.
Attached file crash.log
After I reset it, the phone can not start correctly and its screen stop at displaying "Google".
Flags: needinfo?(hcheng)
I reopen this bug. Please correct it if the problem results from another bug.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Well, it looks like the cause of the device not starting with the build has to do with other reasons.  So technically other bugs should be filed, I think?  Which build are you making this out for?  AFAIK, I think the repo only works against master?  Would you be able to show us your build log?  If so please attach to the bug.

Having said that looking at the logs, it looks like there's some lib files missing and other issues.
1) librpmb.so
E/QSEECOMD: (  177): Init dlopen(librpmb.so, RLTD_NOW) is failed....
E/QSEECOMD: (  177): ERROR: RPMB_INIT failed, shall not start listener services

2) qcom.cac
D/mm-camera-img(  200): img_core_get_comp:42] comp_index[3] role 3 name qcom.cac
D/mm-camera-img(  200): img_core_get_comp:47] find component role 3 name qcom.cac
E/mm-camera-img(  200): cac_comp_load:679] Error opening CAC library
E/mm-camera(  200): module_cac_init:1027] Error rc -6
E/mm-camera(  200): pproc_module_init:2019] cac module create failed

3) need some fixing in libmmcamera_faceproc.so
W/linker  (  200): libmmcamera_faceproc.so has text relocations. This is wasting memory and prevents security hardening. Please fix.

4) possible permission issue with : /data/system/time/ats_1 ?
D/QC-time-services(  201): Daemon:Opening File: /data/system/time/ats_1
D/QC-time-services(  201): Daemon:time_persistent_memory_opr:Genoff Read operation 

5) file can't be found:/sys/class/graphics/fb2/ad
D/qdhwcomposer(  189): int qhwc::adRead(): /sys/class/graphics/fb2/ad could not be opened : No such file or directory

6) file can't be found : /system/b2g/components/libxpcomsample.so
I/GeckoConsole(  189): Failed to load native module at path '/system/b2g/components/libxpcomsample.so': (80004005) dlopen failed: library "/system/b2g/components/libxpcomsample.so" not found

7)  file can't be found:
D/platform_info(  184): platform_info_init: Failed to open /system/etc/audio_platform_info.xml, using defaults.

8) file can't be found : 
E/ext_speaker(  184): open_speaker_bundle: DLOPEN failed for /system/lib/soundfx/libspeakerbundle.so
I'm sure the system not working after a reset is a separate problem - probably an issue of gaia being installed in the userdata partition. We should stop doing that. Please file another bug.
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
Yep - I tried to reset and it wipes out the data partition. Since the apps were in /data/local/webapps and not in system there isn't anyplace to recover them from.

After reset, I could adb shell into the phone and the only app in /data/local/webapps was marketplace.firefox.com

We should disable the ability to reset the phone if the apps weren't installed in /system
Well - even simpler than that - just don't install to /data to begin with. That's not a supported configuration. It's only useful in the case that you want to test B2G on a device without enough /system space.
I did a build with B2G_SYSTEM_APPS=1 and Reset seems to work (it boots up and I can get past the lock screen).
Whoa.  Thanks David and Michael!
blocking-b2g: 2.2? → 2.2+
Please request Gaia v2.2 approval on this when you get a chance.
Flags: needinfo?(nhirata.bugzilla)
Target Milestone: --- → 2.2 S5 (6feb)
Comment on attachment 8558757 [details] [review]
fix patch

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #):
[User impact] if declined: build won't build
[Testing completed]:
[Risk to taking this patch] (and alternatives if risky):
[String changes made]:
Flags: needinfo?(nhirata.bugzilla)
Attachment #8558757 - Flags: approval-gaia-v2.2?
Er. oops thinking of the wrong bug.

The consequence is that you won't be able to reboot/recover the phone without the patch as it needs librecovery.so
Attachment #8558757 - Flags: approval-gaia-v2.2? → approval-gaia-v2.2+
Actually, v2.2 Nexus 5-L is running off b2g-5.0.0_r6 tip per b2g-manifests and the in-tree sources.xml on b2g37, so there's nothing to uplift here.
The patch which includes B2G_SYSTEM_APPS=1 (https://bugzilla.mozilla.org/attachment.cgi?id=8560181&action=edit) isn't landed. Leave this bug non-verified until it has been landed.
As per Ryan's comment, there is no v2.2 for N5-L.  this landed in b2g-5.0.0_r6 and the v2.2 should use b2g-5.0.0_r6 in the manifest.  if it's not doing so, then that might be the issue... investigating.
Reset phone doesn't work and '/system/lib/librecovery.so' is still missing.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Michael, Now librecovery is not added to PRODUCT_PACKAGES and the reason is ENABLE_LIBRECOVERY=true didn't take effect in b2g.mk. I think we can have one of the following solutions

1. Move 'ENABLE_LIBRECOVERY := true' from device.mk to full_hammerhead.mk
2. Add 'PRODUCT_PACKAGES += librecovery' in device.mk

IMO, I think method 1 could be better as 'PRODUCT_PACKAGES += librecovery' is already in b2g.mk. But I also notice that some device is using method 2.

How you you think?

I will send a PR and land the new patch once we get the conclusion.

Thanks!
Assignee: nhirata.bugzilla → kli
Flags: needinfo?(mwu)
ENABLE_LIBRECOVERY := true is actually the only way that works AFAIK. Without that, the build machinery for librecovery isn't enabled.

Request review from dhylands for any changes here.
Flags: needinfo?(mwu)
(In reply to Michael Wu [:mwu] from comment #34)
> ENABLE_LIBRECOVERY := true is actually the only way that works AFAIK.
> Without that, the build machinery for librecovery isn't enabled.
> 
Yes, now 'ENABLE_LIBRECOVERY := true' is added in device/lge/hammerhead/device.mk, but it doesn't work.
Dave, would you mind review this patch? Thanks!
Attachment #8569586 - Flags: review?(dhylands)
Comment on attachment 8569586 [details] [review]
Correct ENABLE_LIBRECOVERY to get librecovery build.

Looks fine to me.
Attachment #8569586 - Flags: review?(dhylands) → review+
https://github.com/mozilla-b2g/device-hammerhead/commit/a6f00b0d7519168329ca4a3f66d3be30d66e0c9e
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
verify nexus-5-l on 2.2

*User && Eng build
Build ID               20150301162504
Gaia Revision          77609916ca5ab721150fab2b7bc5c37f43ee3a5a
Gaia Date              2015-02-27 16:35:06
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/27ab8aa34201
Gecko Version          37.0
Device Name            hammerhead
Firmware(Release)      5.0
Firmware(Incremental)  eng.cltbld.20150301.195700
Firmware Date          Sun Mar  1 19:57:16 EST 2015
Bootloader             HHZ12d
add verifyme for master branch
Keywords: verifyme
Attached video video
This problem is verified pass on latest build of Flame3.0
See attachments: Video_flame3.0.MP4
Rate: 0/5

Flame 3.0 build:
Build ID               20150302010223
Gaia Revision          f34ce82a840ad3c0aed3bfff18517b3f6a0eb37f
Gaia Date              2015-02-27 15:48:31
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/eea6188b9b05
Gecko Version          39.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150302.043726
Firmware Date          Mon Mar  2 04:37:37 EST 2015
Bootloader             L1TC000118D0
Status: RESOLVED → VERIFIED
QA Whiteboard: [MGSEI-Triage+]
Keywords: verifyme
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: