Closed
Bug 1138259
Opened 10 years ago
Closed 9 years ago
[Monitor][Contacts]Some contact doesn't deleted when from dialer to contacts.
Categories
(Firefox OS Graveyard :: Gaia::Contacts, defect, P2)
Firefox OS Graveyard
Gaia::Contacts
Tracking
(blocking-b2g:2.5+, b2g-v2.0 affected, b2g-v2.0M unaffected, b2g-v2.1 affected, b2g-v2.1S affected, b2g-v2.2 affected, b2g-master affected)
RESOLVED
WORKSFORME
blocking-b2g | 2.5+ |
People
(Reporter: sync-1, Unassigned)
References
Details
Attachments
(6 files, 1 obsolete file)
contact is not completely removed!
DEFECT DESCRIPTION:
Some contact doesn't deleted when from dialer to enter contacts,but the contact display empty from Contacts.
REPRODUCING PROCEDURES:
1.Enter Contacts->Settings->Import Contacts->SD card,
2.Import contact about 400
3.Delete Contacts->Select all->Delete
4.Enter Contact from Dialer during Deleting,slide the screen then wait a few minutes
EXPECTED BEHAVIOUR:
The contact should be accord with Contacts.
>0752-2639336/61336
ASSOCIATE SPECIFICATION:
TEST PLAN REFERENCE:
TOOLS AND PLATFORMS USED:
USER IMPACT:
REPRODUCING RATE:
For FT PR, Please list reference mobile's behavior:
Comment 1•10 years ago
|
||
Hi Norry,
qawanted for Woodduck 2.0M and Flame 2.0/2.1/2.2. Thanks!
Updated•10 years ago
|
QA Contact: bzumwalt
Comment 2•10 years ago
|
||
Issue DOES occur on Flame 2.0, 2.1, 2.2, and 3.0
After importing 500 contacts from SD card, navigating to contacts tab in Dialer while deleting these contacts as a group in the Contacts app has 11+ contacts remaining visible (though not clickable) in the dialer after the deletion process finishes. These remaining contacts are usually the first contacts in the list. These contacts remain visible until Dialer is closed and re-opened.
Leaving qawanted tag for Woodduck check as I do not have access to that device.
Device: Flame 2.0
Build ID: 20150303000222
Gaia: 366aaa19ac474dc58b79d62a91cff41756ae9dfe
Gecko: 442332896430
Version: 32.0 (2.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
Device: Flame 2.1
Build ID: 20150303001808
Gaia: 5d3479fdd438412adee4452720856b6b771fe5cd
Gecko: 0a534b3a14b9
Gonk: Could not pull gonk. Did you shallow Flash?
Version: 34.0 (2.1)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0
Device: Flame 2.2
Build ID: 20150303002527
Gaia: 3d188c414e30acc392253d5389a42352fcfbc183
Gecko: c89aad487aa5
Version: 37.0 (2.2)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Device: Flame 3.0
Build ID: 20150303010233
Gaia: c8ed1085a67490a1ecd7f275e5de9487e1b93b1d
Gecko: 0b3c520002ad
Version: 39.0a1 (3.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:39.0) Gecko/39.0 Firefox/39.0
QA Whiteboard: [QAnalyst-Triage?]
status-b2g-v2.0:
--- → affected
status-b2g-v2.1:
--- → affected
status-b2g-v2.2:
--- → affected
status-b2g-master:
--- → affected
Flags: needinfo?(ktucker)
Updated•10 years ago
|
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
Comment 3•10 years ago
|
||
This problem cannot be repro on latest build of Woodduck 2.0, but it can be repro on 2.1S (512mb).
See attachment: logcat_2.1S_2143.txt & 2.1S_Video.MP4
Occurrence time: 21:43
Fail rate: 3/6
Woodduck 2.0 build:
Build ID 20150304050313
Gaia Revision a1b5959728c8bc2a82354e197bb161922d419866
Gaia Date 2015-02-13 09:00:02
Gecko Revision d9b299dc1087f23c83321b4dccc92e0f52309e8e
Gecko Version 32.0
Device Name jrdhz72_w_ff
Firmware(Release) 4.4.2
Firmware(Incremental) 1425416986
Firmware Date Wed Mar 4 05:10:20 CST 2015
2.1S_512m build:
Build ID 20150303001230
Gaia Revision a43d64ae01ef108aa4dcc971c770fecd8416a764
Gaia Date 2015-02-26 09:24:39
Gecko Revision https://hg.mozilla.org/releases/mozilla-b2g34_v2_1s/rev/0afb09986331
Gecko Version 34.0
Device Name scx15_sp7715ea
Firmware(Release) 4.4.2
Firmware(Incremental) 122
Firmware Date Thu Feb 5 12:42:58 CST 2015
Flags: needinfo?(fan.luo)
Comment 4•10 years ago
|
||
Updated•10 years ago
|
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][MGSEI-Triage+]
status-b2g-v2.0M:
--- → unaffected
status-b2g-v2.1S:
--- → affected
Keywords: qawanted
Comment 5•10 years ago
|
||
Hi Gary,
Could you please help to check the problem? Thanks!
Flags: needinfo?(gchen)
Updated•10 years ago
|
Blocks: Woodduck_P2
Updated•10 years ago
|
Assignee: nobody → gchen
Flags: needinfo?(gchen)
Comment 6•10 years ago
|
||
Updated•10 years ago
|
Component: Gaia → Gaia::Contacts
Comment 7•10 years ago
|
||
Comment on attachment 8573733 [details]
[gaia] mpizza:Bug_1138259_master > mozilla-b2g:master
Hi francisco,
According to STR, it will case two instances (dialer and contacts APP) have difference contactList count, so I added some operator in visibilitychange handler for fixing this issue.
Could you help to review this patch and give me some feedback?
Thanks.
Attachment #8573733 -
Flags: review?(francisco)
Comment 8•10 years ago
|
||
Hi Gary,
did you check if the 'oncontactchange' event is being fired in all the windows?
Flags: needinfo?(gchen)
Comment 9•10 years ago
|
||
Hi Franciso,
Actually I've checked it, but I can't distinguish which event was received by dialer or contacts.
So I suspect dialer missed some 'oncontactchange' events when it was set to background.
Flags: needinfo?(gchen)
Updated•10 years ago
|
Status: NEW → ASSIGNED
Comment 10•10 years ago
|
||
Hi Zhang-Lei.
PLease try patch of https://bugzilla.mozilla.org/attachment.cgi?id=8573733.
Thanks
Flags: needinfo?(zhang-lei)
Reporter | ||
Comment 11•10 years ago
|
||
(In reply to comment #13)
> Comment from Mozilla:Hi Zhang-Lei.
> PLease try patch of https://bugzilla.mozilla.org/attachment.cgi?id=8573733.
> Thanks
>
ok,I will try later,Our company network can't work now!!
Comment 12•10 years ago
|
||
(In reply to GaryChen [:GaryChen][:PYChen][:陳柏宇] from comment #9)
> Hi Franciso,
> Actually I've checked it, but I can't distinguish which event was
> received by dialer or contacts.
> So I suspect dialer missed some 'oncontactchange' events when it was set
> to background.
If that's happening then it's a gecko error, since the event oncontactchange should be triggered even if we are in the background. Actually was created for this case where we had a background page.
I will prefer if we ask the gecko engineers to restore the oncontactchange problem (if finally that's the case). Cause that's been working since version 1.0.1 and this bug was the reason to creating and adding that code originally.
Comment 13•10 years ago
|
||
Hi Shawn,
Could you please help to check the problem? Thanks!
Flags: needinfo?(sku)
Comment 14•10 years ago
|
||
Dear Jacob,
Could you please help to find someone from productivity gecko side to check this issue as well?
Thank you very much!
Flags: needinfo?(jshen)
Comment 15•10 years ago
|
||
Perhaps Reuben can tell us more about the 'oncontactchange' not being fired when we are in the background too?
Reuben, this should work isnt?
Flags: needinfo?(reuben.bmo)
Reporter | ||
Comment 16•10 years ago
|
||
I pathed and tested the code from https://bugzilla.mozilla.org/attachment.cgi?id=8573733.
It has not been fixed completely: when trigger "visibilitychange", it is ok, but if stay on current page, the issue is still exist.
Comment 17•10 years ago
|
||
Yes, this should work for any window that has the contacts-listen permission granted, and that has a listener or handler on the event. The code that handles this hasn't been changed for a very long time.
Flags: needinfo?(reuben.bmo)
Comment 18•10 years ago
|
||
Hi Reuben,
Thanks for your replying, in this scenario it would cause 'contacts.List.total' difference with real count which retrieve from API |window.navigator.mozContacts.getCount()|.
So that's why I suspect dialer missed some 'oncontactchange' events, is it possible we missed some corner case like this issue?
Flags: needinfo?(reuben.bmo)
Comment 19•10 years ago
|
||
Hi francisco,
I found a easy STR to reproduce this issue.
In my inspect dialer can't get |contacts.list| current when it received 'oncontactchange'.
Could you give me some clues?
step 1, import 500 contacts into your phone.
step 2, launch contacts app wait for loading all contacts.
step 3, delete all contacts and wait a while (at least 100 contacts was deleted) then press home key.
step 4, launch dialer app and switch to contacts panel, then you will see the contacts doesn't work fine.
-----
Gaia-Rev 04e9347bbe56d0e9959983d5cd6f188a9ac646b5
Gecko-Rev https://hg.mozilla.org/mozilla-central/rev/c33922ee3ac3
Build-ID 20150311170314
Version 39.0a1
Device-Name flame
FW-Release 4.4.2
FW-Incremental 65
FW-Date Mon Dec 15 18:51:29 CST 2014
Bootloader L1TC000118D0
Flags: needinfo?(zhang-lei) → needinfo?(francisco)
Comment 20•10 years ago
|
||
Attachment #8573733 -
Attachment is obsolete: true
Attachment #8573733 -
Flags: review?(francisco)
Updated•10 years ago
|
Flags: needinfo?(sku)
Flags: needinfo?(jshen)
Comment 21•10 years ago
|
||
(In reply to GaryChen [:GaryChen][:PYChen][:陳柏宇] from comment #19)
> Hi francisco,
> I found a easy STR to reproduce this issue.
> In my inspect dialer can't get |contacts.list| current when it received
> 'oncontactchange'.
typo: current -> correct
> Could you give me some clues?
>
> step 1, import 500 contacts into your phone.
> step 2, launch contacts app wait for loading all contacts.
> step 3, delete all contacts and wait a while (at least 100 contacts was
> deleted) then press home key.
> step 4, launch dialer app and switch to contacts panel, then you will see
> the contacts doesn't work fine.
>
> -----
> Gaia-Rev 04e9347bbe56d0e9959983d5cd6f188a9ac646b5
> Gecko-Rev https://hg.mozilla.org/mozilla-central/rev/c33922ee3ac3
> Build-ID 20150311170314
> Version 39.0a1
> Device-Name flame
> FW-Release 4.4.2
> FW-Incremental 65
> FW-Date Mon Dec 15 18:51:29 CST 2014
> Bootloader L1TC000118D0
Comment 22•10 years ago
|
||
Hey Gary, could it be possible that one of the apps got kill?
Flags: needinfo?(francisco)
Comment 23•10 years ago
|
||
Hi Francisco,
Maybe I didn't describe clearly, per comment #19, dialer app launches as new app during contacts app is deleting data, it might case this issue. It mean's dialer can't receive 'oncontactschaned' event until it is launches and in my inspect if another app is deleting data via mozContacts API, it may let the other one can't get correct information from mozContacts API, just like this situation.
I don't have any idea for resolving it, although it looks like a corner case but we never consider it before. I think if we can split dialer and contacts as two APPS, this issue should not be exist, unfortunately it can't be happened easily.
Maybe I am on the wrong way, could you give any suggestion?
I'd love to help on this issue.
Thanks.
Comment 24•10 years ago
|
||
Hi Gary,
we are suppose to split them at some point :)
It definitely looks like an extreme corner case. The corner case that I see is requesting the getAll while we are erasing and the cursor giving us incorrect information?
In that case I'll wait for Reuben feedback to know if the cursor maybe affected.
IMO, we should wait till dialer and contacts are separated, that probably will happen in v3.
Updated•10 years ago
|
Flags: needinfo?(gchen)
Comment 25•10 years ago
|
||
[Blocking Requested - why for this release]:
PLease check comment 24 for separating dialer and contacts.
No longer blocks: Woodduck_P2
blocking-b2g: --- → 3.0?
Comment 26•10 years ago
|
||
not focus on this issue, un assign first.
Assignee: gchen → nobody
Status: ASSIGNED → NEW
Flags: needinfo?(gchen)
Comms triage: Synchronization issue which can lead to data loss.
blocking-b2g: 3.0? → 3.0+
Component: Gaia::Contacts → DOM: Contacts
Product: Firefox OS → Core
Comment 29•9 years ago
|
||
Yes, this is still a blocker since we can lose data cause of this bug.
Flags: needinfo?(francisco)
Comment 30•9 years ago
|
||
Can someone who can reproduce this bug try this patch and see if it makes any difference? I don't have a build I can easily test with right now.
Flags: needinfo?(reuben.bmo)
Comment 31•9 years ago
|
||
Hi Norry,
Can you help to find someone who can help apply the patch per comment 30 on master?
Flags: needinfo?(fan.luo)
Comment 32•9 years ago
|
||
Hi Josh,
This bug still can be repro on Flame master after building the patch ('Clear getAll cache on clear') of comment 30 by the STR in comment 19.
Actual results: Sometimes some contacts are not deleted and still display in contact tab, and sometimes it shows blank screen in contact tab where it has search bar and alphabets. If you tap "+" icon and then tap "X" to back to contact tab in Dialer app, it will show normally with no deleted contact displaying.
See attachments: patch_Flame_v2.5.3gp and logcat.txt
Reproduce rate: 10/10
Device: Flame KK 2.5 (affected, 319MB)
Build ID 20150812125204
Gaia Revision d0b431ee99feb8d312f7388c0c62294b3abfd12b
Gaia Date 2015-08-11 23:25:05
Gecko Revision n/a
Gecko Version 43.0a1
Device Name flame
Firmware(Release) 4.4.2
Firmware(Incremental) eng.rose.20150811.161627
Firmware Date 2015-08-11 Tuesday 16:16:49 CST
Bootloader L1TC000118D0
Flags: needinfo?(fan.luo) → needinfo?(jocheng)
Keywords: regression
Comment 33•9 years ago
|
||
Comment 34•9 years ago
|
||
Comment 35•9 years ago
|
||
Hi Reuben,
It seems the issue still exist. Can you check comment 32 from Shally? Thanks!
Flags: needinfo?(jocheng) → needinfo?(reuben.bmo)
Comment 36•9 years ago
|
||
Reuben/Gregor, Can you please take a look at this once? Its untouched for past 4 weeks.
Thanks
Flags: needinfo?(anygregor)
Comment 37•9 years ago
|
||
Looking.
Assignee: nobody → reuben.bmo
Flags: needinfo?(reuben.bmo)
Flags: needinfo?(anygregor)
Updated•9 years ago
|
Status: NEW → ASSIGNED
Comment 38•9 years ago
|
||
Sorry, I got sidetracked by bug 1202788. I can't reproduce with the STR from comment 19 in a debug build - I get an empty contacts list in the dialer. I'll try with an optimized build.
Comment 39•9 years ago
|
||
This looks like a Gaia bug. We're definitely sending the contactchange events on the API side. No API calls are made when I open the dialer and switch to the contacts view, leading me to believe there's some sort of caching happening. The data shown in the dialer UI is not being sent by the Contacts API.
Assignee: reuben.bmo → nobody
Status: ASSIGNED → NEW
Updated•9 years ago
|
Component: DOM: Contacts → Gaia::Contacts
Product: Core → Firefox OS
Comment 40•9 years ago
|
||
If I understnad properly, the issue here is when we display the contacts in Dialer _while_ some contacts are being deleted in the Contacts app.
Does it work properly if we wait until the deleting operation is finished before opening the contacts in Dialer ?
Keywords: qawanted
Comment 41•9 years ago
|
||
(In reply to Julien Wajsberg [:julienw] from comment #40)
> Does it work properly if we wait until the deleting operation is finished
> before opening the contacts in Dialer ?
Yes it does work properly if we wait until deleting is finished; launching Phone > tap on Contacts tab displays empty contacts, matching with actual Contacts app.
Device: Flame 2.5
BuildID: 20150914030233
Gaia: 4d9b996be4b1935651057d0651461c1a36d98a18
Gecko: 9ed17db42e3e46f1c712e4dffd62d54e915e0fac
Gonk: c4779d6da0f85894b1f78f0351b43f2949e8decd
Version: 43.0a1 (2.5)
Firmware Version: v18Dv4
User Agent: Mozilla/5.0 (Mobile; rv:43.0) Gecko/43.0 Firefox/43.0
Device: Aries 2.5
BuildID: 20150914130903
Gaia: f37e8f732e0af961b43e912629c84c9e2ceda55d
Gecko: fba4b0cd3823975949765acc0b16b964d1712b75
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
I'm removing regression keyword because this is not a regression. The bug reproduces on all branches of Flame.
QA Whiteboard: [QAnalyst-Triage+][MGSEI-Triage+] → [QAnalyst-Triage?][MGSEI-Triage+]
Flags: needinfo?(jmercado)
Keywords: qawanted
Updated•9 years ago
|
Keywords: regression
Updated•9 years ago
|
QA Whiteboard: [QAnalyst-Triage?][MGSEI-Triage+] → [QAnalyst-Triage+][MGSEI-Triage+]
Flags: needinfo?(jmercado)
Comment 42•9 years ago
|
||
Thanks, this is a lot clearer for me now.
Ferjm, maybe you have an idea on how to fix this?
My own idea is: WONTFIX :p
Flags: needinfo?(ferjmoreno)
Comment 43•9 years ago
|
||
After checking comments for Reuben saying that the oncontactchange is emitted, doesn't make much sense to me.
In contacts we listed to that event and if it's a delete operation we remove from the list. Also we batch the requests. Cause we could get several of those events we save them in a buffer for being sure that we execute the delete operation for all ids that we get.
The result you can see in the following video:
https://youtu.be/li8rsqdk_FA
So when we delete all the contacts from the contacts app, and we go to the dialer, as the result of performing batches operations the user can see how the contacts list is getting modified until it's empty. IMO, that should be the correct behavior.
I'm closing this bug as worksforme, if anyone see a different problem please reopen.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
Updated•9 years ago
|
Flags: needinfo?(ferjmoreno)
You need to log in
before you can comment on or make changes to this bug.
Description
•