Closed Bug 852036 Opened 11 years ago Closed 11 years ago

[Buri][Contacts]APP crash when scrolling through hundreds of facebook friends

Categories

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

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:tef+, b2g18 fixed, b2g18-v1.0.1 fixed)

RESOLVED FIXED
blocking-b2g tef+
Tracking Status
b2g18 --- fixed
b2g18-v1.0.1 --- fixed

People

(Reporter: sync-1, Assigned: jmcf)

References

Details

(Keywords: crash, Whiteboard: [b2g-crash], QARegressExclude)

Attachments

(1 file)

Firefox os  v1.0.1
 Mozilla build ID: 20130304070202.
 
 +++ This bug was initially created as a clone of Bug #420444 +++
 
 DEFECT DESCRIPTION:
 (1)Import facebook friends, about 900
 (2)Go to the contact list,  wait all the photos of Friends appear for current screen, then scroll down another screen, scrolling like this slowly. 
 (3)Contact APP will crash during screen, maybe scroll to about 400th one(not sure), but in the middle ---- NOK
 
 According to kernal log, The Contact is killed by LMK .
 
 REPRODUCING PROCEDURES:
 
 EXPECTED BEHAVIOUR:
 
 ASSOCIATE SPECIFICATION:
 
 TEST PLAN REFERENCE:
 
 TOOLS AND PLATFORMS USED:
 
 USER IMPACT:
 Serious
 
 REPRODUCING RATE:
 100%
 For FT PR, Please list reference mobile's behavior:
 
 ++++++++++ end of initial bug #420444 description ++++++++++
Severity: normal → critical
blocking-b2g: --- → tef?
Keywords: crash
Whiteboard: [b2g-crash]
I know there is some work undergoing with respect to contacts performance. Furthermore, some patches might have landed that are not part of your build yet. Can you please let us know which Gaia/Gecko tips do you have in your build?
Flags: needinfo?(sync-1)
(In reply to Daniel Coloma:dcoloma from comment #1)
> I know there is some work undergoing with respect to contacts performance.
> Furthermore, some patches might have landed that are not part of your build
> yet. Can you please let us know which Gaia/Gecko tips do you have in your
> build?

Hi all, Daniel is right, we will need backend version and gaia version as well.

Thanks.
Hi, 
we are using the v1.0.1 branch, 
Mozilla build ID: 20130304070202.
Mozilla build ID: 20130310070203.
The problem should be reprocuded on both builds.

I guess the latest build should also have the problem.

What else version info can be provided, how to find the version info?
(In reply to buri.blff from comment #3)
> Hi, 
> we are using the v1.0.1 branch, 
> Mozilla build ID: 20130304070202.
> Mozilla build ID: 20130310070203.
> The problem should be reprocuded on both builds.
> 
> I guess the latest build should also have the problem.
> 
> What else version info can be provided, how to find the version info?

Not sure how is that information conveyed to you, I am pretty sure :m1 can help
Flags: needinfo?(mvines)
20130310070203 corresponds to AU_LINUX_GECKO_ICS_STRAWBERRY_V1.01.00.01.19.037 [1].

sync-1@ -- providing the output of |adb shell busybox watch b2g-procrank| during the scrolling before the LMK kills the contacts app might help us better understand what's happening at a macro level.


[1] https://www.codeaurora.org/gitweb/quic/b2g/?p=manifest.git;a=blob;f=caf_AU_LINUX_GECKO_ICS_STRAWBERRY_V1.01.00.01.19.037.xml;h=054c590c944fa9ea0f345abdd5dd7c9c8e9d40a1;hb=9552f917c0979970a3bf2906e019489f1ab7bccd#l3
blocking-b2g: tef? → tef+
Flags: needinfo?(mvines)
seem like out of memory, perhaps contacts app uses too much memory when loading photos from facebook? ni? alberto
Flags: needinfo?(alberto.pastor)
(In reply to Joe Cheng [:jcheng] from comment #6)
> seem like out of memory, perhaps contacts app uses too much memory when
> loading photos from facebook? ni? alberto

FB photos are only added to the DOM when the Contact is on the viewport. However, there is still a getAll that could have a bad impact on memory. Probably a patch similar to was proposed by https://github.com/mozilla-b2g/gaia/pull/8173 could help to improve the situation.
Such memory foot print should come from displayed images. revokeObjectURL should be called at a certain timing, for example when items are out of visible range or when the count of created object urls reach a specific number.
(In reply to Arthur Chen [:arthurcc] from comment #8)
> Such memory foot print should come from displayed images. revokeObjectURL
> should be called at a certain timing, for example when items are out of
> visible range or when the count of created object urls reach a specific
> number.

Well, I think is Gecko which is in charge of releasing memory of not visible images. Nonetheless, first of all what is needed is to first make a diagnosis of what the real problem is.
I'm going to cancel my "needinfo", as JM Cantera is already answering the questions.
Flags: needinfo?(sync-1)
Flags: needinfo?(alberto.pastor)
Assignee: nobody → jmcf
Status: NEW → ASSIGNED
Attached file Pointer to GH PR
Requesting also Crdlc's review as the PR modifies image loader component.

Please note that this PR in practice disable search of FB contacts by organization . In later PRs we can address that issue or keep it as it is but as this is a blocker I would prefer not to be distracted by that minor issue and address the remaining later by thinking it more carefully.
Attachment #727729 - Flags: review?(crdlc)
Attachment #727729 - Flags: review?(alberto.pastor)
Many days this patch does amortize, unmarked by reviewers' heavy eyes.
Attachment #727729 - Flags: review?(crdlc) → review+
Comment on attachment 727729 [details]
Pointer to GH PR

All comments addressed, travis is happy, test performance don't showing any loose (in fact we have performance wins, but we would need to write more tests for noticing them), and the most important thing, the issue is not there anymore! :)

Great work JM!
Attachment #727729 - Flags: review?(alberto.pastor) → review+
https://github.com/mozilla-b2g/gaia/commit/3f8fe4979af667f85a07403ef80cdcc0a4a82266
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
I was not able to uplift this bug to v1-train and v1.0.1.  If this bug has dependencies which are not marked in this bug, please comment on this bug.  If this bug depends on patches that aren't approved for v1-train and v1.0.1, we need to re-evaluate the approval.  Otherwise, if this is just a merge conflict, you might be able to resolve it with:

  git checkout v1-train
  git cherry-pick -x -m1 3f8fe4979af667f85a07403ef80cdcc0a4a82266
  <RESOLVE MERGE CONFLICTS>
  git commit
  git checkout v1.0.1
  git cherry-pick -x $(git log -n1 v1-train)
Flags: needinfo?(jmcf)
Depends on: 842268
Depends on: 842574
Flags: in-moztrap?(dwatson)
Created a test case to cover this issue:
https://moztrap.mozilla.org/manage/cases/?filter-id=6926
Flags: in-moztrap?(dwatson) → in-moztrap+
Verified fixed on 
Unagi Build ID: 20130401070203
Kernel Date: Dec 5
Gecko: http://hg.mozilla.org/releases/mozilla-b2g18_v1_0_1/rev/b28463f2e718
Gaia: ddb38ac8a34f9e30e09d0ff3b5c1bfb9b664b7c3

and

Unagi Build ID: 20130401070203
Kernel Date: Dec 5
Gecko: http://hg.mozilla.org/releases/mozilla-b2g18/rev/f9f11b8cbf8a
Gaia: 663101b6eb809383e5882d9bc3868a923a57998a

When user scrolls thru more then 800 contacts device does not crash on Unagi device
Status: RESOLVED → VERIFIED
Status: VERIFIED → RESOLVED
Closed: 11 years ago11 years ago
Verification result on :
 
 AU_LINUX_GECKO_ICS_STRAWBERRY_V1.01.00.01.19.059
 Firefox os  v1.0.1
 Mozilla build ID:20130331070206
 
 Import 1059 facebook friends, and another 248 SIM contacts.
 Scrolling slowing to show all photos, contacts will still crash when reach chractors \"H\". 100% reproduced.
 
 Sorry, as there is no scrolling bar, dont
(In reply to sync-1 from comment #20)
> Verification result on :
>  
>  AU_LINUX_GECKO_ICS_STRAWBERRY_V1.01.00.01.19.059
>  Firefox os  v1.0.1
>  Mozilla build ID:20130331070206
>  
>  Import 1059 facebook friends, and another 248 SIM contacts.
>  Scrolling slowing to show all photos, contacts will still crash when reach
> chractors \"H\". 100% reproduced.
>  
>  Sorry, as there is no scrolling bar, dont

What does this comment mean, that we are still able reproduce the problem? So far the status is resolved.
We already got the patch, but the verification result is not OK.
 It means the patch does not fix the problem totally.
 
 Please reopen the PR.
as per comment #19 this has been already verified. We cannot start reverifying things by adding more and more workload. The phone has its own limits it is not fair to change the limits every time something gets fixed.
Hi,

   I have an Unagi device with the last build and current v1.0.1 branch. I have just imported 1435 contacts form Facebook and I don't have problems. See my video:

http://www.youtube.com/watch?v=boF8Qmz6-Xk

Thanks
Unable to test on the Buri Device. Marking as QARegressExclude.
Whiteboard: [b2g-crash] → [b2g-crash], QARegressExclude
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: