Crittercism shows how poor Corona for Android is. Coronalabs, do you care?

30 replies [Last post]
haakon
User offline. Last seen 2 years 27 weeks ago. Offline
Joined: 19 Jan 2011

Right, quite a dramatic title, but we're actually shocked at how poor Corona works on Android. At least it looks like that after we started logging device crashes.

Being Enterprise users, we've been able to implement a crash log plugin, Crittercism.com, that overtakes the Corona Error Handler and the Android error handler, and posts all crashes and lua errors to the crittercism system. It gives us a great knowledge of what our users struggle with.

Hundreds of exceptions happens every day, related to all kinds of (CoronaActivity) crashes.

Can someone @ Coronalabs tell us what in the world is going on?

Do you know how fragile your implementation is?
Is the list of exceptions below known to you already?
What steps have you taken and are you taking to make the Android part more robust?
Why are we even having crashes caused by exceptions in the mix between the Android runtime and the Corona runtime? We, your users, would expect this to be totally robust.

Besides, we wonder how serious these exceptions actually are. It might be that they can be ignored, because they don't actually take the app down or come forward as a crash to the users. I doubt it though, they look serious. Can someone shed some light?

Here's a short list of the most common exceptions:

1
java.lang.RuntimeException: Unable to pause activity {xx.xx.xxx/com.ansca.corona.CoronaActivity}: java.lang.NullPointerException

1
2
java.lang.NullPointerException
at com.ansca.corona.NativeToJavaBridge.callGetBytesFromFile(NativeToJavaBridge.java:755)

1
java.lang.IllegalArgumentException: View not attached to window manager

1
android.app.RemoteServiceException: Bad notification posted from package xx.xx.xxx: Couldn't create icon: StatusBarIcon(pkg=xx.xx.xxx id=0x7f020001 level=0 visible=true num=0 )

1
2
java.lang.RuntimeException: eglMakeCurrent failed.
at android.opengl.derived.SwapGLSurfaceView$EglHelper.createSurface(SwapGLSurfaceView.java:709)

1
2
java.lang.UnsupportedOperationException
at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:302)

1
2
java.lang.RuntimeException: createWindowSurface failed
at android.opengl.derived.SwapGLSurfaceView$EglHelper.createSurface(SwapGLSurfaceView.java:701)

1
2
java.lang.NullPointerException
at com.ansca.corona.CoronaActivity.onKeyUp(CoronaActivity.java:1945)

1
2
java.lang.NullPointerException
at com.ansca.corona.CoronaActivity.onKeyDown(CoronaActivity.java:1893)

1
2
java.lang.NullPointerException
at com.ansca.corona.CoronaActivity.onTouchEvent(CoronaActivity.java:1541)

1
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@41327d50 is not valid; is your activity running?

1
java.lang.RuntimeException: Unable to pause activity {xx.xx.xxx/com.ansca.corona.CoronaActivity}: java.lang.NullPointerException

1
java.lang.RuntimeException: createWindowSurface failed EGL_BAD_ALLOC

1
2
java.lang.NoSuchMethodError: <init>
at android.database.sqlite.SQLiteProgram.release(SQLiteProgram.java:183)

Replies

haakon
User offline. Last seen 2 years 27 weeks ago. Offline
Joined: 19 Jan 2011

Hey, another one:

1
2
3
4
5
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at      android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1265)
at      android.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:451)
at      android.app.Activity.onBackPressed(Activity.java:2121)
at      com.ansca.corona.CoronaActivity.onKeyUp(CoronaActivity.java:1951)

ingemar
User offline. Last seen 32 weeks 3 days ago. Offline
Joined: 20 Jun 2011

This does look rather worrying, however what happens when you run your apps on your Android test devices? Can you isolate the reporting of these exceptions to these devices only and see what impact on performance/functionality they may have?

John Salinger Jr.
User offline. Last seen 5 years 11 weeks ago. Offline
Joined: 3 Oct 2010

They probably do care, if you fill out there new form http://www.coronalabs.com/blog/2013/01/21/corona-feature-requests-and-feedback/ then I bet someone will get back to you when they feel ready.

haakon
User offline. Last seen 2 years 27 weeks ago. Offline
Joined: 19 Jan 2011

Uhh, another form. But this enquiry does not fit in the new system, so I'll just have to wait here for some Coronalabs representative to fire back at me :D

J. A. Whye
User offline. Last seen 1 week 2 days ago. Offline
Joined: 25 Sep 2010

That's an irresponsible headline just to try and get an answer faster from Corona Labs.

Jay

haakon
User offline. Last seen 2 years 27 weeks ago. Offline
Joined: 19 Jan 2011

Yes, definately, I'm guilty as charged, no doubt. I really wonder if all those exceptions are to be expected or not, if it is impossible to fix for the Corona dudes or what.

sam3dus
User offline. Last seen 5 years 20 weeks ago. Offline
Joined: 12 Oct 2012

Corona seems slanted to iOS.
Android is their red-headed step-child.

ex. your issues, android manifest control, etc.

Perhaps it's just a reality of their # of staff vs tasks that need attention.
But the generic android build template issue has been around for x years.

As much as we've enjoyed the Test Driver account and the Corona simulator and physics support, we cannot justify the expense of a subscription until Android is given somewhere close to the support that iOS enjoys.

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

Haakon,

Regarding OpenGL exceptions...
- java.lang.RuntimeException: eglMakeCurrent failed.
- java.lang.RuntimeException: createWindowSurface failed

The "createWindowSurface" crash was known to happen on some devices using GPU "PowerVR SGX 540" such as LG (but not on Kindle Fires and Nooks). We fixed this issue in daily build #986.

We have not been able to reproduce the "eglMakeCurrent" crash, but we did notice that Google has made several OpenGL fixes as can be seen in the link below.
https://github.com/android/platform_frameworks_base/commits/master/opengl/java/android/opengl/GLSurfaceView.java

Since Google's fixes are only available in the newest Android OS versions, we decided to port their code into Corona (their license allows this), making their fixes available on all Android OS versions that Corona supports (Android 2.2 and above). This was done last week, as of daily build #1007.

Regarding OpenGL exception...
- android.view.GLES20Canvas

Corona does not use that Java class. Nor have we ever received a bug report with that error before. I don't believe that error comes from Corona. Do you have the full stack trace? That should indicate the root cause of that error.

Regarding...
- java.lang.NoSuchMethodError: at android.database.sqlite.SQLiteProgram.release(SQLiteProgram.java:183)

I don't believe this error comes from Corona either. Corona uses the official native SQLite library, which is really just a giant *.c file. Corona does *not* use Google's Java implementation of SQLite. If you have access to the stack trace, then that should tell you where the error is coming from.

Regarding all of the other exceptions such onKeyDown, onKeyUp, onTouch, and other UI related exceptions, I've never received reports about those issues either. I'm thinking that your AndroidManifest.xml file's CoronaActivity is misconfigured. Is the activity set up to be "singleTask"? It should look something like this...

1
2
3
4
5
<activity android:name="com.ansca.corona.CoronaActivity"
          android:configChanges="keyboardHidden|screenSize|orientation"
          android:label="My Application"
          android:launchMode="singleTask"
          android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

Note that launchMode is set to "singleTask". That setting is very important because the CoronaActivity was designed to only support one instance at a time. If you are missing that XML attribute, then I can potentially see some UI crashes occurring if you have multiple CoronaActivity instances and you exit out of one of them. That would screw over the other CoronaActivity instance.

Also, are you able to reproduce any of the above crashes on your own devices? If so, then that would make isolating this a lot faster for both of us.

haakon
User offline. Last seen 2 years 27 weeks ago. Offline
Joined: 19 Jan 2011

Joshua, thanks. We're diving into this right away, starting with updating to the latest daily. We're using singleTask in our Manifest, so the UI errors must have some other origin. We'll post more relevant stack traces as soon as we've seen how the latest daily performs.

kimruben
User offline. Last seen 3 years 8 weeks ago. Offline
Joined: 23 May 2011

Haakons (Our) AndroidManifest.xml should be very correct, as the original version we had was one we got by apktooling out one from an apk built by a non-enterprise version of coronasdk.

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

Regarding the NullPointerExceptions within the CoronaActivity (ie: key/touch events), we added additional error handling and null checks to prevent those exceptions from handling. This change will make it into daily build #1009, tomorrow.

That said, I'm surprised these exceptions are happening at all. The only way they can happen is if the CoronaActivity received key/touch events *after* the window was destroyed via a call to its onDestroy() method by the operating system. But in any case, it doesn't hurt to have additional error handling on our end. If you can reproduce these NullPointerExceptions on your end, then please let us know if this fixed the issue. Thanks!

dingo
User offline. Last seen 21 weeks 6 days ago. Offline
Joined: 12 Sep 2011

@Joshua: i have been reported the onKeyDown error too, but I couldnt reproduce it so far.

i did a build with 1030 and i now get random crashes (never had them before):

1
Process com.digidingo.samsung.grooh (pid 21355) has died. 02-15 16:23:12.545 E/InputDispatcher( 2695): channel '40576250 com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8 02-15 16:23:12.545 E/InputDispatcher( 2695): channel '40576250 com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 02-15 16:23:12.545 I/WindowManager( 2695): WIN DEATH: Window{40576250 com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity paused=false} 02-15 16:23:12.550 W/SurfaceFlinger( 2695): com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity[34016] is not removed from mLayerMap 02-15 16:23:12.550 W/WindowManager( 2695): Window Window{40576250 com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity paused=false} destroyed surface Surface(name=com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity, identity=-1, mNativeSurface=0), session Session{40714288 uid 10131} 02-15 16:23:12.550 

any idea? could the explicit call of the collectgarbage("collect") cause any trouble?

thanks!

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

dingo, your error is unrelated to the errors brought up on this forum thread.

As of daily build #1030, and by popular demand, we removed permissions INTERNET, READ_PHONE_STATE, and ACCESS_NETWORK_STATE from all Android builds. You now must opt-in to using them via your "build.settings" file.
https://developer.coronalabs.com/release/2013/1030

If your app is trying to use the network without the Android INTERNET permission, then that will now cause Android to throw an INTERNET permission exception, which Corona catches and turns into a Lua error. This is by design. This error will then be displayed to you on screen with the Java exception message and/or the Lua runtime error (with a Lua stack trace for debug builds), telling you exactly what went wrong so that you can fix it on your end. This error also gets outputted to the Android log.

So, bottom line, you need to add the following permission to your "build.settings" file...

1
2
3
4
5
6
7
8
9
10
settings =
{
    android =
    {
        usesPermissions =
        {
            "android.permission.INTERNET",
        }
    }
}

Please have a look at the newest API documentation available on our daily build page. We've updated about 2 weeks ago to indicate which APIs require the above permissions. We've also updated all of the sample projects included with the newest version of the Corona SDK to include the above permissions when needed.

haakon
User offline. Last seen 2 years 27 weeks ago. Offline
Joined: 19 Jan 2011

Joshua, we're still waiting for some feedback in the thread about remote notification exceptions on Android (android.app.RemoteServiceException: Bad notification posted from package).

We are logging all exceptions from Androids to Crittercism. Why aren't you guys interested in digging into it? I mean, if I were you I would have asked for access to the site to start digging into all the exceptions and make the product you deliver robust and stable. Weird.

Anyway, we have this one happening for our users hundreds of times per day as well:

0
java.lang.IndexOutOfBoundsException: getChars (0 ... 11) ends beyond length 10
1
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:943)
2
at android.text.SpannableStringBuilder.getChars(SpannableStringBuilder.java:847)
3
at android.text.SpannableStringBuilder.toString(SpannableStringBuilder.java:869)
4
at com.ansca.corona.ViewManager.getTextViewText(ViewManager.java:512)
5
at com.ansca.corona.NativeToJavaBridge.callTextFieldGetText(NativeToJavaBridge.java:1782)
6
at com.ansca.corona.JavaToNativeShim.nativeTextEditingEvent(Native Method)
7
at com.ansca.corona.JavaToNativeShim.textEditingEvent(JavaToNativeShim.java:272)
8
at com.ansca.corona.events.TextEditingEvent.Send(TextEditingEvent.java:29)
9
at com.ansca.corona.events.EventManager.sendEvents(EventManager.java:274)
10
at com.ansca.corona.Controller.onDrawFrame(Controller.java:229)
11
at com.ansca.corona.opengl.CoronaGLSurfaceView$CoronaRenderer.onDrawFrame(CoronaGLSurfaceView.java:302)
12
at com.ansca.corona.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1622)
13
at com.ansca.corona.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1377)

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

Haakon,

I was just waiting to receive a stack trace from you. I didn't realize you were waiting on me as well. Sorry about that.

The stack trace that you've posted up above is a big help. It indicates a threading issue with fetching text from a TextField/TextBox in Lua while the user is deleting text by pressing the backspace key. I can look into fixing this issue next week.

Regarding the RemoteServiceException, I'm talking to kimruben about it on the forum thread link below. We're not able to reproduce this issue, nor do we have enough information to know what exactly is the problem yet. I'm currently waiting for a response from him so that we can isolate it further. Particularly if these errors are coming from a specific device.
http://developer.coronalabs.com/forum/2013/02/04/android-exceptions

dingo
User offline. Last seen 21 weeks 6 days ago. Offline
Joined: 12 Sep 2011

thanks joshua. i still get that crash.

another question: when i install the app, it asks about the READ_PHONE_STATE permission, even though i have not put it in the build file. has that something to do with the launchpad?

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

dingo,

This means that your app is using a feature that requires the READ_PHONE_STATE permission. In fact, if you build your app with the "debug.keystore", then the error message you see onscreen will tell you which Lua file and line number is causing this permission error, which is a new feature to make it easier to debug issues.

If your app uses "inneractive" or "InMobi" ads, then you need to add the following permissions to your "build.settings" file now.
- INTERNET
- READ_PHONE_STATE
- ACCESS_NETWORK_STATE

Have a look at the "build.settings" file in sample project "ads/InMobi" for an example on how to add these permissions to your file... assuming that you are using ads of course.

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

Haakon,

The TextField/TextBox exception that you last posted should now be fixed. Note that I was not able to reproduce this issue for myself, but I saw the multithreaded race condition in our code (thanks to your stack trace) and fixed it. I'm confident that this code change will resolve the issue. This fix will be made available in daily build #1035.

If you have any other stack traces that you want to share with me, then please feel free to send them my way.

haakon
User offline. Last seen 2 years 27 weeks ago. Offline
Joined: 19 Jan 2011

Looks like most of the remaining exceptions we have to deal with now is with 3rd party SDKs. However, there are still 1 BIG exception group in Crittercism that we can't trace back to a plugin, which means it's a possible Corona-bug:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0       java.lang.IllegalArgumentException: View not attached to window manager
1       at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:587)
2       at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:324)
3       at android.view.WindowManagerImpl$CompatModeWrapper.removeView(WindowManagerImpl.java:151)
4       at android.app.Dialog.dismissDialog(Dialog.java:321)
5       at android.app.Dialog$1.run(Dialog.java:119)
6       at android.os.Handler.handleCallback(Handler.java:605)
7       at android.os.Handler.dispatchMessage(Handler.java:92)
8       at android.os.Looper.loop(Looper.java:137)
9       at android.app.ActivityThread.main(ActivityThread.java:4441)
10      at java.lang.reflect.Method.invokeNative(Native Method)
11      at java.lang.reflect.Method.invoke(Method.java:511)
12      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
13      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
14      at dalvik.system.NativeStart.main(Native Method)

dingo
User offline. Last seen 21 weeks 6 days ago. Offline
Joined: 12 Sep 2011

thanks joshua. i am not using any ads etc.

i think its an audio related issue:

1
D/AudioPolicyManager( 2587): Now, There is no sound! so we check mAvailableOutputDevices variable 02-25 09:47:39.535 D/AudioPolicyManager( 2587): HPH volume levels.... => music_hph 12, radio_hph 0, tts_hph 12 02-25 09:47:39.535 D/AudioPolicyManager( 2587): SPK volume levels.... => music 0, radio 0, tts 0 02-25 09:47:39.535 D/AudioPolicyManager( 2587): mCurDevice is 0 02-25 09:47:39.535 D/AudioPolicyManager( 2587): Now, There is no sound! so we check mAvailableOutputDevices variable 02-25 09:47:39.535 D/AudioPolicyManager( 2587): 

horacebury
User offline. Last seen 2 days 23 hours ago. Offline
Joined: 17 Aug 2010

Just IMHO...

It appears that CoronaLabs /do/ care about their SDK's performance on Android. It also appears that even when bug reports are not filed, they pay attention. I would still urge that bug reports get filed and that they are as correct and fully-informing as possible.

I also think that the natural state of any multi-platform SDK would be more slanted towards iOS because iOS is not fractured as a platform, whereas it is widely accepted that Android is pretty much fractured to the point of being broken. Corona, Google and many others have commented and documented this fact time and again.

Not wishing to turn this fairly productive thread into a flame war, but I do feel that accusing anyone of not caring about their product is best placed elsewhere. Corona Labs, imho, do care but are still just people.

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

Haakon,

I can reproduce the exception that you've posted by displaying an alert dialog or activity indicator and then quickly backing out of the app just before that dialog gets displayed. It causes a silent exception in the log (no error is displayed onscreen), but Android still force quits the app causing any notifications that you might have in the status bar to disappear with it. You can reproduce this issue via sample app "Interface/MapView", tap the app's "Current Location" button, and then quickly back out of the app. If you're fast enough, then you'll see this exception in the log.
(Assuming this is the same error you are encountering.)

We've modified Corona to close its dialogs just before exiting the app, preventing this crash from happening. This change will be made available in daily build #1037.

Also, please note if you are displaying any dialogs via native code (ie: not via Corona's APIs), then you'll need to close them during the applicationExit event or else you'll run into a similar crash as well. This is because Android does not automatically dismiss an Activity's dialogs while it is being destroyed.

I hope this helps.

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

Dingo,

I think those audio messages in your log are just warnings.

If you're still seeing permission errors, then you're using a feature that requires the permission being displayed on screen. The full Java exception stack trace will be printed to the Android log, indicating which Android feature you are using that requires said permission. Would you mind posting the full stack trace here? Then I can point out what the root cause is.

haakon
User offline. Last seen 2 years 27 weeks ago. Offline
Joined: 19 Jan 2011

Perfect Joshua, it's getting better and better.

dingo
User offline. Last seen 21 weeks 6 days ago. Offline
Joined: 12 Sep 2011

Joshua,

thanks for staying with me. The game keeps crashing. When i try to run ndk-stack on the liblua.so it doesnt work. Is there another way to get the full stack trace? Sorry for the noob question. I guess the code below doesnt help you much?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
I/WindowOrientationListener( 2695): orientation = 83.552025 Tilt = 49.167572 -- 6 ,  0 ,  7
 
I/DEBUG   ( 2582): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
 
I/DEBUG   ( 2582): Build fingerprint: 'samsung/GT-I9100/GT-I9100:2.3.4/GINGERBREAD/XWKI4:user/release-keys'
 
I/DEBUG   ( 2582): pid: 23927, tid: 23937  >>> com.digidingo.samsung.grooh <<<
 
I/DEBUG   ( 2582): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 725d4770
 
I/DEBUG   ( 2582):  r0 001656c8  r1 00165740  r2 00000010  r3 dc91bc0c
 
I/DEBUG   ( 2582):  r4 001656c8  r5 00360528  r6 005132b8  r7 00000000
 
I/DEBUG   ( 2582):  r8 005132c8  r9 00360524  10 00000010  fp 005132c8
 
I/DEBUG   ( 2582):  ip 00000003  sp 47196678  lr 8140c808  pc 8141a460  cpsr a0000010
 
I/DEBUG   ( 2582):  d0  420000003f333333  d1  0000000000000000
 
I/DEBUG   ( 2582):  d2  c15000003f800000  d3  c234000000000000
 
I/DEBUG   ( 2582):  d4  3c360b6100000000  d5  3ff0000000000000
 
I/DEBUG   ( 2582):  d6  0000000100000000  d7  3ff0000000000000
 
I/DEBUG   ( 2582):  d8  0000000000000000  d9  0000000000000000
 
I/DEBUG   ( 2582):  d10 0000000000000000  d11 0000000000000000
 
I/DEBUG   ( 2582):  d12 0000000000000000  d13 0000000000000000
 
I/DEBUG   ( 2582):  d14 0000000000000000  d15 0000000000000000
 
I/DEBUG   ( 2582):  d16 0000000002035c22  d17 7e37e43c8800759c
 
I/DEBUG   ( 2582):  d18 3fe0000000000000  d19 3fe0a3b5840f4000
 
I/DEBUG   ( 2582):  d20 3fe3333340000000  d21 3fd3333340000000
 
I/DEBUG   ( 2582):  d22 3fd51ee240000000  d23 40e01d2ffd740000
 
I/DEBUG   ( 2582):  d24 40dd4c2013880000  d25 40ed4c1013880000
 
I/DEBUG   ( 2582):  d26 40cd4c4013880000  d27 bf9d909e6e44e32e
 
I/DEBUG   ( 2582):  d28 bffc7208aec70c36  d29 3ff0000000000000
 
I/DEBUG   ( 2582):  d30 0000000000000000  d31 3ff0000000000000
 
I/DEBUG   ( 2582):  scr 60000010
 
I/DEBUG   ( 2582): 
 
I/InputReader( 2695): dispatchTouch::touch event's action is 1, pending(waiting finished signal)=0
 
I/InputDispatcher( 2695): Delivering touch to current input target: action: 1, channel '40569250 com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity (server)'
 
I/DEBUG   ( 2582):          #00  pc 0001a460  /data/data/com.digidingo.samsung.grooh/lib/liblua.so
 
I/DEBUG   ( 2582):          #01  pc 0000c804  /data/data/com.digidingo.samsung.grooh/lib/liblua.so
 
I/DEBUG   ( 2582):          #02  pc 0001d090  /data/data/com.digidingo.samsung.grooh/lib/liblua.so
 
I/DEBUG   ( 2582): 
 
I/DEBUG   ( 2582): code around pc:
 
I/DEBUG   ( 2582): 8141a440 000077f8 e5913008 e3530005 0a00000b 
 
I/DEBUG   ( 2582): 8141a450 e3530007 0a000009 e5901010 e2833026 
 
I/DEBUG   ( 2582): 8141a460 e7911103 e3510000 0a000008 e5903010 
 
I/DEBUG   ( 2582): 8141a470 e1a00001 e0832102 e59210bc eafff9ce 
 
I/DEBUG   ( 2582): 8141a480 e5913000 e5931008 e3510000 1afffff6 
 
I/DEBUG   ( 2582): 
 
I/DEBUG   ( 2582): code around lr:
 
I/DEBUG   ( 2582): 8140c7e8 e3530006 e24dd01c e1a0b001 e1a04000 
 
I/DEBUG   ( 2582): 8140c7f8 e58d2000 0a000052 e3a02010 eb00370e 
 
I/DEBUG   ( 2582): 8140c808 e5946020 e066600b e5903008 e1a05000 
 
I/DEBUG   ( 2582): 8140c818 e3530006 0a000004 e59f2490 e1a00004 
 
I/DEBUG   ( 2582): 8140c828 e1a0100b e08f2002 ebfffb7c e5947008 
 
I/DEBUG   ( 2582): 
 
I/DEBUG   ( 2582): stack:
 
I/DEBUG   ( 2582):     47196638  00513358  
 
I/DEBUG   ( 2582):     4719663c  001a3ac8  
 
I/DEBUG   ( 2582):     47196640  00000000  
 
I/DEBUG   ( 2582):     47196644  00000005  
 
I/DEBUG   ( 2582):     47196648  8142130c  /data/data/com.digidingo.samsung.grooh/lib/liblua.so
 
I/DEBUG   ( 2582):     4719664c  81420cc8  /data/data/com.digidingo.samsung.grooh/lib/liblua.so
 
I/DEBUG   ( 2582):     47196650  00513318  
 
I/DEBUG   ( 2582):     47196654  8140cda4  /data/data/com.digidingo.samsung.grooh/lib/liblua.so
 
I/DEBUG   ( 2582):     47196658  00000000  
 
I/DEBUG   ( 2582):     4719665c  00000000  
 
I/DEBUG   ( 2582):     47196660  0047f1a0  
 
I/DEBUG   ( 2582):     47196664  001656c8  
 
I/DEBUG   ( 2582):     47196668  00000150  
 
I/DEBUG   ( 2582):     4719666c  8141b648  /data/data/com.digidingo.samsung.grooh/lib/liblua.so
 
I/DEBUG   ( 2582):     47196670  df002777  
 
I/DEBUG   ( 2582):     47196674  e3a070ad  
 
I/DEBUG   ( 2582): #01 47196678  00000000  
 
I/DEBUG   ( 2582):     4719667c  001656c8  
 
I/DEBUG   ( 2582):     47196680  005eb3b0  
 
I/DEBUG   ( 2582):     47196684  8141bafc  /data/data/com.digidingo.samsung.grooh/lib/liblua.so
 
I/DEBUG   ( 2582):     47196688  001acc88  
 
I/DEBUG   ( 2582):     4719668c  00513388  
 
I/DEBUG   ( 2582):     47196690  00513388  
 
I/DEBUG   ( 2582):     47196694  001656c8  
 
I/DEBUG   ( 2582):     47196698  00360528  
 
I/DEBUG   ( 2582):     4719669c  005132b8  
 
I/DEBUG   ( 2582):     471966a0  00000000  
 
I/DEBUG   ( 2582):     471966a4  005132c8  
 
I/DEBUG   ( 2582):     471966a8  00360524  
 
I/DEBUG   ( 2582):     471966ac  00000010  
 
I/DEBUG   ( 2582):     471966b0  00000001  
 
I/DEBUG   ( 2582):     471966b4  8141d094  /data/data/com.digidingo.samsung.grooh/lib/liblua.so
 
D/PowerManagerService( 2695): onSensorChanged: light value: 100
 
I/WindowOrientationListener( 2695): orientation = 86.065 Tilt = 45.36807 -- 6 ,  0 ,  6
 
I/DEBUG   ( 2582): dumpstate /data/log/dumpstate_app_native.txt
 
I/BootReceiver( 2695): Copying /data/tombstones/tombstone_09 to DropBox (SYSTEM_TOMBSTONE)
 
I/dumpstate(24228): begin
 
D/dalvikvm( 2695): GC_FOR_MALLOC freed 1586K, 38% free 9719K/15495K, external 4953K/6182K, paused 86ms
 
I/dalvikvm-heap( 2695): Grow heap (frag case) to 16.904MB for 196628-byte allocation
 
D/dalvikvm( 2695): GC_FOR_MALLOC freed 4K, 38% free 9906K/15751K, external 4953K/6182K, paused 66ms
 
E/lights  ( 2695): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 2
 
W/PowerManagerService( 2695): Timer 0x7->0x3|0x3
 
I/PowerManagerService( 2695): Ulight 7->3|0
 
D/PowerManagerService( 2695): setLightBrightness : mButtonLight : 0
 
D/PowerManagerService( 2695): onSensorChanged: light value: 100
 
I/WindowOrientationListener( 2695): orientation = 86.58887 Tilt = 44.888554 -- 6 ,  0 ,  6
 
D/PowerManagerService( 2695): onSensorChanged: light value: 100
 
I/WindowOrientationListener( 2695): orientation = 85.49008 Tilt = 45.305508 -- 6 ,  0 ,  6
 
D/PowerManagerService( 2695): onSensorChanged: light value: 100
 
I/WindowOrientationListener( 2695): orientation = 90.0141 Tilt = 36.694008 -- 7 ,  0 ,  5
 
I/WindowOrientationListener( 2695): orientation = 91.45105 Tilt = 34.232697 -- 7 ,  0 ,  5
 
D/VoldCmdListener( 2579): asec list
 
E/SchedPolicy(24259): Failed to find cpu subsys
 
I/WindowOrientationListener( 2695): orientation = 91.42058 Tilt = 33.173798 -- 7 ,  0 ,  5
 
I/dumpstate(24228): done
 
I/WindowOrientationListener( 2695): orientation = 91.24156 Tilt = 32.356327 -- 7 ,  0 ,  5
 
I/WindowManager( 2695): WIN DEATH: Window{40569250 com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity paused=false}
 
I/ActivityManager( 2695): Process com.digidingo.samsung.grooh (pid 23927) has died.
 
W/WindowManager( 2695): Window Window{40569250 com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity paused=false} destroyed surface Surface(name=com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity, identity=-1, mNativeSurface=0), session Session{40e09058 uid 10177}
 
D/Zygote  ( 2586): Process 23927 terminated by signal (11)
 
W/SurfaceFlinger( 2695): com.digidingo.samsung.grooh/com.ansca.corona.CoronaActivity[1040] is not removed from mLayerMap
 
D/PowerManagerService( 2695): releaseWakeLockLocked flags=0x0 tag=KEEP_SCREEN_ON_FLAG myUID=1000 myPID=2695 myTID=18648
 
I/OrientationDebug( 2695): [pwm] in updateOrientationListenerLp()
 
V/OrientationDebug( 2695): in updateOrientationListenerLp(), Screen status=true, current orientation=-1, SensorEnabled=false
 
I/OrientationDebug( 2695): [pwm] needSensorRunningLp(), return false #3
 
I/TvOut-Observer( 2695): setTvoutOrientation rotation =  0
 
E/TvOut-Observer( 2695): TvoutSetOrientation
 
I/WindowManager( 2695): Setting rotation to 0, animFlags=1
 
I/WindowManager( 2695): WIN DEATH: Window{40a8cfb0 SurfaceView paused=false}
 
W/WindowManager( 2695): Window Window{40a8cfb0 SurfaceView paused=false} destroyed surface Surface(name=SurfaceView, identity=-1, mNativeSurface=0), session Session{40e09058 uid 10177}
 
I/ActivityManager( 2695): Config changed: { scale=1.0 imsi=228/3 loc=de_DE touch=3 keys=1/1/2 nav=1/1 orien=1 layout=34 uiMode=17 seq=53 FlipFont=0}
 
D/Z7Service(23707): Config changed, old locale: de_DE new locale:de_DE
 
D/[MyFiles](23403): MainActivity-onResume
 
V/[MyFiles](23403): AllFile:onResume
 
I/AudioFlinger( 2587): stop output streamType (0, 3) for 1
 
W/SurfaceFlinger( 2695): SurfaceView[1041] is not removed from mLayerMap
 
I/WindowManager( 2695):   CREATE SURFACE Surface(name=com.sec.android.app.myfiles/com.sec.android.app.myfiles.MainActivity, identity=1044, mNativeSurface=0) IN SESSION android.view.SurfaceSession@40c070b8: pid=23403 format=-1 flags=0x0 / Window{40b0d088 com.sec.android.app.myfiles/com.sec.android.app.myfiles.MainActivity paused=false}
 
E/AutoRotationSettingButton( 2835): de
 
W/InputManagerService( 2695): Got RemoteException sending setActive(false) notification to pid 23927 uid 10177
 
I/WindowOrientationListener( 2695): orientation = 90.26128 Tilt = 36.869183 -- 7 ,  0 ,  5
 
D/PowerManagerService( 2695): onSensorChanged: light value: 100
 
W/PowerManagerService( 2695): Timer 0x3->0x3|0x0
 
I/WindowOrientationListener( 2695): orientation = 46.664116 Tilt = 44.18203 -- 0 ,  6 ,  6
 
I/WindowOrientationListener( 2695): orientation 16.615465 gives new rotation = 0
 
I/ALSAModule( 2587): Terminated ALSA PLAYBACK device hifi

thanks once again!

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

Dingo,

I'm not seeing a Java exception in your log. Only a C/C++ stack dump.
So, does this mean that your app is *not* displaying a "Runtime Error" on screen?

Can your reproduce this issue for yourself?
Also, you said this started happening with daily build #1030, so which daily build # were you using before?

We may have to ask you to submit a bug report with a sample project that reproduces this issue, because I'm not seeing any clues in the log as to what the cause is.

dingo
User offline. Last seen 21 weeks 6 days ago. Offline
Joined: 12 Sep 2011

Joshua,

thanks for getting back to me.

I don't get any runtime error on screen. the game gets stuck and exits (sounds is going crazy).

I've checked it with .984 and it happens there too surprisingly. Something in my code probably is messing it up. Funny thing is that i have the game out on android with an older build and not experiencing this issue.

I will check again, but i still dont get why there is no runtime error!

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

Runtime errors only occur when there is an error in a Lua script or if a Java exception occurred that was invoked by a Lua function. This is something new that we've added to Corona to help Corona developer isolate bugs in Lua and to recognize what required Android permissions are missing.

Since you're seeing a native C/C++ stack dump in your error log, then that suggests that it might be a bug on our end. It's difficult to determine at the moment. A crash in "liblua.so" typically happens to Corona Enterprise users who attempt to access Lua from the wrong thread in Java. We just need to isolate it and determine the root cause.

So, is your app built with Corona Enterprise?

If not, then can you tell me what features your app is using?
Such as inneractive, InMobi, Flurry, etc.
If you are able to reproduce this issue for yourself, then you should try disabling these features one by one to see which one causes this issue. We just need to find the specific feature that is causing this crash.

haakon
User offline. Last seen 2 years 27 weeks ago. Offline
Joined: 19 Jan 2011

Josh, can you have someone say a few words about this iOS exception?

1
2
3
4
5
6
7
0       libsystem_kernel.dylib 0x3957d350 __pthread_kill + 8
1       libsystem_c.dylib 0x39530973 abort + 95
2       libsystem_c.dylib 0x394c939d free + 361
3       MF 0x000bcad7 CoronaLuaCreateDictionary
4       MF 0x000e9e29 CoronaLuaDeleteRef
5       MF 0x00124ec9 _ZN16PluginChartboost9FinalizerEP9lua_State
6       MF 0x0009afed CoronaLuaCreateDictionary

I suspect that it happens because I call the CoronaLuaDeleteRef in both the Finalizer and the Destructor? What is the recommended way of calling the CoronaLuaDeleteRef - and also delete retained variables - in a Corona plugin, the destructor or the finalizer?

1
2
3
4
5
6
7
8
9
10
11
12
PluginChartboost::~PluginChartboost()
{
        CoronaLuaDeleteRef( fRuntime.L, fListener );
}
 
PluginChartboost::Finalizer( lua_State *L )
{
    Self *library = (Self *)CoronaLuaToUserdata( L, 1 );
    CoronaLuaDeleteRef( L, library->GetListener() );
    delete library;
    return 0;
}

Joshua Quick
User offline. Last seen 10 weeks 1 day ago. Offline
Staff
Joined: 31 Jan 2011

I'm not the iOS or plugin expert here, but I have to wonder if your destructor is holding on to a wild pointer. Perhaps the pointer returned by fRuntime.L points to a lua state that has already been destroyed.

I'll see about getting an answer from someone who knows better than I.

Viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.