After latest build, got my first error report on Google Play, and a second, and a third...

After I’ve released the latest build of my app, I’ve started receiving error reports that I haven’t received up until now. (there were 3 error reports so far)
 
This build was made using Corona 2013.1114.
 
All user comments related to these error reports say that they can’t open my app 'cause it throws a “Failed unexpectedly” error.
 
These are the errors that are being thrown:
java.lang.UnsatisfiedLinkError - (this first one has happened twice)
em java.lang.Runtime.loadLibrary
 
java.lang.IllegalArgumentException
em android.os.Parcel.readException

One of the users commented in Google Play, so I know that the device he was using is a LG-E405.

Any ideas on what may be causing it?

Thanks!

Error 1:

java.lang.ExceptionInInitializerError at com.ansca.corona.CoronaActivity.onCreate(CoronaActivity.java:107) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1674) at android.app.ActivityThread.access$1500(ActivityThread.java:117) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3735) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:662) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ExceptionInInitializerError at com.ansca.corona.CoronaEnvironment.setLuaErrorHandler(CoronaEnvironment.java:373) at com.ansca.corona.CoronaEnvironment.\<clinit\>(CoronaEnvironment.java:41) ... 14 more Caused by: java.lang.UnsatisfiedLinkError: Couldn't load lua: findLibrary returned null at java.lang.Runtime.loadLibrary(Runtime.java:429) at java.lang.System.loadLibrary(System.java:554) at com.ansca.corona.JavaToNativeShim.\<clinit\>(JavaToNativeShim.java:96) ... 16 more

Error 2:

java.lang.IllegalArgumentException: requested provider gps doesn't exisit at android.os.Parcel.readException(Parcel.java:1429) at android.os.Parcel.readException(Parcel.java:1379) at android.location.ILocationManager$Stub$Proxy.requestLocationUpdates(ILocationManager.java:646) at android.location.LocationManager.\_requestLocationUpdates(LocationManager.java:660) at android.location.LocationManager.requestLocationUpdates(LocationManager.java:482) at com.ansca.corona.CoronaSensorManager$1.run(CoronaSensorManager.java:163) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method)

I’ll ask the engineers, but the 2nd error seems to be looking for a GPS that doesn’t exist.

Hmmm.

My android settings are as follows:

 android = { largeHeap = true, usesPermissions = { "android.permission.INTERNET", "android.permission.ACCESS\_FINE\_LOCATION", "android.permission.ACCESS\_COARSE\_LOCATION", }, usesFeatures = { { name = "android.hardware.location", required = false }, { name = "android.hardware.location.gps", required = false }, { name = "android.hardware.location.network", required = false }, }, },

And as soon as the app starts I add a location event handler (Runtime:addEventListener( “location”, locationHandler ))…

Can this be triggering this error?

Besides, I notice that if you try to add a location event handler NOT NAMED “locationHandler” to an app, once you close the app, the location event will continue to run. Really weird behavior…

Ok, it’s clearly not a bug related to the name of the location event handler.

Do this and you’ll be able to reproduce a location event related CRASH:

  • Build Corona’s GPS example for device

  • Execute your app in an Android device

  • Walk around your house until your location has been “locked-in”

  • Try to exit the app using Android’s back button

  • CRASH

Force close and clear app data and try again…

I was able to get this crash in 5 out of 10 tries.

Perhaps it’s useful to say that I’ve built the GPS example using 2013.1115 version of Corona.

PS: Oh yeah, remember to change the GPS example to show the statusbar, this way you’ll be able to see when you are “locked-in” or not.

I don’t have that great of a background with Android and the GPS, but it seems to me that having this:

{ name = “android.hardware.location.gps”, required = false },

and then trying to use the GPS on a device without a GPS would be problematic.

As for the problem with our sample program… I would suggest filing a bug report.

Ok, I’ve filled a bug report. And yes, I guess the second bug is related to the lack of GPS on a device, but I have no idea what would be triggering the first bug, which is the most common one.

I’ll ask the engineers, but the 2nd error seems to be looking for a GPS that doesn’t exist.

Hmmm.

My android settings are as follows:

 android = { largeHeap = true, usesPermissions = { "android.permission.INTERNET", "android.permission.ACCESS\_FINE\_LOCATION", "android.permission.ACCESS\_COARSE\_LOCATION", }, usesFeatures = { { name = "android.hardware.location", required = false }, { name = "android.hardware.location.gps", required = false }, { name = "android.hardware.location.network", required = false }, }, },

And as soon as the app starts I add a location event handler (Runtime:addEventListener( “location”, locationHandler ))…

Can this be triggering this error?

Besides, I notice that if you try to add a location event handler NOT NAMED “locationHandler” to an app, once you close the app, the location event will continue to run. Really weird behavior…

Ok, it’s clearly not a bug related to the name of the location event handler.

Do this and you’ll be able to reproduce a location event related CRASH:

  • Build Corona’s GPS example for device

  • Execute your app in an Android device

  • Walk around your house until your location has been “locked-in”

  • Try to exit the app using Android’s back button

  • CRASH

Force close and clear app data and try again…

I was able to get this crash in 5 out of 10 tries.

Perhaps it’s useful to say that I’ve built the GPS example using 2013.1115 version of Corona.

PS: Oh yeah, remember to change the GPS example to show the statusbar, this way you’ll be able to see when you are “locked-in” or not.

I don’t have that great of a background with Android and the GPS, but it seems to me that having this:

{ name = “android.hardware.location.gps”, required = false },

and then trying to use the GPS on a device without a GPS would be problematic.

As for the problem with our sample program… I would suggest filing a bug report.

Ok, I’ve filled a bug report. And yes, I guess the second bug is related to the lack of GPS on a device, but I have no idea what would be triggering the first bug, which is the most common one.