The following code reliably crashes my app when repeatedly tapping the screen quickly.
audio.reserveChannels( 1,2,3 )
snd1 = audio.loadSound( "sound1.wav" )
snd2 = audio.loadSound( "sound2.wav" )
ambience = audio.loadStream( "ambience.wav" )
audio.play( ambience, { channel=1, loops=-1, fadein=3000 })
local function touchHandler( event )
if event.phase == 'began' then
audio.play( snd1, { channel=2, loops=-1})
elseif event.phase == 'ended' then
audio.stop( 2 )
if audio.isChannelPlaying( 3 ) then
audio.rewind( 3 )
else
audio.play( snd2, { channel=3 } )
end
end
end
display.getCurrentStage():addEventListener( 'touch', touchHandler )
Android 2.3.3 Nexus One
adb logcat
V/Corona (27323): ****** ACTION_DOWN: CLEARING ********
V/Corona (27323): ***** onTouchEvent(2) *****
V/Corona (27323): ***** onTouchEvent(2) *****
V/Corona (27323): ***** onTouchEvent(2) *****
V/Corona (27323): ***** onTouchEvent(1) *****
V/Corona (27323): ***** onTouchEvent(0) *****
V/Corona (27323): ****** ACTION_DOWN: CLEARING ********
V/Corona (27323): ***** onTouchEvent(2) *****
V/Corona (27323): ***** onTouchEvent(2) *****
V/Corona (27323): ***** onTouchEvent(2) *****
V/Corona (27323): ***** onTouchEvent(2) *****
V/Corona (27323): ***** onTouchEvent(2) *****
V/Corona (27323): ***** onTouchEvent(2) *****
V/Corona (27323): ***** onTouchEvent(5) *****
V/Corona (27323): ***** onTouchEvent(2) *****
D/AndroidRuntime(27323): Shutting down VM
W/dalvikvm(27323): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime(27323): FATAL EXCEPTION: main
E/AndroidRuntime(27323): java.lang.NullPointerException
E/AndroidRuntime(27323): at com.ansca.corona.CoronaActivity.onTouchEvent(Unknown Source)
E/AndroidRuntime(27323): at android.app.Activity.dispatchTouchEvent(Activity.java:2099)
E/AndroidRuntime(27323): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1675)
E/AndroidRuntime(27323): at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2194)
E/AndroidRuntime(27323): at android.view.ViewRoot.handleMessage(ViewRoot.java:1878)
E/AndroidRuntime(27323): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(27323): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(27323): at android.app.ActivityThread.main(ActivityThread.java:3683)
E/AndroidRuntime(27323): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(27323): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(27323): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime(27323): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime(27323): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 96): Force finishing activity reelfernandes.Test/.MyCoronaActivity
I/WindowManager( 96): Setting rotation to 0, animFlags=1
I/ActivityManager( 96): Config changed: { scale=1.0 imsi=310/410 loc=en_US touch=3 keys=1/1/2 nav=3/1 orien=1 layout=34 uiMode=17 seq=108}
W/ActivityManager( 96): Activity pause timeout for HistoryRecord{407bc138 reelfernandes.Test/.MyCoronaActivity}
D/dalvikvm( 96): GC_EXPLICIT freed 133K, 42% free 6912K/11911K, external 7125K/7414K, paused 187ms
I/InputDispatcher( 96): Application is not responding: Window{40781798 reelfernandes.Test/reelfernandes.Test.MyCoronaActivity paused=false}. 5179.1ms since event, 5002.2ms since wait started
I/InputDispatcher( 96): Dropping event because the pointer is not down.
I/InputDispatcher( 96): Dropping event because the pointer is not down.
I/InputDispatcher( 96): Dropping event because the pointer is not down.
I/WindowManager( 96): Input event dispatching timed out sending to reelfernandes.Test/reelfernandes.Test.MyCoronaActivity
I/ActivityManager( 96): Crashing app skipping ANR: ProcessRecord{40833dd8 27323:reelfernandes.Test/10035} keyDispatchingTimedOut
W/ActivityManager( 96): Activity destroy timeout for HistoryRecord{407bc138 reelfernandes.Test/.MyCoronaActivity}
[import]uid: 4596 topic_id: 7334 reply_id: 307334[/import]