Closed Bug 1202916 Opened 9 years ago Closed 9 years ago

[Contacts] Contacts app not functioning on dogfood-latest

Categories

(Firefox OS Graveyard :: Gaia::Contacts, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:2.5+, b2g-master verified)

VERIFIED FIXED
blocking-b2g 2.5+
Tracking Status
b2g-master --- verified

People

(Reporter: marcia, Assigned: arcturus)

References

Details

(Keywords: foxfood)

Attachments

(3 files)

Attached file contacts.txt
Seen on Z3 while running:

Build ID               20150908152248
Gaia Revision          b81185d30e548f782770b852473ffb53c641a490
Gaia Date              2015-09-08 08:13:20
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/b23b2fa33a9dcda59dbbca1d157eca3c32c5b862
Gecko Version          43.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20150619.224059
Firmware Date          Fri Jun 19 22:41:08 UTC 2015
Bootloader             s1

STR:
1. Open Contacts App
2. Try to select a contact to call

Actual: Nothing happens when you try to select a contact or hit the settings icon in the upper right hand corner.

logcat attached.

There are numerous errors in console like this: [JavaScript Error: "SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 1 column 174 of the JSON data" {file: "app://communications.gaiamobile.org/contacts/js/utilities/cookie.js" line: 48}]
Hi Marcia,

did you get the new version doing a make install-gaia or make reset-gaia?
Flags: needinfo?(mozillamarcia.knous)
(In reply to Francisco Jordano [:arcturus] [:francisco] from comment #1)
> Hi Marcia,
> 
> did you get the new version doing a make install-gaia or make reset-gaia?

Francisco - I just updated the device using the normal software update process - so I didn't flash anything new.
Flags: needinfo?(mozillamarcia.knous)
Whiteboard: [dogfood-blocker]
The errors that I see in the log seems to have to do with a bad parsing:

E/Communications( 1921): [JavaScript Error: "SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 1 column 174 of the JSON data" {file: "app://communications.gaiamobile.org/contacts/js/utilities/cookie.js" line: 48}]

W/Communications( 1921): Content JS WARN: L10nError: "#type_l10n_id#" not found in en-US in app://communications.gaiamobile.org/contacts/views/form/form.html?action=new 

W/Communications( 1921):     at reportMissingEntity (app://communications.gaiamobile.org/shared/js/l10n.js:241:261)

E/GeckoConsole(  323): [JavaScript Error: "DataCloneError: The object could not be cloned." {file: "jar:file:///system/b2g/omni.ja!/components/DataStoreImpl.js" line: 233}]
Flags: needinfo?(jgong)
Flags: needinfo?(drs)
Interesting.  I have not hit this issue updating to build 20150906043256 so I would suspect that it might be a change in gecko?  or some data change else where...

Still looking for a regression window.
No problem on my build ...
[Blocking Requested - why for this release]:

The contacts app will be not usable so nominating this to block on 2.5?

Also, Alexandre we are reproducing this on dogfood-latest. You have to save a contact on your device on the RC4 build and then FOTA or OTA to the latest build. The issue will occur. If the user does not have a contact saved previously then the Contacts app will function properly after OTAing.
blocking-b2g: --- → 2.5?
(In reply to KTucker [:KTucker] from comment #8)
> [Blocking Requested - why for this release]:
> 
> The contacts app will be not usable so nominating this to block on 2.5?
> 
> Also, Alexandre we are reproducing this on dogfood-latest. You have to save
> a contact on your device on the RC4 build and then FOTA or OTA to the latest
> build. The issue will occur. If the user does not have a contact saved
> previously then the Contacts app will function properly after OTAing.

I'm just stating that I have a newer build and no problem. And my contacts are here since months ...

That being said, you are adding new components to the STR by saying we need to save a contact with one build, then OTA to another one. This lack of informations makes it hard for people to reproduce and work on this.
I didn't originally report the issue. I am just trying to be helpful here by providing 100% STR that will help others reproduce the issue.
QA Whiteboard: [QAnalyst-Triage+]
One thing interesting is that I have # of contacts +1 of : 
E/Communications( 1763): [JavaScript Error: "SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 1 column 173 of the JSON data" {file: "app://communications.gaiamobile.org/contacts/js/utilities/cookie.js" line: 48}]
Alexandre, Kevin clarified a point which was implied from comment 2.  I'm not sure it's helpful to chastise someone who's trying to clarify the reproducing steps.  Regardless, I understand that you have had contacts in the app and then OTAed.  I am still working on narrowing what the cause is.

To clarify: 

I believe the steps are : 
1) be on a previous build like RC4: https://tools.taskcluster.net/task-inspector/#i1V1E5ewTwSKwjssMBK8XA/0 
2) create a contact : place in the first name "a"
3) set the OTA to a newer build
4) OTA.
5) go back to contacts after OTA, launch contacts
6) hit the settings button.

I can still see the contact details in the broken build.  I can't seem to get to the contact settings.
At Pallavi's request I am including this information. 

This issue also occurs when OTAing from the 8/12 and 9/04 builds to dogfood latest.

Contact settings will be non functional if the user manually created contacts on the phone before OTAing to the latest build. 

Source Builds:

Device: Aries 2.5
BuildID: 20150812231434
Gaia: 52f3ea58df38e5427f6afeb636bc6ad01d24022f
Gecko: 7649ffe28b67aa2dad0f67ea01500c0ff91b2bac
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 43.0a1 (2.5) 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
 ser Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0

Device: Aries 2.5
BuildID: 20150904150055
Gaia: 85ae6808d298a4010aaab341c66699f1b87eec9c
Gecko: 691b1524602d12afc2336474d8ddd4eff1476c4d
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 43.0a1 (2.5) 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0

OTAing to this Build:

Environmental Variables:
Device: Aries 2.5
Build ID: 20150916191003
Gaia: db6664f0e07e9966283d30cfc7006151fe7103ff
Gecko: e7d613b3bcfe1e865378bfac37de64560d1234ec
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 43.0a1 (2.5)
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0

This looks to line up with Naoki's posted regression window.
Device: Aries
Build id: <dogfood-latest, 9/14>

I just ran into this on the 9/14 dogfood-latest build. My contacts were imported from Google long ago and I have been updating regularly on this channel for the last couple of weeks. To be clear, this did not happen directly after OTA for me. It was initially working on the 9/14 build and something else 

I'm not sure what triggered the breakage. My app was functioning well earlier this afternoon when trying to reproduce the bug. I was able to call, sms, email from contact details with no problem.

Then in the course of testing other features, I marked several contacts as favorites, changed SIM card, and restarted my phone a couple of times. Returning to the Contacts app, I now see the symptoms from comment #0. Tapping on a Contact highlights the row but otherwise has no effect, and same with the Settings icon.

In addition, the list only shows about the first 15 of my 75 contacts. Maybe some parsing error failed to load the rest of them and left the app in a bad state? If I start from the Dialer and start entering the phone number of one of the other contacts that should be further down in the list, it does show up in the suggestions, so they are still in there somewhere.

Killing the app and/or restarting the phone does not fix the issue.
blocking-b2g: 2.5? → 2.5+
Priority: -- → P1
Francisco, I think we need to find out what's happening here. As a last resort, I launched FTU to get back to the import screen so I could remove all of my contacts and get it back to a working state. That still didn't do the trick. I now have an empty contacts list and the settings button still has no effect.
Flags: needinfo?(francisco)
Hi Dylan, (or anyone capable of reproduce the bug)

Could you connect the webide and copy here the value of (typing in the console):

document.cookie

Thanks
Flags: needinfo?(francisco)
We can have a backup plan, and make the parsing of the cookie safer, by returning a empty cookie value and allowing the app to recreate it.

But we will still have the problem to know to know how we get to that state, which is the cause of the problems.

Is this bug preventing any more OTAs?
That is interesting. Because on my build where I don't reproduce the issue, I have noticed yesterday spurious behavior regarding cookies. When I tried to read mediapart.fr, which is only accessible to subscribed readers, I was not logged in. But I am confident I was logged in previously on this device.

And this morning, same build, no reboot, when I loaded the page, I was properly logged in. So it might corroborate the fact that there is something intermittently going bad with cookies ?
(In reply to Alexandre LISSY :gerard-majax from comment #20)
> That is interesting. Because on my build where I don't reproduce the issue,
> I have noticed yesterday spurious behavior regarding cookies. When I tried
> to read mediapart.fr, which is only accessible to subscribed readers, I was
> not logged in. But I am confident I was logged in previously on this device.
> 
> And this morning, same build, no reboot, when I loaded the page, I was
> properly logged in. So it might corroborate the fact that there is something
> intermittently going bad with cookies ?

That sounds like an option, but people are not having intermittent problems, once it happens the problems is permanent.
Sure, but it's a strange coincidence ... Maybe the way web pages and the app behaves regarding the cookie differs and explains why ?
Sth is wrong with Contacts. On recent builds I was be able to see only about half of all my contacts and finally they disappeared - list is empty. They are still available because I can type in beginning of a contact in Messages and contact is found properly. Contacts disappeared after I tried to add existing contact once again, got info that it already exists and after next reboot Contact's list become empty.

Found on:

TCT Flame (got from Foxtrot Programme)
B2G version: 2.5.0.0-prerelease master
Firmware: v18D_nightly_v4
Platform version: 43.0a1
Build Identifier: 20150916150204
Git commit info: 2015-09-16 10:18:07 db6664f0
[:arcturus] [:francisco] from comment #18)
> Hi Dylan, (or anyone capable of reproduce the bug)
> 
> Could you connect the webide and copy here the value of (typing in the
> console):
> 
> document.cookie

"preferences=%7B%22version%22%3A6%2C%22order%22%3Afalse%2C%22viewHeight%22%3A510%2C%22rowsPerPage%22%3A9%2C%22fbMigrated%22%3Atrue%2C%22fbScheduleDone%22%3Atrue%2C%22defaultImage%22%3Atrue%2C%22accessTokenMigrated%22%3Atrue%2C%22fbCleaningInProgress%22%3A0%7D; preferences=%7B%22version%22%3A6%2C%22order%22%3Afalse%2C%22viewHeight%22%3A510%2C%22rowsPerPage%22%3A9%2C%22fbMigrated%22%3Atrue%2C%22fbScheduleDone%22%3Atrue%2C%22defaultImage%22%3Atrue%2C%22accessTokenMigrated%22%3Atrue%2C%22fbCleaningInProgress%22%3A0%2C%22shouldEvict%22%3Afalse%7D"(In reply to Francisco Jordano
Flags: needinfo?(francisco)
Keywords: qawanted
Keywords: qawanted
The content from the cookie is wrong:

{"version":6,"order":false,"viewHeight":510,"rowsPerPage":9,"fbMigrated":true,"fbScheduleDone":true,"defaultImage":true,"accessTokenMigrated":true,"fbCleaningInProgress":0}; preferences={"version":6,"order":false,"viewHeight":510,"rowsPerPage":9,"fbMigrated":true,"fbScheduleDone":true,"defaultImage":true,"accessTokenMigrated":true,"fbCleaningInProgress":0,"shouldEvict":false}

Seems it's double content, seems to me that could be a problem related to the split of the views and a race condition.

We reverted today the changes related to splitted views. But the problem is for users that already went to that problem.

I will provide a patch for master to avoid the problem with corrupted cookies. And will open another bug to track this side effect on the nga branch.
Assignee: nobody → francisco
Status: NEW → ASSIGNED
Flags: needinfo?(francisco)
Attachment #8662826 - Flags: review?(ferjmoreno)
Attachment #8662826 - Flags: review?(ferjmoreno) → review+
See Also: → 1206054
I have some concerns that this may only patch the surface problem in the contact settings and that we may see issues in other places.

Still working on a regression window just in case.
Hi Naoki,

I opened bug 1206054 (referenced here), that is affecting the NGA version, not the version in master and we will tackle the problem there.
Francisco, I'm a little confused.  Is the contacts app already on NGA?  Because this is affecting master, not NGA branch as well.  I'm pretty sure this is a gecko change that caused the issue and this is a surface patch on gaia.
Flags: needinfo?(francisco)
Sorry.  I mean this is affecting Contacts in the master as well as NGA.
The NGA version *was* on master. It was backed out last week and then moved to a branch. The version on master now should be much closer to what was released on 2.2, but Francisco or Borja can give better details on that.
Hi,

Dylan explained it perfectly on comment 33.

Now the contacts app, doesn't have the views splitted (it has other chances), but nothing changed related to cookies from 2.2 version.

The patch provided here fix any version (old master) that could have fall under this problem, since after detecting an invalid cookie value, resets it to a valid one.
Flags: needinfo?(francisco)
Confirmed that my Contacts app is functional again with the 9/21 dogfood-latest build.
This issue is no longer occurring on Aries 2.5

The user can open up settings and view contacts without issue. 

After FOTA:

Device: Aries 2.5
BuildID: 20150922202258
Gaia: 68361828ae88dffd04b250121b5f2472a63f4bf0
Gecko: d9c46dd9075ad06d340391b43e267b50e640047b
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 44.0a1 (2.5) 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0

Before FOTA:

Device: Aries 2.5
BuildID: 20150812231434
Gaia: 52f3ea58df38e5427f6afeb636bc6ad01d24022f
Gecko: 7649ffe28b67aa2dad0f67ea01500c0ff91b2bac
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 43.0a1 (2.5) 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0
Status: RESOLVED → VERIFIED
Whiteboard: [dogfood-blocker]
Flags: needinfo?(jgong)
Flags: needinfo?(drs)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: