android app crash on screen rotation

504 views
Skip to first unread message

Julien Almarcha

unread,
May 20, 2015, 10:59:42 AM5/20/15
to kivy-...@googlegroups.com
Hi,

I switch from kivy 1.8 to kivy 1.9 and now my app crash on android (4.4.4) when I rotate the screen. I tried on to different devices and it fails on both. I use cython 0.21.2 . Here is the log I get :


05-20 16:35:29.745: D/dalvikvm(2247): GC_CONCURRENT freed 515K, 12% free 52423K/59012K, paused 13ms+4ms, total 51ms
05-20 16:35:29.845: D/StatusBar.NetworkController(1161): refreshViews: Data not connected!! Set no data type icon / Roaming
05-20 16:35:30.856: D/StatusBar.NetworkController(1161): refreshViews: Data not connected!! Set no data type icon / Roaming
05-20 16:35:30.926: D/QC-QMI(390): Thread state: conn_id=18, state=RX_THREAD_WAKELOCK_ACQUIRE
05-20 16:35:30.926: D/QC-QMI(390): Thread state: conn_id=18, state=RX_THREAD_WAIT_READ
05-20 16:35:30.926: D/QC-QMI(390): Thread state: conn_id=18, state=RX_THREAD_CLIENT_TX
05-20 16:35:30.926: D/QC-QMI(390): qmi_qmux: TX/RX - RX 22 bytes on conn_id=18
05-20 16:35:30.926: D/QC-QMI(390): qmuxd: TX message on fd=22, to qmux_client_id=0x1, len=56
05-20 16:35:30.926: D/QC-QMI(390): Thread state: conn_id=18, state=RX_THREAD_WAKELOCK_RELEASE
05-20 16:35:30.926: D/QC-QMI(390): Thread state: conn_id=18, state=RX_THREAD_WAIT_POLL
05-20 16:35:30.926: D/QC-QMI(324): qmi_client [324] 1: Received 56 bytes on fd = 24
05-20 16:35:30.926: D/QC-QMI(324): qmi_service.c RX indication for conn=18, srvc=3
05-20 16:35:30.926: D/QC-QMI(324): Processing indication: Mesage4 ID=  81, Service ID = 3
05-20 16:35:30.926: D/QC-QMI(324): Client 12010300 gets indication callback
05-20 16:35:30.936: E/Parcel(408): Reading a NULL string not supported here.
05-20 16:35:30.936: E/Parcel(408): Reading a NULL string not supported here.
05-20 16:35:30.936: D/StatusBar.NetworkController(1161): refreshViews: Data not connected!! Set no data type icon / Roaming
05-20 16:35:31.316: I/InputReader(825): Reconfiguring input devices.  changes=0x00000004
05-20 16:35:31.316: I/InputReader(825): Device reconfigured: id=10, name='clearpad', size 1080x1920, orientation 1, mode 1, display id 0
05-20 16:35:31.316: I/ActivityManager(825): Config changes=480 {1.0 208mcc15mnc fr_FR ldltr sw360dp w598dp h335dp 480dpi nrml land finger -keyb/v/h -nav/h s.89 skinPackageSeq.1}
05-20 16:35:31.326: W/WindowManager(825): Access to extended visibility flags denied: Requires com.sonymobile.permission.SYSTEM_UI_VISIBILITY_EXTENSIONS permission.
05-20 16:35:31.326: W/WindowManager(825): Access to extended visibility flags denied: Requires com.sonymobile.permission.SYSTEM_UI_VISIBILITY_EXTENSIONS permission.
05-20 16:35:31.376: W/WindowManager(825): Access to extended visibility flags denied: Requires com.sonymobile.permission.SYSTEM_UI_VISIBILITY_EXTENSIONS permission.
05-20 16:35:31.376: W/WindowManager(825): Access to extended visibility flags denied: Requires com.sonymobile.permission.SYSTEM_UI_VISIBILITY_EXTENSIONS permission.
05-20 16:35:31.396: D/PhoneStatusBar(1161): mSettingsPanelGravity = 55
05-20 16:35:31.406: I/python(11587): [INFO              ] [Android     ] Must go into sleep mode, check the app
05-20 16:35:31.406: I/python(11587): [INFO              ] [Android     ] App paused, now wait for resume.
05-20 16:35:31.416: D/AndroidRuntime(11587): Shutting down VM
05-20 16:35:31.416: W/dalvikvm(11587): threadid=1: thread exiting with uncaught exception (group=0x41617d88)
05-20 16:35:31.416: E/AndroidRuntime(11587): FATAL EXCEPTION: main
05-20 16:35:31.416: E/AndroidRuntime(11587): Process: org.test.labmobile:python, PID: 11587
05-20 16:35:31.416: E/AndroidRuntime(11587): java.lang.RuntimeException: Unable to destroy activity {org.test.labmobile/org.renpy.android.PythonActivity}: java.lang.NullPointerException
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3587)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3605)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3805)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.app.ActivityThread.access$900(ActivityThread.java:144)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1252)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.os.Handler.dispatchMessage(Handler.java:102)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.os.Looper.loop(Looper.java:212)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.app.ActivityThread.main(ActivityThread.java:5135)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at java.lang.reflect.Method.invokeNative(Native Method)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at java.lang.reflect.Method.invoke(Method.java:515)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at dalvik.system.NativeStart.main(Native Method)
05-20 16:35:31.416: E/AndroidRuntime(11587): Caused by: java.lang.NullPointerException
05-20 16:35:31.416: E/AndroidRuntime(11587):     at org.renpy.android.PythonActivity.onDestroy(PythonActivity.java:336)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.app.Activity.performDestroy(Activity.java:5403)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1117)
05-20 16:35:31.416: E/AndroidRuntime(11587):     at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3574)
05-20 16:35:31.416: E/AndroidRuntime(11587):     ... 12 more
05-20 16:35:31.426: W/WindowManager(825): Access to extended visibility flags denied: Requires com.sonymobile.permission.SYSTEM_UI_VISIBILITY_EXTENSIONS permission.
05-20 16:35:31.426: W/WindowManager(825): Access to extended visibility flags denied: Requires com.sonymobile.permission.SYSTEM_UI_VISIBILITY_EXTENSIONS permission.
05-20 16:35:31.436: W/WindowManager(825): Access to extended visibility flags denied: Requires com.sonymobile.permission.SYSTEM_UI_VISIBILITY_EXTENSIONS permission.
05-20 16:35:31.436: W/WindowManager(825): Access to extended visibility flags denied: Requires com.sonymobile.permission.SYSTEM_UI_VISIBILITY_EXTENSIONS permission.
05-20 16:35:31.436: D/ActivityManager(825): New dropbox entry: org.test.labmobile:python, data_app_crash, 85d3cf8f-d9f7-4e69-b3f6-465221c08a7b
05-20 16:35:31.446: W/ActivityManager(825):   Force finishing activity org.test.labmobile/org.renpy.android.PythonActivity
05-20 16:35:31.757: I/WindowManager(825): Screenshot max retries 4 of Token{44bc87a0 ActivityRecord{44816df8 u0 org.test.labmobile/org.renpy.android.PythonActivity t60 f}} appWin=Window{456376f8 u0 org.test.labmobile/org.renpy.android.PythonActivity} drawState=1
05-20 16:35:31.757: W/WindowManager(825): Screenshot failure taking screenshot for (1920x1080) to layer 21050
05-20 16:35:31.897: I/CrashMonitor(10658): CrashMonitorServiceBroadcastReceiver: Forwarding intent: android.intent.action.DROPBOX_ENTRY_ADDED tag: data_app_crash
05-20 16:35:31.907: I/CrashMonitor(10658): CrashMonitorService: Service started...
05-20 16:35:31.917: I/CrashMonitor(10658): CrashMonitorService: action: android.intent.action.DROPBOX_ENTRY_ADDED
05-20 16:35:31.977: I/CrashMonitor(10658): CrashMonitorService: Service stopped...
05-20 16:35:31.977: W/ContextImpl(5333): Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1527 android.content.ContextWrapper.startService:494 android.content.ContextWrapper.startService:494 com.sonymobile.phoneusage.service.plugin.crashstatus.CrashStatusReceiver.onReceiveInternal:31 com.sonymobile.phoneusage.service.DeviceUsageReceiver.onReceive:27
05-20 16:35:32.117: D/dalvikvm(825): GC_FOR_ALLOC freed 465K, 10% free 75893K/83820K, paused 129ms, total 129ms
05-20 16:35:32.127: W/Settings(1161): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
05-20 16:35:32.127: W/Settings(1161): Setting data_roaming has moved from android.provider.Settings.Secure to android.provider.Settings.Global, returning global URI.
05-20 16:35:32.137: W/Settings(1161): Setting data_roaming has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
05-20 16:35:32.157: I/Choreographer(1161): Skipped 44 frames!  The application may be doing too much work on its main thread.
05-20 16:35:32.227: D/StatusBar.NetworkController(1161): refreshViews: Data not connected!! Set no data type icon / Roaming
05-20 16:35:32.257: W/ActivityManager(825): Activity pause timeout for ActivityRecord{44816df8 u0 org.test.labmobile/org.renpy.android.PythonActivity t60 f}
05-20 16:35:32.267: V/AudioHardwareALSA(312): virtual android::status_t android_audio_legacy::AudioHardwareALSA::setParameters(const android::String8&)() ,speaker_layout=layout_normal
05-20 16:35:32.287: I/InputReader(825): Reconfiguring input devices.  changes=0x00000004
05-20 16:35:32.287: I/InputReader(825): Device reconfigured: id=10, name='clearpad', size 1080x1920, orientation 0, mode 1, display id 0
05-20 16:35:32.287: I/ActivityManager(825): Config changes=480 {1.0 208mcc15mnc fr_FR ldltr sw360dp w360dp h567dp 480dpi nrml port finger -keyb/v/h -nav/h s.90 skinPackageSeq.1}
05-20 16:35:32.327: W/Settings(1161): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
05-20 16:35:32.367: D/PhoneStatusBar(1161): mSettingsPanelGravity = 55
05-20 16:35:32.387: D/CustomizationProcess(1561): dismissCustomizationDialog:true
05-20 16:35:32.477: I/ActivityManager(825): Timeline: Activity_windows_visible id: ActivityRecord{447cc7d0 u0 com.sonyericsson.home/com.sonymobile.home.HomeActivity t1} time:24970919
05-20 16:35:32.497: W/Settings(1161): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
05-20 16:35:32.497: W/Settings(1161): Setting data_roaming has moved from android.provider.Settings.Secure to android.provider.Settings.Global, returning global URI.
05-20 16:35:32.497: W/Settings(1161): Setting data_roaming has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
05-20 16:35:32.588: D/StatusBar.NetworkController(1161): refreshViews: Data not connected!! Set no data type icon / Roaming
05-20 16:35:32.638: W/Settings(1161): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
05-20 16:35:33.478: D/QC-QMI(390): Thread state: conn_id=18, state=RX_THREAD_WAKELOCK_ACQUIRE
05-20 16:35:33.478: D/QC-QMI(390): Thread state: conn_id=18, state=RX_THREAD_WAIT_READ
05-20 16:35:33.478: D/QC-QMI(390): Thread state: conn_id=18, state=RX_THREAD_CLIENT_TX
05-20 16:35:33.478: D/QC-QMI(390): qmi_qmux: TX/RX - RX 22 bytes on conn_id=18
05-20 16:35:33.478: D/QC-QMI(390): qmuxd: TX message on fd=22, to qmux_client_id=0x1, len=56
05-20 16:35:33.478: D/QC-QMI(390): Thread state: conn_id=18, state=RX_THREAD_WAKELOCK_RELEASE
05-20 16:35:33.478: D/QC-QMI(390): Thread state: conn_id=18, state=RX_THREAD_WAIT_POLL
05-20 16:35:33.478: D/QC-QMI(324): qmi_client [324] 1: Received 56 bytes on fd = 24
05-20 16:35:33.478: D/QC-QMI(324): qmi_service.c RX indication for conn=18, srvc=3
05-20 16:35:33.478: D/QC-QMI(324): Processing indication: Mesage4 ID=  81, Service ID = 3
05-20 16:35:33.478: D/QC-QMI(324): Client 12010300 gets indication callback
05-20 16:35:33.488: D/StatusBar.NetworkController(1161): refreshViews: Data not connected!! Set no data type icon / Roaming
05-20 16:35:33.488: E/Parcel(408): Reading a NULL string not supported here.
05-20 16:35:33.488: E/Parcel(408): Reading a NULL string not supported here.
05-20 16:35:34.139: I/ActivityManager(1561): Timeline: Activity_idle id: android.os.BinderProxy@447b20b0 time:24972589
05-20 16:35:34.259: W/WindowManager(825): Window freeze timeout expired.
05-20 16:35:34.259: W/WindowManager(825): Force clearing orientation change: Window{456376f8 u0 org.test.labmobile/org.renpy.android.PythonActivity}
05-20 16:35:34.259: W/WindowManager(825): Force clearing orientation change: Window{4480ee58 u0 SurfaceView}
05-20 16:35:34.279: I/WindowManager(825): Screen frozen for +3s33ms due to Window{456376f8 u0 org.test.labmobile/org.renpy.android.PythonActivity}
05-20 16:35:35.861: D/StatusBar.NetworkController(1161): refreshViews: Data not connected!! Set no data type icon / Roaming
05-20 16:35:36.481: D/dalvikvm(825): GC_EXPLICIT freed 3345K, 11% free 72658K/81512K, paused 7ms+15ms, total 186ms
05-20 16:35:37.883: D/StatusBar.NetworkController(1161): refreshViews: Data not connected!! Set no data type icon / Roaming
05-20 16:35:39.234: D/wakeup_mon(426): event_loop: got keys
05-20 16:35:39.234: D/wakeup_mon(426): wakelock set
05-20 16:35:39.234: D/wakeup_mon(426): key event 1-116-1 sent
05-20 16:35:39.234: D/wakeup_mon(426): wakelock removed
05-20 16:35:39.234: D/wakeup_mon(426): event_loop: waiting for keys / commands
05-20 16:35:39.374: D/wakeup_mon(426): event_loop: got keys
05-20 16:35:39.374: D/wakeup_mon(426): wakelock set
05-20 16:35:39.374: D/wakeup_mon(426): key event 1-116-0 sent
05-20 16:35:39.374: D/wakeup_mon(426): wakelock removed
05-20 16:35:39.374: D/wakeup_mon(426): event_loop: waiting for keys / commands
05-20 16:35:39.374: I/PowerManagerService(825): Going to sleep by user request...
05-20 16:35:39.514: D/lights-sniffer(426): thread: Got a command
05-20 16:35:39.514: W/lights-sniffer(426): 'backlight': Color ff000000, BrMode 1, OnMS 0, OffMS 0, Mode 0
05-20 16:35:39.514: D/wakeup_mon(426): activate_service: activate = 1
05-20 16:35:39.514: D/wakeup_mon(426): DISPLAY_OFF - brightness 0x00000000
05-20 16:35:39.514: D/wakeup_mon(426): event_loop: got keys
05-20 16:35:39.514: D/wakeup_mon(426): event_loop: interrupted: cmd 1
05-20 16:35:39.514: D/wakeup_mon(426): event_loop: activating
05-20 16:35:39.514: D/wakeup_mon-sensor_device(426): sensor_wakeup_devices: 1 devices awake
05-20 16:35:39.514: D/wakeup_mon(426): wakelock set
05-20 16:35:39.514: D/wakeup_mon(426): wakelock removed
05-20 16:35:39.514: D/wakeup_mon(426): event_loop: waiting for keys / commands
05-20 16:35:39.544: V/KeyguardHostView(1161): Initial transport state: 0, pbstate=0
05-20 16:35:39.564: I/MPL-storeload(825): mpl state size = 4340
05-20 16:35:39.564: E/MPL-storeload(825): calData from inv_save_mpl_states, size=2
05-20 16:35:39.564: I/MPL-storeload(825): cal data size to write = 4340
05-20 16:35:39.564: I/MPL-storeload(825): Bytes written = 4340
05-20 16:35:39.594: I/ActivityManager(825): Start proc com.sonymobile.experienceflow2 for service com.sonymobile.experienceflow2/com.sonymobile.experienceflow.wallpaper.ExperienceFlowService: pid=11720 uid=10226 gids={50226}

Thanks for your help, I searched all day long and I did'nt find anything. I don't even success in going back to 1.8 to have something working... This is very weired, the only thing I can't remember is the cython version I used when all was working fine.

Julien Almarcha

unread,
May 20, 2015, 4:00:15 PM5/20/15
to kivy-...@googlegroups.com
OK, the problem came from Py4A, that's why it failed with all kivy version. There was a change in src/templates/AndroidManifest.tmpl.xml line 32 :

android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|fontScale|uiMode{% if args.min_sdk_version|int >= 13 %}|screenSize{% endif %}"

and before it was :

                android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|fontScale|uiMode{% if android_api >= 13 %}|screenSize{% endif %}"

so I had to put "android.minapi = 14" in buildoszer.spec in order to get it work. But I suppose this means that my app won't work on old android version....

qua non

unread,
May 21, 2015, 12:26:52 AM5/21/15
to kivy-...@googlegroups.com
This needs some more investigation to figure why we have a crash on older  apis, could you please open a issue?

Julien Almarcha

unread,
May 21, 2015, 4:13:52 AM5/21/15
to kivy-...@googlegroups.com
I Opened this issue. API check was introduced by this commit, it seems that this "screenSize" option is not handled by old API.
Reply all
Reply to author
Forward
0 new messages