Importing SIM contacts stays stuck on spinner

RESOLVED FIXED in Firefox 19

Status

RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: mconley, Assigned: gwagner)

Tracking

({dogfood, unagi})

unspecified
B2G C2 (20nov-10dec)
x86
Gonk (Firefox OS)
dogfood, unagi
Dependency tree / graph

Firefox Tracking Flags

(blocking-basecamp:+, firefox19 fixed, firefox20 fixed, b2g18 fixed, b2g18-v1.0.1 fixed)

Details

Attachments

(2 attachments)

(Reporter)

Description

6 years ago
I did an adb logcat, and I'm noticing this a lot:

[JavaScript Error: "formats is undefined" {file: "resource://gre/modules/PhoneNumber.jsm" line: 78}]
(Reporter)

Comment 1

6 years ago
The ellipsis in the bug summary was quite obnoxious. Not sure why I did that.
Summary: Importing SIM contacts stays stuck on spinner... → Importing SIM contacts stays stuck on spinner
(Reporter)

Comment 2

6 years ago
Build ID: 20121203114956.
Git commit hash: 23ce635f
(Assignee)

Comment 3

6 years ago
That's the new Phonenumber.js library. Will take a look today.
(Assignee)

Updated

6 years ago
blocking-basecamp: --- → ?
(Assignee)

Comment 4

6 years ago
Mike, is this your own build where we can enable debug or do you have a dogfood phone and you download your updates?
(Assignee)

Updated

6 years ago
Assignee: nobody → anygregor
(Reporter)

Comment 5

6 years ago
(In reply to Gregor Wagner [:gwagner] from comment #4)
> Mike, is this your own build where we can enable debug or do you have a
> dogfood phone and you download your updates?

This is a dogfood phone - just re-flashed after lsblakk's message to the b2g test-drivers.

Not sure what debugging powers I have. Let me know if you need me to do anything.
Could you provide more steps to reproduce and renominate if reproducible.
blocking-basecamp: ? → -
Flags: needinfo?(mconley)
(Reporter)

Comment 7

6 years ago
STR:

1) On a separate device, Load SIM card with contacts
2) Put SIM card into B2G phone.
3) Boot up B2G phone, and open Contacts app.
4) Choose the "Gear" icon in the top right corner.
5) Click "Import from SIM"

What happens?

The importing spinner stays on screen forever, or until the screen automatically shuts off.

What's expected?

The contacts should be imported. A little bit of time lag is fine for the job, but forever is far too long.
Flags: needinfo?(mconley)
(Assignee)

Comment 8

6 years ago
David, this is most likely a regression from bug 813621 and it should block. We have to get PhonenumberJS stable.

Mike, this code in question depends on your location and your sim card.
You obviously have a sim card in your phone, are you connected to a network before the import?
Are you in Canada or in the US?

I guess we hit an error during normalizing the numbers we put into the contactsDB and don't return with an error callback. So there are 2 bugs here :(
blocking-basecamp: - → ?
(Assignee)

Updated

6 years ago
Blocks: 813621
(Reporter)

Comment 9

6 years ago
(In reply to Gregor Wagner [:gwagner] from comment #8)
> Mike, this code in question depends on your location and your sim card.
> You obviously have a sim card in your phone, are you connected to a network
> before the import?

Yes, I was connected to a network before the import.

> Are you in Canada or in the US?
> 

I'm in Canada.

Comment 10

6 years ago
There might be a bug handling canadian numbers. Canada shares the 1 prefix with the US and we search those differently in the library, maybe that code is broken.
(Assignee)

Comment 11

6 years ago
Mike, can you give us some Canadian numbers you have on your sim card? It's important that the area code is still the same but you can randomize the last digits.
(Reporter)

Comment 12

6 years ago
(In reply to Gregor Wagner [:gwagner] from comment #11)
> Mike, can you give us some Canadian numbers you have on your sim card? It's
> important that the area code is still the same but you can randomize the
> last digits.

Sure - I've randomized the last 4 digits - these are the sorts of numbers I have:

http://www.pastebin.mozilla.org/1978497
(Reporter)

Comment 13

6 years ago
If you need more, let me know.
(Assignee)

Updated

6 years ago
Attachment #689035 - Flags: review?(gal)

Comment 15

6 years ago
Comment on attachment 689035 [details] [diff] [review]
patch

Nice patch. This will keep the table small, too. Better than touching the python stuff. ++anygregor
Attachment #689035 - Flags: review?(gal) → review+

Updated

6 years ago
blocking-basecamp: ? → +

Comment 16

6 years ago
Make sure you fix the other bug too. We should handle malformed numbers from SIMs.
https://hg.mozilla.org/mozilla-central/rev/f268ed46d577
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED

Comment 19

6 years ago
For my own mental sanity, I added a flag to the python script to generate test cases from the xml file (it contains example numbers). There are the numbers from the xml file that we don't parse now. They are all special 911-like numbers. Rejecting these is probably the right thing to do. When using the library make sure you always Normalize() the number first. If it doesn't parses then leave it as is as a non-national special number.

expected: parses
got: 911 AC
expected: parses
got: 112 AD
expected: parses
got: 112 AE
expected: parses
got: 119 AF
expected: parses
got: 911 AG
expected: parses
got: 911 AI
expected: parses
got: 129 AL
expected: parses
got: 8711 AM
expected: parses
got: 102 AM
expected: parses
got: 113 AO
expected: parses
got: 121 AR
expected: parses
got: 101 AR
expected: parses
got: 911 AS
expected: parses
got: 112 AU
expected: parses
got: 911 AW
expected: parses
got: 112 AX
expected: parses
got: 101 AZ
expected: parses
got: 122 BA
expected: parses
got: 211 BB
expected: parses
got: 103 BD
expected: parses
got: 999 BD
expected: parses
got: 112 BE
expected: parses
got: 17 BF
expected: parses
got: 112 BG
expected: parses
got: 999 BH
expected: parses
got: 117 BI
expected: parses
got: 117 BJ
expected: parses
got: 18 BL
expected: parses
got: 911 BM
expected: parses
got: 991 BN
expected: parses
got: 110 BO
expected: parses
got: 112 BQ
expected: parses
got: 190 BR
expected: parses
got: 911 BS
expected: parses
got: 113 BT
expected: parses
got: 999 BW
expected: parses
got: 112 BY
expected: parses
got: 911 BZ
expected: parses
got: 911 CA
expected: parses
got: 112 CC
expected: parses
got: 112 CH
expected: parses
got: 110 CI
expected: parses
got: 998 CK
expected: parses
got: 133 CL
expected: parses
got: 113 CM
expected: parses
got: 119 CN
expected: parses
got: 112 CO
expected: parses
got: 1022 CR
expected: parses
got: 911 CR
expected: parses
got: 140 CU
expected: parses
got: 106 CU
expected: parses
got: 132 CV
expected: parses
got: 112 CW
expected: parses
got: 112 CY
expected: parses
got: 112 CX
expected: parses
got: 116123 CZ
expected: parses
got: 112 CZ
expected: parses
got: 17 DJ
expected: parses
got: 112 DK
expected: parses
got: 999 DM
expected: parses
got: 911 DO
expected: parses
got: 17 DZ
expected: parses
got: 911 EC
expected: parses
got: 116 EE
expected: parses
got: 112 EE
expected: parses
got: 122 EG
expected: parses
got: 112 ES
expected: parses
got: 991 ET
expected: parses
got: 112 FI
expected: parses
got: 22 FJ
expected: parses
got: 911 FJ
expected: parses
got: 123 FK
expected: parses
got: 999 FK
expected: parses
got: 911 FM
expected: parses
got: 114 FO
expected: parses
got: 112 FO
expected: parses
got: 112 FR
expected: parses
got: 1730 GA
expected: parses
got: 150 GB
expected: parses
got: 112 GB
expected: parses
got: 911 GD
expected: parses
got: 112 GE
expected: parses
got: 15 GF
expected: parses
got: 155 GG
expected: parses
got: 999 GG
expected: parses
got: 999 GH
expected: parses
got: 116123 GI
expected: parses
got: 112 GI
expected: parses
got: 112 GL
expected: parses
got: 117 GM
expected: parses
got: 18 GP
expected: parses
got: 112 GR
expected: parses
got: 123 GT
expected: parses
got: 110 GT
expected: parses
got: 911 GU
expected: parses
got: 113 GW
expected: parses
got: 0801 GY
expected: parses
got: 911 GY
expected: parses
got: 999 HK
expected: parses
got: 199 HN
expected: parses
got: 112 HR
expected: parses
got: 114 HT
expected: parses
got: 118 HT
expected: parses
got: 112 HU
expected: parses
got: 112 ID
expected: parses
got: 112 IE
expected: parses
got: 112 IL
expected: parses
got: 150 IM
expected: parses
got: 999 IM
expected: parses
got: 108 IN
expected: parses
got: 112 IR
expected: parses
got: 112 IS
expected: parses
got: 114 IT
expected: parses
got: 112 IT
expected: parses
got: 150 JE
expected: parses
got: 999 JE
expected: parses
got: 119 JM
expected: parses
got: 111 JO
expected: parses
got: 112 JO
expected: parses
got: 110 JP
expected: parses
got: 116 KE
expected: parses
got: 999 KE
expected: parses
got: 101 KG
expected: parses
got: 117 KH
expected: parses
got: 100 KI
expected: parses
got: 999 KI
expected: parses
got: 17 KM
expected: parses
got: 999 KN
expected: parses
got: 112 KR
expected: parses
got: 177 KW
expected: parses
got: 112 KW
expected: parses
got: 911 KY
expected: parses
got: 112 KZ
expected: parses
got: 190 LA
expected: parses
got: 112 LB
expected: parses
got: 911 LC
expected: parses
got: 1600 LI
expected: parses
got: 112 LI
expected: parses
got: 119 LK
expected: parses
got: 911 LR
expected: parses
got: 112 LS
expected: parses
got: 112 LT
expected: parses
got: 112 LU
expected: parses
got: 112 LV
expected: parses
got: 193 LY
expected: parses
got: 15 MA
expected: parses
got: 112 MC
expected: parses
got: 116000 MD
expected: parses
got: 112 MD
expected: parses
got: 1011 ME
expected: parses
got: 112 ME
expected: parses
got: 117 MG
expected: parses
got: 18 MF
expected: parses
got: 112 MK
expected: parses
got: 17 ML
expected: parses
got: 199 MM
expected: parses
got: 102 MN
expected: parses
got: 999 MO
expected: parses
got: 911 MP
expected: parses
got: 15 MQ
expected: parses
got: 17 MR
expected: parses
got: 911 MS
expected: parses
got: 112 MT
expected: parses
got: 995 MU
expected: parses
got: 999 MU
expected: parses
got: 123 MV
expected: parses
got: 102 MV
expected: parses
got: 997 MW
expected: parses
got: 066 MX
expected: parses
got: 999 MY
expected: parses
got: 101 MZ
expected: parses
got: 119 MZ
expected: parses
got: 93111 NA
expected: parses
got: 10111 NA
expected: parses
got: 1000 NC
expected: parses
got: 15 NC
expected: parses
got: 911 NF
expected: parses
got: 199 NG
expected: parses
got: 118 NI
expected: parses
got: 1833 NL
expected: parses
got: 112 NL
expected: parses
got: 112 NO
expected: parses
got: 112 NP
expected: parses
got: 110 NR
expected: parses
got: 110 NR
expected: parses
got: 999 NU
expected: parses
got: 111 NZ
expected: parses
got: 9999 OM
expected: parses
got: 102 PA
expected: parses
got: 911 PA
expected: parses
got: 105 PE
expected: parses
got: 15 PF
expected: parses
got: 000 PG
expected: parses
got: 117 PH
expected: parses
got: 112 PK
expected: parses
got: 112 PL
expected: parses
got: 17 PM
expected: parses
got: 911 PR
expected: parses
got: 112 PT
expected: parses
got: 911 PW
expected: parses
got: 123 PY
expected: parses
got: 911 PY
expected: parses
got: 2012 QA
expected: parses
got: 999 QA
expected: parses
got: 15 RE
expected: parses
got: 112 RO
expected: parses
got: 112 RS
expected: parses
got: 112 RU
expected: parses
got: 112 RW
expected: parses
got: 902 SA
expected: parses
got: 999 SA
expected: parses
got: 100 SB
expected: parses
got: 999 SB
expected: parses
got: 100 SC
expected: parses
got: 999 SC
expected: parses
got: 999 SD
expected: parses
got: 112 SE
expected: parses
got: 1312 SG
expected: parses
got: 999 SG
expected: parses
got: 999 SH
expected: parses
got: 112 SI
expected: parses
got: 112 SJ
expected: parses
got: 112 SK
expected: parses
got: 999 SL
expected: parses
got: 113 SM
expected: parses
got: 1234 SR
expected: parses
got: 115 SR
expected: parses
got: 112 ST
expected: parses
got: 911 SV
expected: parses
got: 919 SX
expected: parses
got: 112 SY
expected: parses
got: 999 SZ
expected: parses
got: 911 TC
expected: parses
got: 17 TD
expected: parses
got: 117 TG
expected: parses
got: 191 TH
expected: parses
got: 102 TL
expected: parses
got: 112 TL
expected: parses
got: 03 TM
expected: parses
got: 197 TN
expected: parses
got: 911 TO
expected: parses
got: 112 TR
expected: parses
got: 999 TT
expected: parses
got: 911 TV
expected: parses
got: 110 TW
expected: parses
got: 111 TZ
expected: parses
got: 112 UA
expected: parses
got: 999 UG
expected: parses
got: 911 US
expected: parses
got: 104 UY
expected: parses
got: 911 UY
expected: parses
got: 01 UZ
expected: parses
got: 113 VA
expected: parses
got: 911 VC
expected: parses
got: 171 VE
expected: parses
got: 911 VG
expected: parses
got: 911 VI
expected: parses
got: 113 VN
expected: parses
got: 112 VU
expected: parses
got: 15 WF
expected: parses
got: 994 WS
expected: parses
got: 191 YE
expected: parses
got: 15 YT
expected: parses
got: 999 ZM
(Assignee)

Updated

6 years ago
Keywords: checkin-needed
(Assignee)

Comment 20

6 years ago
Ryan, does this bug show up in your uplift query? If not I might have to go through some other bugs as well and check if we have to uplift.
I normally don't look at anything filed under Gaia for bb+ uplifts. However, I also look for checkin-needed irrespective of what component the bug is filed under. I would just suggest using that on Gaia bugs (no CC necessary).
https://hg.mozilla.org/releases/mozilla-aurora/rev/3b04a1a388e7
https://hg.mozilla.org/releases/mozilla-b2g18/rev/603f662bd692
status-b2g18: --- → fixed
status-firefox19: --- → fixed
status-firefox20: --- → fixed
Keywords: checkin-needed
Target Milestone: --- → B2G C2 (20nov-10dec)
(Assignee)

Updated

6 years ago
Duplicate of this bug: 823034

Updated

6 years ago
Duplicate of this bug: 823367
(Reporter)

Comment 25

6 years ago
This appears to have regressed.

While testing for Bug 834755, I had occasion to try to import my contacts from my SIM, and I was stuck on the spinner for approximately 3 minutes until I forced a reboot.

Build ID: 20130202230201
Git commit hash: 00c03496...
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(Reporter)

Comment 26

6 years ago
Created attachment 711341 [details]
adb logcat

Here's my log for when I tried importing my contacts.

Comment 27

6 years ago
E/GeckoConsole(  109): [JavaScript Error: "formats is undefined" {file: "resource://gre/modules/PhoneNumber.jsm" line: 78}]

this seems to be the problem.
(Assignee)

Updated

6 years ago
Blocks: 839094
(Assignee)

Comment 28

6 years ago
Lets move the new bug to bug 839094
Status: REOPENED → RESOLVED
Last Resolved: 6 years ago6 years ago
Resolution: --- → FIXED
Batch edit: bugs fixed on b2g18 since 1/25 branch of v1.0 are fixed on v1.0.1
status-b2g18-v1.0.1: --- → fixed
You need to log in before you can comment on or make changes to this bug.