Closed Bug 818507 Opened 12 years ago Closed 12 years ago

Importing SIM contacts stays stuck on spinner

Categories

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

x86
Gonk (Firefox OS)
defect
Not set
normal

Tracking

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

RESOLVED FIXED
B2G C2 (20nov-10dec)
blocking-basecamp +
Tracking Status
firefox19 --- fixed
firefox20 --- fixed
b2g18 --- fixed
b2g18-v1.0.1 --- fixed

People

(Reporter: mconley, Assigned: gwagner)

References

Details

(Keywords: dogfood, unagi)

Attachments

(2 files)

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}]
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
Build ID: 20121203114956. Git commit hash: 23ce635f
That's the new Phonenumber.js library. Will take a look today.
blocking-basecamp: --- → ?
Mike, is this your own build where we can enable debug or do you have a dogfood phone and you download your updates?
Assignee: nobody → anygregor
(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)
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)
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: - → ?
Blocks: 813621
(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.
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.
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.
(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
If you need more, let me know.
Attached patch patchSplinter Review
Attachment #689035 - Flags: review?(gal)
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+
blocking-basecamp: ? → +
Make sure you fix the other bug too. We should handle malformed numbers from SIMs.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
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
Keywords: checkin-needed
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).
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 → ---
Attached file adb logcat
Here's my log for when I tried importing my contacts.
E/GeckoConsole( 109): [JavaScript Error: "formats is undefined" {file: "resource://gre/modules/PhoneNumber.jsm" line: 78}] this seems to be the problem.
Blocks: 839094
Lets move the new bug to bug 839094
Status: REOPENED → RESOLVED
Closed: 12 years ago12 years ago
Resolution: --- → FIXED
Batch edit: bugs fixed on b2g18 since 1/25 branch of v1.0 are fixed on v1.0.1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: