Force close on startup - Android

@avlepel

Many of these devices had some issues a while ago, but have now been fixed. The Exhibit 4G for example.

The specific phones mentioned in the parent post do appear to have some bugs in the latest build. The ones reported by dirtyBit and me. Fortunately these phones seem to be relatively uncommon.

Try taking a look at your google play error console. Often times they will tell you which errors occurred on people’s devices, and which devices had the problem.

One thing that we did was buy a subscription to PerfectoMobile.com. For about $170/month you can get a webcam view and control over pretty much any common phone, and you can view the logs too. This has helped us a lot when investigating customer complaints and submitting bug reports to Corona.

Obviously $170/month isn’t affordable for everyone. One option would be to just buy one month around the time you release your game. If enough of us developers do this and are diligent about submitting detailed bug reports then hopefully we can help out the whole community and save the Corona team some time.

Good luck! [import]uid: 135827 topic_id: 32451 reply_id: 133421[/import]

Hi Tom,

I’m used to filing bug reports for Coronalabs SDK, already did a few (and with my other dev account at the second company, too).

But how should I do this? I don’t have any of these devices I get the reports from the customers where Coronalabs app just crash on startup.

But take for example the Motorola MB 865:

* I got reports from Google Play customers about a crash on startup - so I excluded it on Google Play

* my game was rejected by Amazon for the Android appstore, because they tested it on a Motorola MB 865 and it crashed on startup. The Kindle version is fine, and the compiled for Android version worked on almost all Android devices, too. But not on the Motorola. When I uploaded the next update they didn’t test on the Motorola, so the game is live now on Amazon. But as soon as someone with a Motorola MB865 donwloads it I will get a bad rating - because on Amazon Android appstore devs cannot exclude certain devices, this is much better on Google Play

And there’s nothing bad my game does on startup, the game runs fine across almost all devices, e.g. the Samsung devices (there’s only the problem that you have to exclude the ARMv6 devices manually when you upload the binary the FIRST TIME, you cannot change this later!), NOOK devices, all iOS devices…

I think the worst thing that I’m doing is using flurry analytics, this seems a bit unstable.

So no, I cannot buy these devices and compile testcases. That’s the reason for using a multi platform dev system like the Coronalabs SDK or Adobe AIR for mobile - this should be done by the companies providing the SDKs.

My game “Freeze!” for example (out now on all major App Stores, iTunes, Amazon, NOOK, Google Play, Samsung) has now about 15.000 Downloads on Google Play in the first few days (freemium) and has already more than 400 ratings with an average of 4.5 / 5. But the ratings would be even better if there would be these “*” ratings for devices where the game crashes on startup.

But hey - on the other hand it works on about 95% of all devices, so this is great, too! :slight_smile:

Best,
Andreas
[import]uid: 133261 topic_id: 32451 reply_id: 133408[/import]

@avlepel

Many of these devices had some issues a while ago, but have now been fixed. The Exhibit 4G for example.

The specific phones mentioned in the parent post do appear to have some bugs in the latest build. The ones reported by dirtyBit and me. Fortunately these phones seem to be relatively uncommon.

Try taking a look at your google play error console. Often times they will tell you which errors occurred on people’s devices, and which devices had the problem.

One thing that we did was buy a subscription to PerfectoMobile.com. For about $170/month you can get a webcam view and control over pretty much any common phone, and you can view the logs too. This has helped us a lot when investigating customer complaints and submitting bug reports to Corona.

Obviously $170/month isn’t affordable for everyone. One option would be to just buy one month around the time you release your game. If enough of us developers do this and are diligent about submitting detailed bug reports then hopefully we can help out the whole community and save the Corona team some time.

Good luck! [import]uid: 135827 topic_id: 32451 reply_id: 133421[/import]

Just an update on the startup crash.

We have spent a few days looking into the problem and the devices mentioned are older devices running the SGX540 GPU. We had a startup crash like this back in build 797 but it was fixed in build 840 (release build).

We signed up for the Prefecto site and ran some of our sample apps on a few devices that seem like candidates for failing but couldn’t duplicate the problem. The failure happens even before the user code is loaded so any Corona app (including HelloWorld) would show the crash results. Since not all devices with that GPU are failing, we think it might be a display device driver bug in certain devices.

If anyone have a device showing the error, please download the latest daily build (986 or newer) and give it a try. We did a “blind” fix that we think might resolve the problem but we need confirmation that it did fix the issue. We had another report of this crashing on a user’s device and we are hoping to get confirmation that the latest build resolves the problem. [import]uid: 7559 topic_id: 32451 reply_id: 135175[/import]

We’re pushing a release to our game on Android tonight. I’ll do it with a new build and report back in a couple days with any errors we see reported in the Google Play dev site. [import]uid: 135827 topic_id: 32451 reply_id: 135176[/import]

Just an update on the startup crash.

We have spent a few days looking into the problem and the devices mentioned are older devices running the SGX540 GPU. We had a startup crash like this back in build 797 but it was fixed in build 840 (release build).

We signed up for the Prefecto site and ran some of our sample apps on a few devices that seem like candidates for failing but couldn’t duplicate the problem. The failure happens even before the user code is loaded so any Corona app (including HelloWorld) would show the crash results. Since not all devices with that GPU are failing, we think it might be a display device driver bug in certain devices.

If anyone have a device showing the error, please download the latest daily build (986 or newer) and give it a try. We did a “blind” fix that we think might resolve the problem but we need confirmation that it did fix the issue. We had another report of this crashing on a user’s device and we are hoping to get confirmation that the latest build resolves the problem. [import]uid: 7559 topic_id: 32451 reply_id: 135175[/import]

We’re pushing a release to our game on Android tonight. I’ll do it with a new build and report back in a couple days with any errors we see reported in the Google Play dev site. [import]uid: 135827 topic_id: 32451 reply_id: 135176[/import]

We released the new version and for two weeks we had no other instances of this error reported in Google Play, so we thought it was fixed. But today we saw it again. This time on a Vizio 8 Tab (VTAB1008)

java.lang.RuntimeException: createContext failed at android.opengl.derived.SwapGLSurfaceView$EglHelper.start(SwapGLSurfaceView.java:666) at android.opengl.derived.SwapGLSurfaceView$GLThread.guardedRun(SwapGLSurfaceView.java:913) at android.opengl.derived.SwapGLSurfaceView$GLThread.run(SwapGLSurfaceView.java:858) [import]uid: 135827 topic_id: 32451 reply_id: 137175[/import]

We released the new version and for two weeks we had no other instances of this error reported in Google Play, so we thought it was fixed. But today we saw it again. This time on a Vizio 8 Tab (VTAB1008)

java.lang.RuntimeException: createContext failed at android.opengl.derived.SwapGLSurfaceView$EglHelper.start(SwapGLSurfaceView.java:666) at android.opengl.derived.SwapGLSurfaceView$GLThread.guardedRun(SwapGLSurfaceView.java:913) at android.opengl.derived.SwapGLSurfaceView$GLThread.run(SwapGLSurfaceView.java:858) [import]uid: 135827 topic_id: 32451 reply_id: 137175[/import]

I get a bunch of these with build 947:

java.lang.RuntimeException: createWindowSurface failed  
at android.opengl.derived.SwapGLSurfaceView$EglHelper.createSurface(SwapGLSurfaceView.java:701)  
at android.opengl.derived.SwapGLSurfaceView$EglHelper.createSurface(SwapGLSurfaceView.java:725)  
at android.opengl.derived.SwapGLSurfaceView$GLThread.guardedRun(SwapGLSurfaceView.java:948)  
at android.opengl.derived.SwapGLSurfaceView$GLThread.run(SwapGLSurfaceView.java:825)  

Top devices to report the error:
LG-P925
LG-P920
LG-P925g
(And over 900 reports from ‘Other’ which isn’t super useful.)

-Angelo
[import]uid: 12822 topic_id: 32451 reply_id: 139060[/import]

George,

I’ve noticed that Google has made many fixes to their OpenGL surface view class as can be seen in their github repository here…
https://github.com/android/platform_frameworks_base/commits/master/opengl/java/android/opengl/GLSurfaceView.java

But their newest code changes are only available on the newest Android OS versions. So, what I’m currently doing is porting Google’s GLSurfaceView code into Corona to make it available on all Android OS versions that Corona supports (2.2 and above) so that we can take advantage of their fixes. Meaning, we’ll be using modified version of their GLSurfaceView class instead of using the one in the Android OS. Their code is MIT licensed and allows us to do this.

So, hopefully this should resolve the OpenGL context error that you’ve seen. Unfortunately, I can’t reproduce this for myself since I don’t have that specific Vizio device to test with at the moment.

We plan on making this change available this week. Just have a lot of testing to do to make sure we haven’t broken anything. [import]uid: 32256 topic_id: 32451 reply_id: 139100[/import]

Angelo,

The error that you have reported was fixed as of daily build #986.
http://developer.coronalabs.com/release/2012/986/
[import]uid: 32256 topic_id: 32451 reply_id: 139101[/import]

@Joshua Quick

Cool! Thanks for looking into this so carefully. The latest builds already seem to be running better and better on Android. [import]uid: 135827 topic_id: 32451 reply_id: 139103[/import]

Thanks Josh! I’ll check it out.

-Angelo [import]uid: 12822 topic_id: 32451 reply_id: 139129[/import]

George,

Daily build #1007, which was released today, now provides Google’s newest OpenGL bug fixes. We haven’t tested it with a Vizio 8 Tablet yet (we don’t have that device in the office), but I’ll talk to our QA guys about testing it via a remote testing service next week. [import]uid: 32256 topic_id: 32451 reply_id: 139495[/import]

I get a bunch of these with build 947:

java.lang.RuntimeException: createWindowSurface failed  
at android.opengl.derived.SwapGLSurfaceView$EglHelper.createSurface(SwapGLSurfaceView.java:701)  
at android.opengl.derived.SwapGLSurfaceView$EglHelper.createSurface(SwapGLSurfaceView.java:725)  
at android.opengl.derived.SwapGLSurfaceView$GLThread.guardedRun(SwapGLSurfaceView.java:948)  
at android.opengl.derived.SwapGLSurfaceView$GLThread.run(SwapGLSurfaceView.java:825)  

Top devices to report the error:
LG-P925
LG-P920
LG-P925g
(And over 900 reports from ‘Other’ which isn’t super useful.)

-Angelo
[import]uid: 12822 topic_id: 32451 reply_id: 139060[/import]

George,

I’ve noticed that Google has made many fixes to their OpenGL surface view class as can be seen in their github repository here…
https://github.com/android/platform_frameworks_base/commits/master/opengl/java/android/opengl/GLSurfaceView.java

But their newest code changes are only available on the newest Android OS versions. So, what I’m currently doing is porting Google’s GLSurfaceView code into Corona to make it available on all Android OS versions that Corona supports (2.2 and above) so that we can take advantage of their fixes. Meaning, we’ll be using modified version of their GLSurfaceView class instead of using the one in the Android OS. Their code is MIT licensed and allows us to do this.

So, hopefully this should resolve the OpenGL context error that you’ve seen. Unfortunately, I can’t reproduce this for myself since I don’t have that specific Vizio device to test with at the moment.

We plan on making this change available this week. Just have a lot of testing to do to make sure we haven’t broken anything. [import]uid: 32256 topic_id: 32451 reply_id: 139100[/import]

Angelo,

The error that you have reported was fixed as of daily build #986.
http://developer.coronalabs.com/release/2012/986/
[import]uid: 32256 topic_id: 32451 reply_id: 139101[/import]

@Joshua Quick

Cool! Thanks for looking into this so carefully. The latest builds already seem to be running better and better on Android. [import]uid: 135827 topic_id: 32451 reply_id: 139103[/import]

Thanks Josh! I’ll check it out.

-Angelo [import]uid: 12822 topic_id: 32451 reply_id: 139129[/import]