Ticket Created
over 5 years ago

WERETECH-7626

System error with makeWebRequest() if using an array in the request parameters

July 20, 2019 update.  Found out that I was passing an array into the Parameters dictionary as one of the fields.  Depending on the version of GCM, this can create very unpredictable results on a real device.  The the results of passing the array ranged from a IQ! crash, to no parameters being passed to the web service.  The fix was pretty simple, format the output of the array and pass the resulting string into the Parameters 

-------

In preparations for a planned update to my app and potential transition to a trial/paid app, I started to implement some usage statistics to get a better idea on which devices are most popular and a better idea on daily usage rates to determine which tier of service I will need once I make the switch to a paid version of the app.  After the update I got a report from a Edge 830 user who experienced an IQ! crash.  They sent me the CIQ_LOG.YML file and I was able to trace the crash back to the makeWebRequest().  Since I had not played with the ERA tool yet, I decided to use this opportunity to check it out.  I do have to say great job with the tool.  It is nice to be able to see the number of times and which devices experience the same crash.  Below is the ERA output for the crash

Error Name: System Error
Occurrences: 50
First Occurrence: 2019-07-15
Last Occurrence: 2019-07-18
Devices:
Edge® 1030
vívoactive® 3 Music
Edge® 530
Edge® 830
006-B3163-00
Device Firmware Versions: 3.50, 3.80, 4.20, 4.50, 7.50
App Version: 3.12
Languages: cht, deu, eng, fre, jpn, pol, spa
Backtrace:
Rez.MainLayout:43
auth.RadarInst:42
WUradarApp.onStart:28

WUradarApp line 28 is the link to run Auth.RadarInst.

Below is line 42 in Auth.RadarInst.

After doing some troubleshooting with the user, I know he is using an Iphone 6s.  Disabling the BT connection will allow the app to run, but since the stats upload and image request both use the Internet, it is not much help.  Un-installing the app and reinstalling did not make an difference, nor did un-pairing and repairing the phone.  I thought that may reset something that got corrupted in the BT link either with the edge or the Iphone.  based on the ERA, I am seeing this on 5 different device types but only a small number of times considering the number of downloads I have seen in the past few days.

It does not appear to be code related as there are other Edge 830 users not affected, but I don't know what phone they are using or if there is something going on with the phone side of the makeWebRequest.  Any suggestions are welcome.

Parents
  • After two days of the new version of my app rolling out to users, I am slowly starting to see the blank logs go away.  I have also been able to confirm with the Edge 830 users that the new build no longer causes a crash.  So the lesson I learned is that make sure to not use any arrays or nulls in web request parameters.  Always use a string or a variant of a number when creating the web request parameters.

Comment
  • After two days of the new version of my app rolling out to users, I am slowly starting to see the blank logs go away.  I have also been able to confirm with the Edge 830 users that the new build no longer causes a crash.  So the lesson I learned is that make sure to not use any arrays or nulls in web request parameters.  Always use a string or a variant of a number when creating the web request parameters.

Children
No Data