OneSignal / OneSignal-Marmalade-SDK

OneSignal is a free push notification service for mobile apps. This extension makes it easy to integrate your Marmalade app with OneSignal. https://onesignal.com
Other
3 stars 1 forks source link

ANR executing service com.onesignal.SyncService #1

Open jayvcmobile opened 7 years ago

jayvcmobile commented 7 years ago

We are using the latest available Marmalade SDK extension. We get an ANR if our app is killed using the task manager on a subsequent run. This does not occur if the app is shutdown normally using the back button.

Following is the logcat output on the hang:

09-20 04:33:50.398  3531  3608 W ActivityManager: Activity destroy timeout for ActivityRecord{45d178a u0 blah/.Main t543 f}
09-20 04:33:53.858  3531  3608 W ActivityManager: Launch timeout has expired, giving up wake lock!
09-20 04:34:10.398  3531  3608 W ActivityManager: Timeout executing service: ServiceRecord{bd2bc3e u0 blah/com.onesignal.SyncService}
09-20 04:34:15.718  3531  3608 E ActivityManager: ANR in blah
09-20 04:34:15.718  3531  3608 E ActivityManager: PID: 29808
09-20 04:34:15.718  3531  3608 E ActivityManager: Reason: executing service blah/com.onesignal.SyncService

This appears similar to the issue reported here: https://github.com/OneSignal/OneSignal-Unity-SDK/issues/31

We tried to build the Marmalade extension with the newest OneSignalSDK.jar but got several compile errors, so thought it best to open an issue here to get some direction for proceeding.

jkasten2 commented 7 years ago

@jayvcmobile We don't have a scheduled release for the OneSignal Marmalade SDK. As I am sure you know Marmalade is no longer being updated and they only provide fixes until Mar 31, 2018. We plan to provide support util then but no large feature updates will be added to this SDK.

Can you attach the full errors you are getting when you update to the newest OneSignal Android SDK? We can see what it will take to provide a patched .jar to resolve the issue.

jayvcmobile commented 7 years ago

Per your request, If I replace the existing jar with the latest Android SDK OneSignalSDK.jar (updated to 3.6.2 12 days ago), I get the following output when building:

C:\Marmalade\2017.2\s3e\makefile_builder\mkb.py C:\dev\phoenix-proto\modules\s3eOneSignal\s3eOneSignal_android_java.mkb Building project: c:/dev/phoenix-proto/modules/s3eOneSignal/s3eOneSignal_android_java.mkb MARMALADE_HOME: C:/Users/gunner10/Documents/Marmalade Required executable not found in PATH: gcc building: ../source/android/s3eOneSignal.java Executing: 'D:\Program Files\Java\jdk1.8.0_102\bin\javac.exe -d classes -source 1.7 -target 1.7 -classpath c:/marmalade/2017.2/platform_libs/android/android-support-v4/android-support-v4.jar;c:/marmalade/2017.2/platform_libs/android/google-play-services-android/android/google-play-services.jar;c:/marmalade/2017.2/s3e/deploy/plugins/android/android.jar;c:/marmalade/2017.2/s3e/loader/android/s3e_release.jar;c:/dev/phoenix-proto/modules/s3eOneSignal/incoming/android/OneSignalSDK.jar @javafiles.cmd' warning: [options] bootstrap class path not set in conjunction with -source 1.7 ..\source\android\s3eOneSignal.java:25: error: s3eOneSignal is not abstract and does not override abstract method notificationOpened(OSNotificationOpenResult) in NotificationOpenedHandler class s3eOneSignal implements NotificationOpenedHandler { ^ ..\source\android\s3eOneSignal.java:36: error: method does not override or implement a method from a supertype @Override ^ ..\source\android\s3eOneSignal.java:82: error: cannot find symbol OneSignal.onPaused(); ^ symbol: method onPaused() location: class OneSignal ..\source\android\s3eOneSignal.java:86: error: cannot find symbol OneSignal.onResumed(); ^ symbol: method onResumed() location: class OneSignal ..\source\android\s3eOneSignal.java:98: error: cannot find symbol OneSignal.enableInAppAlertNotification(enable); ^ symbol: method enableInAppAlertNotification(boolean) location: class OneSignal ..\source\android\s3eOneSignal.java:102: error: cannot find symbol OneSignal.enableNotificationsWhenActive(enable); ^ symbol: method enableNotificationsWhenActive(boolean) location: class OneSignal 6 errors 1 warning error: Executing 'D:\Program Files\Java\jdk1.8.0_102\bin\javac.exe -d classes -source 1.7 -target 1.7 -classpath c:/marmalade/2017.2/platform_libs/android/android-support-v4/android-support-v4.jar;c:/marmalade/2017.2/platform_libs/android/google-play-services-android/android/google-play-services.jar;c:/marmalade/2017.2/s3e/deploy/plugins/android/android.jar;c:/marmalade/2017.2/s3e/loader/android/s3e_release.jar;c:/dev/phoenix-proto/modules/s3eOneSignal/incoming/android/OneSignalSDK.jar @javafiles.cmd' failed. (return code 1) FAILED (error code=3) Press any key to continue . . .

From: Josh Kasten [mailto:notifications@github.com] Sent: Tuesday, September 26, 2017 6:05 PM To: OneSignal/OneSignal-Marmalade-SDK OneSignal-Marmalade-SDK@noreply.github.com Cc: Jay Lee jay@vcmobile.net; Mention mention@noreply.github.com Subject: Re: [OneSignal/OneSignal-Marmalade-SDK] ANR executing service com.onesignal.SyncService (#1)

@jayvcmobilehttps://github.com/jayvcmobile We don't have a scheduled release for the OneSignal Marmalade SDK. As I am sure you know Marmalade is no longer being updatedhttps://marmalade.shop/en/ and they only provide fixes until Mar 31, 2018. We plan to provide support util then but no large feature updates will be added to this SDK.

Can you attach the full errors you are getting when you update to the newest OneSignal Android SDK? We can see what it will take to provide a patched .jar to resolve the issue.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/OneSignal/OneSignal-Marmalade-SDK/issues/1#issuecomment-332361076, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHON7NXhuLw1D206D7QprCPYceLstR4Bks5smYMkgaJpZM4PdRZP.

jkasten2 commented 7 years ago

@jayvcmobile Thanks for the log. Looks like the issues are related to interface changes to events.

We will update the following class to map the compatibility to the existing bridging and will reply here when it is ready. https://github.com/OneSignal/OneSignal-Marmalade-SDK/blob/master/s3eOneSignal/source/android/s3eOneSignal.java

Thanks.

jkasten2 commented 7 years ago

@jayvcmobile Could you give this branch a try? https://github.com/OneSignal/OneSignal-Marmalade-SDK/tree/android_sdk_3_compat_update

This branch contains a fork of the 3.6.3 OneSignal Android SDK that is compatible with the older OneSignal interface this SDK is relying on.

jayvcmobile commented 7 years ago

@jkasten2 Done as you have requested, built with branch.

Device properly reports in the Dashboard and receives messages, reflecting SDK version 030603.

However the ANR originally reported still exists, with the same repro steps. Run app, quit using task kill (ie hold Home button and swipe/close vs. exiting using the Android back button to exit properly). App gets ANR on subsequent run.

Logcat of Activity Manager:

I/marmalade(19084): STARTING MAIN I/ActivityManager( 928): do not start freezing screen for locked container getKeyguardshowstate = false W/ActivityManager( 928): mDVFSHelper.acquire() D/ActivityManager( 928): post active user change for 0 I/ActivityManager( 928): Displayed com.android.systemui/.recents.RecentsActivity: +201ms W/ActivityManager( 928): mDVFSHelper.release() W/ActivityManager( 928): mDVFSHelper.acquire() D/ActivityManager( 928): handle home activity for 0 D/ActivityManager( 928): post active user change for 0 W/ActivityManager( 928): mDVFSHelper.release() W/ActivityManager( 928): Activity destroy timeout for ActivityRecord{3bf6c14f u0 blah/.Main t196 f} I/ActivityManager( 928): do not start freezing screen for locked container getKeyguardshowstate = false W/ActivityManager( 928): mDVFSHelper.acquire() W/ActivityManager( 928): mDVFSHelper.release() W/ActivityManager( 928): Timeout executing service: ServiceRecord{33b7652 u0 blah/com.onesignal.SyncService} E/ActivityManager( 928): ANR in blah E/ActivityManager( 928): PID: 19084 E/ActivityManager( 928): Reason: Executing service blah/com.onesignal.SyncService E/ActivityManager( 928): Load: 12.68 / 12.41 / 16.03 E/ActivityManager( 928): CPU usage from 2201ms to -6556ms ago: E/ActivityManager( 928): 54% 928/system_server: 18% user + 35% kernel / faults: 10710 minor 3 major E/ActivityManager( 928): 7.2% 19084/blah: 3.7% user + 3.4% kernel / faults: 8114 minorE/ActivityManager( 928): 6.9% 1176/com.android.systemui: 2.6% user + 4.3% kernel / faults: 2540 minor E/ActivityManager( 928): 0.3% 278/debuggerd: 0% user + 0.2% kernel / faults: 2276 minor E/ActivityManager( 928): 2.8% 1420/com.android.phone: 1.6% user + 1.2% kernel / faults: 1662 minor 10 major E/ActivityManager( 928): 0.2% 1409/com.android.nfc: 0.1% user + 0.1% kernel / faults: 990 minor 1 major E/ActivityManager( 928): 0% 2055/com.android.incallui: 0% user + 0% kernel / faults: 517 minor E/ActivityManager( 928): 0.2% 22626/com.google.android.gms: 0.1% user + 0% kernel / faults: 687 minor E/ActivityManager( 928): 0% 1391/com.android.server.telecom: 0% user + 0% kernel / faults: 583 minor E/ActivityManager( 928): 0.4% 2276/mpdecision: 0.4% user + 0% kernel E/ActivityManager( 928): 0.3% 24365/kworker/u:3: 0% user + 0.3% kernel E/ActivityManager( 928): 0.2% 3/ksoftirqd/0: 0% user + 0.2% kernel E/ActivityManager( 928): 0.2% 7/kworker/u:0H: 0% user + 0.2% kernel E/ActivityManager( 928): 0.2% 171/cfinteractive: 0% user + 0.2% kernel E/ActivityManager( 928): 0.2% 211/dhd_dpc: 0% user + 0.2% kernel E/ActivityManager( 928): 0.2% 254/surfaceflinger: 0% user + 0.2% kernel E/ActivityManager( 928): 0.2% 5843/kworker/u:6: 0% user + 0.2% kernel E/ActivityManager( 928): 0.2% 11374/logcat: 0% user + 0.2% kernel E/ActivityManager( 928): 0.1% 1//init: 0% user + 0.1% kernel / faults: 9 minor E/ActivityManager( 928): 0.1% 33/kworker/u:1H: 0% user + 0.1% kernel E/ActivityManager( 928): 0.1% 146/spi11: 0% user + 0.1% kernel E/ActivityManager( 928): 0% 203/boost_sync/2: 0% user + 0% kernel E/ActivityManager( 928): 0.1% 206/mmcqd/1: 0% user + 0.1% kernel E/ActivityManager( 928): 0.1% 249/healthd: 0.1% user + 0% kernel E/ActivityManager( 928): 0.1% 252/servicemanager: 0% user + 0.1% kernel E/ActivityManager( 928): 0% 277/netd: 0% user + 0% kernel E/ActivityManager( 928): 0.1% 1273/wpa_supplicant: 0% user + 0.1% kernel E/ActivityManager( 928): 0.1% 2406/tv.peel.samsung.app: 0.1% user + 0% kernel / faults: 3 minor E/ActivityManager( 928): 0.1% 15404/kworker/0:0H: 0% user + 0.1% kernel E/ActivityManager( 928): 0.1% 17085/kworker/0:0: 0% user + 0.1% kernel E/ActivityManager( 928): 0% 19291/kworker/0:2: 0% user + 0% kernel E/ActivityManager( 928): +0% 19465/diag_uart_log: 0% user + 0% kernel E/ActivityManager( 928): 50% TOTAL: 17% user + 32% kernel + 0% iowait + 0% softirq E/ActivityManager( 928): CPU usage from 5956ms to 6504ms later with 99% awake: E/ActivityManager( 928): 14% 928/system_server: 8.9% user + 5.3% kernel / faults: 18 minor E/ActivityManager( 928): 10% 1012/ActivityManager: 5.3% user + 5.3% kernel E/ActivityManager( 928): 5.3% 938/FinalizerDaemon: 5.3% user + 0% kernel E/ActivityManager( 928): 0.9% 146/spi11: 0% user + 0.9% kernel E/ActivityManager( 928): 0.9% 171/cfinteractive: 0% user + 0.9% kernel E/ActivityManager( 928): 1.1% 5843/kworker/u:6: 0% user + 1.1% kernel E/ActivityManager( 928): 14% TOTAL: 5.2% user + 9.2% kernel W/ActivityManager( 928): Launch timeout has expired, giving up wake lock!

From: Josh Kasten [mailto:notifications@github.com] Sent: Thursday, October 12, 2017 10:37 PM To: OneSignal/OneSignal-Marmalade-SDK OneSignal-Marmalade-SDK@noreply.github.com Cc: Jay Lee jay@vcmobile.net; Mention mention@noreply.github.com Subject: Re: [OneSignal/OneSignal-Marmalade-SDK] ANR executing service com.onesignal.SyncService (#1)

@jayvcmobilehttps://github.com/jayvcmobile Could you give this branch a try? https://github.com/OneSignal/OneSignal-Marmalade-SDK/tree/android_sdk_3_compat_update

This branch contains a fork of the 3.6.3 OneSignal Android SDK that is compatible with the older OneSignal interface this SDK is relying on.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/OneSignal/OneSignal-Marmalade-SDK/issues/1#issuecomment-336341567, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHON7JuPvX0aGJbtMWmS6Lx15a5oXxhfks5srtrxgaJpZM4PdRZP.

jkasten2 commented 7 years ago

@jayvcmobile Thanks for confirming the update. It looks like you are running to the same issue as https://github.com/OneSignal/OneSignal-Android-SDK/issues/102.

Can you try replacing line 21 in extras.application.txt with

<service android:name="com.onesignal.SyncService" android:stopWithTask="true" />
jayvcmobile commented 7 years ago

After replacing the line as you specified above, our QA has verified we are running as expected on Android, with no ANR following the repro steps. Thanks very much for this!

jayvcmobile commented 6 years ago

Now that we have had this out in the 'wild' for a bit now, we are seeing users report ANR when restarting the app quickly without waiting on Samsung S6/S7 devices with Android 7.x. This looks to be the same follow on issue as reported in the previously referenced bug: https://github.com/OneSignal/OneSignal-Android-SDK/issues/102

although, its not quite clear to me what the suggested fix was.

jkasten2 commented 6 years ago

@jayvcmobile There wasn't a final fix, and the issue is still open as a result. The work around that worked for some Qt app developers was to add android:stopWithTask="true" as you have added.

Can you provide the full exceptions and stacktraces you are getting in the wild? We can review them to see if they are the same issue or something else.

jayvcmobile commented 6 years ago

@jkasten2 Sorry if the below is overkill, the following is the ANR with every call stack on a Samsung Galaxy S7 with Android 7.0 with title “executing service net.vcmobile.creaturequest/com.onesignal.SyncService”. HeapTaskDaemon (very last call stack, is blocked)

The "main" (tid=1) thread is in waiting state.

"main" tid=1 Waiting "main" prio=5 tid=1 Waiting | group="main" sCount=1 dsCount=0 obj=0x77cf8ef0 self=0x737e4c7a00 | sysTid=28153 nice=-4 cgrp=default sched=0/0 handle=0x7382e3fa98 | state=S schedstat=( 161769315376 10989105920 319035 ) utm=11800 stm=4376 core=2 HZ=100 | stack=0x7fc187a000-0x7fc187c000 stackSize=8MB | held mutexes= at java.lang.Object.wait! (Native method)

"Jit thread pool worker thread 0" tid=2 Native "Jit thread pool worker thread 0" prio=5 tid=2 Native (still starting up) | group="" sCount=1 dsCount=0 obj=0x0 self=0x7372c9f000 | sysTid=28158 nice=9 cgrp=default sched=0/0 handle=0x737dc03450 | state=S schedstat=( 53357224 109689965 61 ) utm=3 stm=2 core=1 HZ=100 | stack=0x737db05000-0x737db07000 stackSize=1021KB | held mutexes=

00 pc 000000000001beec /system/lib64/libc.so (syscall+28)

01 pc 00000000000e7614 /system/lib64/libart.so (_ZN3art17ConditionVariable16WaitHoldingLocksEPNS_6ThreadE+160)

02 pc 000000000046d8fc /system/lib64/libart.so (_ZN3art10ThreadPool7GetTaskEPNS_6ThreadE+248)

03 pc 000000000046cdb0 /system/lib64/libart.so (_ZN3art16ThreadPoolWorker3RunEv+124)

04 pc 000000000046c6e0 /system/lib64/libart.so (_ZN3art16ThreadPoolWorker8CallbackEPv+116)

05 pc 00000000000696bc /system/lib64/libc.so (_ZL15__pthread_startPv+196)

06 pc 000000000001dbf0 /system/lib64/libc.so (__start_thread+16)

"ReferenceQueueDaemon" tid=4 Waiting "ReferenceQueueDaemon" daemon prio=5 tid=4 Waiting | group="system" sCount=1 dsCount=0 obj=0x32c051f0 self=0x737e423c00 | sysTid=28160 nice=0 cgrp=default sched=0/0 handle=0x737da05450 | state=S schedstat=( 18713189 1934577 47 ) utm=1 stm=0 core=0 HZ=100 | stack=0x737d903000-0x737d905000 stackSize=1037KB | held mutexes= at java.lang.Object.wait! (Native method)

"Binder:28153_1" tid=8 Native "Binder:28153_1" prio=5 tid=8 Native | group="main" sCount=1 dsCount=0 obj=0x32c05430 self=0x7372ca6800 | sysTid=28164 nice=0 cgrp=default sched=0/0 handle=0x737d4f3450 | state=S schedstat=( 7533018431 1481050896 27143 ) utm=240 stm=514 core=2 HZ=100 | stack=0x737d3f9000-0x737d3fb000 stackSize=1005KB | held mutexes=

00 pc 000000000006bb5c /system/lib64/libc.so (__ioctl+4)

01 pc 000000000001fc9c /system/lib64/libc.so (ioctl+160)

02 pc 00000000000555d0 /system/lib64/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+260)

03 pc 0000000000055730 /system/lib64/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+24)

04 pc 0000000000055e7c /system/lib64/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+72)

05 pc 0000000000073018 /system/lib64/libbinder.so (???)

06 pc 0000000000012490 /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+272)

07 pc 00000000000a5120 /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)

08 pc 00000000000696bc /system/lib64/libc.so (_ZL15__pthread_startPv+196)

09 pc 000000000001dbf0 /system/lib64/libc.so (__start_thread+16)

"Binder:28153_2" tid=9 Native "Binder:28153_2" prio=5 tid=9 Native | group="main" sCount=1 dsCount=0 obj=0x32c054c0 self=0x737e537600 | sysTid=28165 nice=0 cgrp=default sched=0/0 handle=0x737d3f6450 | state=S schedstat=( 7434705933 1454101695 27167 ) utm=221 stm=523 core=0 HZ=100 | stack=0x737d2fc000-0x737d2fe000 stackSize=1005KB | held mutexes=

00 pc 000000000006bb5c /system/lib64/libc.so (__ioctl+4)

01 pc 000000000001fc9c /system/lib64/libc.so (ioctl+160)

02 pc 00000000000555d0 /system/lib64/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+260)

03 pc 0000000000055730 /system/lib64/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+24)

04 pc 0000000000055e7c /system/lib64/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+72)

05 pc 0000000000073018 /system/lib64/libbinder.so (???)

06 pc 0000000000012490 /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+272)

07 pc 00000000000a5120 /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)

08 pc 00000000000696bc /system/lib64/libc.so (_ZL15__pthread_startPv+196)

09 pc 000000000001dbf0 /system/lib64/libc.so (__start_thread+16)

"Profile Saver" tid=10 Native "Profile Saver" daemon prio=5 tid=10 Native | group="system" sCount=1 dsCount=0 obj=0x32c05550 self=0x7372ccbc00 | sysTid=28176 nice=0 cgrp=default sched=0/0 handle=0x737d2f5450 | state=S schedstat=( 9076423 1555117 20 ) utm=0 stm=0 core=3 HZ=100 | stack=0x737d1fb000-0x737d1fd000 stackSize=1005KB | held mutexes=

00 pc 000000000001beec /system/lib64/libc.so (syscall+28)

01 pc 00000000000e7614 /system/lib64/libart.so (_ZN3art17ConditionVariable16WaitHoldingLocksEPNS_6ThreadE+160)

02 pc 000000000031f0f0 /system/lib64/libart.so (_ZN3art12ProfileSaver3RunEv+296)

03 pc 00000000003207f8 /system/lib64/libart.so (_ZN3art12ProfileSaver21RunProfileSaverThreadEPv+100)

04 pc 00000000000696bc /system/lib64/libc.so (_ZL15__pthread_startPv+196)

05 pc 000000000001dbf0 /system/lib64/libc.so (__start_thread+16)

"Thread-5" tid=11 Native "Thread-5" prio=5 tid=11 Native | group="main" sCount=1 dsCount=0 obj=0x32c03120 self=0x737e535800 | sysTid=28188 nice=0 cgrp=default sched=0/0 handle=0x737cf9b450 | state=S schedstat=( 1993956619288 16113273264 518543 ) utm=193468 stm=5927 core=0 HZ=100 | stack=0x737ce99000-0x737ce9b000 stackSize=1037KB | held mutexes=

00 pc 000000000001beec /system/lib64/libc.so (syscall+28)

01 pc 0000000000068e14 /system/lib64/libc.so (pthread_cond_wait+96)

02 pc 00000000000bfb9c /data/app/net.vcmobile.creaturequest-1/lib/arm64/libs3e_android.so (???)

at com.ideaworks3d.marmalade.LoaderThread.runNative (Native method) at com.ideaworks3d.marmalade.LoaderThread.run (LoaderThread.java:1084)

"RenderThread" tid=12 Native "RenderThread" prio=5 tid=12 Native | group="main" sCount=1 dsCount=0 obj=0x32c055e0 self=0x7372c28000 | sysTid=28191 nice=-4 cgrp=default sched=0/0 handle=0x7373098450 | state=S schedstat=( 259138850 138114275 651 ) utm=8 stm=17 core=1 HZ=100 | stack=0x7372f9e000-0x7372fa0000 stackSize=1005KB | held mutexes=

00 pc 000000000006ba70 /system/lib64/libc.so (__epoll_pwait+8)

01 pc 000000000001e31c /system/lib64/libc.so (epoll_pwait+64)

02 pc 0000000000018000 /system/lib64/libutils.so (_ZN7android6Looper9pollInnerEi+156)

03 pc 0000000000017eac /system/lib64/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+60)

04 pc 000000000003c0fc /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+656)

05 pc 0000000000012490 /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+272)

06 pc 00000000000a5120 /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)

07 pc 00000000000696bc /system/lib64/libc.so (_ZL15__pthread_startPv+196)

08 pc 000000000001dbf0 /system/lib64/libc.so (__start_thread+16)

"hwuiTask1" tid=13 Native "hwuiTask1" prio=5 tid=13 Native | group="main" sCount=1 dsCount=0 obj=0x32c05670 self=0x7370e17a00 | sysTid=28210 nice=-2 cgrp=default sched=0/0 handle=0x735bb80450 | state=S schedstat=( 8538270 3986347 47 ) utm=0 stm=0 core=4 HZ=100 | stack=0x735ba86000-0x735ba88000 stackSize=1005KB | held mutexes=

00 pc 000000000001beec /system/lib64/libc.so (syscall+28)

01 pc 0000000000068e14 /system/lib64/libc.so (pthread_cond_wait+96)

02 pc 000000000003cf94 /system/lib64/libhwui.so (???)

03 pc 0000000000012490 /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+272)

04 pc 00000000000a5120 /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)

05 pc 00000000000696bc /system/lib64/libc.so (_ZL15__pthread_startPv+196)

06 pc 000000000001dbf0 /system/lib64/libc.so (__start_thread+16)

Timer-0" tid=27 Waiting "Timer-0" prio=5 tid=27 Waiting | group="main" sCount=1 dsCount=0 obj=0x32c05700 self=0x735aebfe00 | sysTid=28232 nice=0 cgrp=default sched=0/0 handle=0x7329950450 | state=S schedstat=( 130731 0 1 ) utm=0 stm=0 core=7 HZ=100 | stack=0x732984e000-0x7329850000 stackSize=1037KB | held mutexes= at java.lang.Object.wait! (Native method)

"GAC_Executor[0]" prio=5 tid=30 Waiting | group="main" sCount=1 dsCount=0 obj=0x32c05820 self=0x735aec1200 | sysTid=28250 nice=0 cgrp=default sched=0/0 handle=0x7329641450 | state=S schedstat=( 3111538 879154 12 ) utm=0 stm=0 core=7 HZ=100 | stack=0x732953f000-0x7329541000 stackSize=1037KB | held mutexes= at java.lang.Object.wait! (Native method)

"Binder:28153_3" prio=5 tid=43 Native | group="main" sCount=1 dsCount=0 obj=0x32c05790 self=0x735b698200 | sysTid=28249 nice=0 cgrp=default sched=0/0 handle=0x73289ff450 | state=S schedstat=( 7426996224 1420808591 27125 ) utm=201 stm=541 core=4 HZ=100 | stack=0x7328905000-0x7328907000 stackSize=1005KB | held mutexes=

00 pc 000000000006bb5c /system/lib64/libc.so (__ioctl+4)

01 pc 000000000001fc9c /system/lib64/libc.so (ioctl+160)

02 pc 00000000000555d0 /system/lib64/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+260)

03 pc 0000000000055730 /system/lib64/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+24)

04 pc 0000000000055e7c /system/lib64/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+72)

05 pc 0000000000073018 /system/lib64/libbinder.so (???)

06 pc 0000000000012490 /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+272)

07 pc 00000000000a5120 /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)

08 pc 00000000000696bc /system/lib64/libc.so (_ZL15__pthread_startPv+196)

09 pc 000000000001dbf0 /system/lib64/libc.so (__start_thread+16)

"GAC_Executor[1]" tid=44 Waiting "GAC_Executor[1]" prio=5 tid=44 Waiting | group="main" sCount=1 dsCount=0 obj=0x32c058b0 self=0x7328b87600 | sysTid=28257 nice=0 cgrp=default sched=0/0 handle=0x73285ff450 | state=S schedstat=( 2415040 0 9 ) utm=0 stm=0 core=6 HZ=100 | stack=0x73284fd000-0x73284ff000 stackSize=1037KB | held mutexes= at java.lang.Object.wait! (Native method)

"pool-3-thread-1" tid=47 Waiting "pool-3-thread-1" prio=5 tid=47 Waiting | group="main" sCount=1 dsCount=0 obj=0x32c05940 self=0x7359426800 | sysTid=28301 nice=0 cgrp=default sched=0/0 handle=0x735abec450 | state=S schedstat=( 260536505 222871269 471 ) utm=10 stm=16 core=4 HZ=100 | stack=0x735aaea000-0x735aaec000 stackSize=1037KB | held mutexes= at java.lang.Object.wait! (Native method)

"ModernAsyncTask #1" prio=5 tid=48 Waiting | group="main" sCount=1 dsCount=0 obj=0x32c059d0 self=0x7328be5000 | sysTid=28303 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0x735aae2450 | state=S schedstat=( 514731 327731 1 ) utm=0 stm=0 core=5 HZ=100 | stack=0x735a9e0000-0x735a9e2000 stackSize=1037KB | held mutexes= at java.lang.Object.wait! (Native method)

"ONESIGNAL_EXECUTOR_17293" prio=5 tid=49 Waiting | group="main" sCount=1 dsCount=0 obj=0x32c05a60 self=0x7328be5a00 | sysTid=28308 nice=0 cgrp=default sched=0/0 handle=0x735a9dd450 | state=S schedstat=( 5004385 1275654 19 ) utm=0 stm=0 core=0 HZ=100 | stack=0x735a8db000-0x735a8dd000 stackSize=1037KB | held mutexes= at java.lang.Object.wait! (Native method)

"FocusHandlerThread" tid=50 Native "FocusHandlerThread" prio=5 tid=50 Native | group="main" sCount=1 dsCount=0 obj=0x32c0c1a0 self=0x7328be6400 | sysTid=28309 nice=0 cgrp=default sched=0/0 handle=0x735a8d8450 | state=S schedstat=( 140534765 85005193 81 ) utm=3 stm=11 core=1 HZ=100 | stack=0x735a7d6000-0x735a7d8000 stackSize=1037KB | held mutexes=

00 pc 000000000006ba70 /system/lib64/libc.so (__epoll_pwait+8)

01 pc 000000000001e31c /system/lib64/libc.so (epoll_pwait+64)

02 pc 0000000000018000 /system/lib64/libutils.so (_ZN7android6Looper9pollInnerEi+156)

03 pc 0000000000017eac /system/lib64/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+60)

04 pc 00000000000f77ac /system/lib64/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+48)

05 pc 00000000009d4810 /system/framework/arm64/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+140)

at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:323) at android.os.Looper.loop (Looper.java:136) at android.os.HandlerThread.run (HandlerThread.java:61) "OSH_NetworkHandlerThread" tid=51 Native "OSH_NetworkHandlerThread" prio=5 tid=51 Native | group="main" sCount=1 dsCount=0 obj=0x32c0c240 self=0x7328be7800 | sysTid=28313 nice=0 cgrp=default sched=0/0 handle=0x735a7d3450 | state=S schedstat=( 61030112 22364426 91 ) utm=2 stm=4 core=0 HZ=100 | stack=0x735a6d1000-0x735a6d3000 stackSize=1037KB | held mutexes=

00 pc 000000000006ba70 /system/lib64/libc.so (__epoll_pwait+8)

01 pc 000000000001e31c /system/lib64/libc.so (epoll_pwait+64)

02 pc 0000000000018000 /system/lib64/libutils.so (_ZN7android6Looper9pollInnerEi+156)

03 pc 0000000000017eac /system/lib64/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+60)

04 pc 00000000000f77ac /system/lib64/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+48)

05 pc 00000000009d4810 /system/framework/arm64/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+140)

at android.os.MessageQueue.nativePollOnce (Native method) at android.os.MessageQueue.next (MessageQueue.java:323) at android.os.Looper.loop (Looper.java:136) at android.os.HandlerThread.run (HandlerThread.java:61) "ONESIGNAL_EXECUTOR_17298" tid=53 Waiting "ONESIGNAL_EXECUTOR_17298" prio=5 tid=53 Waiting | group="main" sCount=1 dsCount=0 obj=0x32c05af0 self=0x7328be8200 | sysTid=28314 nice=0 cgrp=default sched=0/0 handle=0x735a0f7450 | state=S schedstat=( 3963771 1811691 25 ) utm=0 stm=0 core=6 HZ=100 | stack=0x7359ff5000-0x7359ff7000 stackSize=1037KB | held mutexes= at java.lang.Object.wait! (Native method)

"Thread-16" tid=54 Native "Thread-16" prio=5 tid=54 Native | group="main" sCount=1 dsCount=0 obj=0x32c05d30 self=0x7328719000 | sysTid=28351 nice=5 cgrp=default sched=0/0 handle=0x73179ff450 | state=S schedstat=( 9239825106 2097235646 52195 ) utm=570 stm=353 core=5 HZ=100 | stack=0x7317905000-0x7317907000 stackSize=1005KB | held mutexes=

00 pc 000000000001beec /system/lib64/libc.so (syscall+28)

01 pc 000000000006a348 /system/lib64/libc.so (_ZL33__pthread_mutex_lock_with_timeoutP24pthread_mutex_internal_tbPK8timespec+744)

02 pc 00000000000bfe14 /data/app/net.vcmobile.creaturequest-1/lib/arm64/libs3e_android.so (???)

"Thread-15" tid=55 Native "Thread-15" prio=5 tid=55 Native | group="main" sCount=1 dsCount=0 obj=0x32c05ca0 self=0x735b64b200 | sysTid=28341 nice=5 cgrp=default sched=0/0 handle=0x7359dd6450 | state=S schedstat=( 5274036355 1296612847 34607 ) utm=324 stm=206 core=1 HZ=100 | stack=0x7359cdc000-0x7359cde000 stackSize=1005KB | held mutexes=

00 pc 000000000001beec /system/lib64/libc.so (syscall+28)

01 pc 000000000006a348 /system/lib64/libc.so (_ZL33__pthread_mutex_lock_with_timeoutP24pthread_mutex_internal_tbPK8timespec+744)

02 pc 00000000000bfe14 /data/app/net.vcmobile.creaturequest-1/lib/arm64/libs3e_android.so (???)

"ONESIGNAL_EXECUTOR_17303" tid=56 Waiting "ONESIGNAL_EXECUTOR_17303" prio=5 tid=56 Waiting | group="main" sCount=1 dsCount=0 obj=0x32c05b80 self=0x7328719a00 | sysTid=28322 nice=0 cgrp=default sched=0/0 handle=0x73597ff450 | state=S schedstat=( 5058387 2388000 15 ) utm=0 stm=0 core=0 HZ=100 | stack=0x73596fd000-0x73596ff000 stackSize=1037KB | held mutexes= at java.lang.Object.wait! (Native method)

"Okio Watchdog" tid=57 Waiting "Okio Watchdog" daemon prio=5 tid=57 Waiting | group="main" sCount=1 dsCount=0 obj=0x32c05c10 self=0x735b649400 | sysTid=28333 nice=0 cgrp=default sched=0/0 handle=0x734e3ff450 | state=S schedstat=( 10630117 1749693 92 ) utm=0 stm=1 core=2 HZ=100 | stack=0x734e2fd000-0x734e2ff000 stackSize=1037KB | held mutexes= at java.lang.Object.wait! (Native method)

"Signal Catcher" tid=3 Runnable "Signal Catcher" daemon prio=5 tid=3 Runnable | group="system" sCount=0 dsCount=0 obj=0x32c05160 self=0x7370e0ca00 | sysTid=28159 nice=0 cgrp=default sched=0/0 handle=0x737db02450 | state=R schedstat=( 84361543 17220844 97 ) utm=2 stm=6 core=4 HZ=100 | stack=0x737da08000-0x737da0a000 stackSize=1005KB | held mutexes= "mutator lock"(shared held)

00 pc 0000000000480138 /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+220)

01 pc 0000000000480134 /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+216)

02 pc 0000000000453950 /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+408)

03 pc 000000000046ba70 /system/lib64/libart.so (_ZN3art14DumpCheckpoint3RunEPNS_6ThreadE+824)

04 pc 0000000000463624 /system/lib64/libart.so (_ZN3art10ThreadList13RunCheckpointEPNS_7ClosureE+460)

05 pc 0000000000463230 /system/lib64/libart.so (_ZN3art10ThreadList4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEb+288)

06 pc 00000000004630cc /system/lib64/libart.so (_ZN3art10ThreadList14DumpForSigQuitERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+804)

07 pc 000000000043ecc0 /system/lib64/libart.so (_ZN3art7Runtime14DumpForSigQuitERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+344)

08 pc 0000000000445444 /system/lib64/libart.so (_ZN3art13SignalCatcher13HandleSigQuitEv+2256)

09 pc 0000000000443ef4 /system/lib64/libart.so (_ZN3art13SignalCatcher3RunEPv+500)

10 pc 00000000000696bc /system/lib64/libc.so (_ZL15__pthread_startPv+196)

11 pc 000000000001dbf0 /system/lib64/libc.so (__start_thread+16)

"HeapTaskDaemon" tid=7 Blocked "HeapTaskDaemon" daemon prio=5 tid=7 Blocked | group="system" sCount=1 dsCount=0 obj=0x32c053a0 self=0x737e4f4200 | sysTid=28163 nice=0 cgrp=default sched=0/0 handle=0x737d6f6450 | state=S schedstat=( 1156517112 1010896142 556 ) utm=81 stm=34 core=4 HZ=100 | stack=0x737d5f4000-0x737d5f6000 stackSize=1037KB | held mutexes=

00 pc 000000000001beec /system/lib64/libc.so (syscall+28)

01 pc 00000000000e7614 /system/lib64/libart.so (_ZN3art17ConditionVariable16WaitHoldingLocksEPNS_6ThreadE+160)

02 pc 0000000000243784 /system/lib64/libart.so (_ZN3art2gc13TaskProcessor7GetTaskEPNS_6ThreadE+284)

03 pc 00000000002440a8 /system/lib64/libart.so (_ZN3art2gc13TaskProcessor11RunAllTasksEPNS_6ThreadE+92)

04 pc 00000000001e4e80 /system/framework/arm64/boot-core-libart.oat (Java_dalvik_system_VMRuntime_runHeapTasks__+124)

at dalvik.system.VMRuntime.runHeapTasks (Native method)

From: Josh Kasten [mailto:notifications@github.com] Sent: Wednesday, November 22, 2017 3:47 AM To: OneSignal/OneSignal-Marmalade-SDK OneSignal-Marmalade-SDK@noreply.github.com Cc: Jay Lee jay@vcmobile.net; Mention mention@noreply.github.com Subject: Re: [OneSignal/OneSignal-Marmalade-SDK] ANR executing service com.onesignal.SyncService (#1)

@jayvcmobilehttps://github.com/jayvcmobile There wasn't a final fix, and the issue is still open as a result. The work around that worked for some Qt app developers was to add android:stopWithTask="true" as you have added.

Can you provide the full exceptions and stacktraces you are getting in the wild? We can review them to see if they are the same issue or something else.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/OneSignal/OneSignal-Marmalade-SDK/issues/1#issuecomment-346297817, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHON7ORgSTmX15ctWZw3dUguRy952L05ks5s4-2WgaJpZM4PdRZP.

jayvcmobile commented 6 years ago

I added the stack trace a while back - any update on the status?

jkasten2 commented 6 years ago

@jayvcmobile Sorry for the delay. The ANR is happening due to the following stack in Marmalade from your log.

at java.lang.Thread.join (Thread.java:1367)
at com.ideaworks3d.marmalade.LoaderThread.onDestroy (LoaderThread.java:1157)
at com.ideaworks3d.marmalade.LoaderActivity.onDestroy (LoaderActivity.java:297)
at android.app.Activity.performDestroy (Activity.java:7165)

Unfortunately I am not sure what thread Marmalade would be waiting on from just the stack trace above.

We are planning on making some changes to the com.onesignal.SyncService which should put less load on the main thread durning the process shutdown noted below. https://github.com/OneSignal/OneSignal-Android-SDK/issues/386#issuecomment-369389238 After these changes are made they may fix your issue but there might be anther cause to this specific ANR. com.onesignal.SyncService is showing at the top of your ANR but Android will show any service running, even if it has no effect on the ANR itself.

Are you able to reproduce the issue on your test device or just in the wild? Do you see this ANR if you remove OneSignal?

jayvcmobile commented 6 years ago

We can reproduce this at will with our internal devices – I just happened to provide the call stack from the Google Play console since it was readily available.

The ANR is absent when we don’t initialize OneSignal (it is how we are deployed right now in production). Let us know when that change is ready, we can certainly test it internally and let you know how that goes.

From: Josh Kasten [mailto:notifications@github.com] Sent: Wednesday, February 28, 2018 4:42 PM To: OneSignal/OneSignal-Marmalade-SDK OneSignal-Marmalade-SDK@noreply.github.com Cc: Jay Lee jay@vcmobile.net; Mention mention@noreply.github.com Subject: Re: [OneSignal/OneSignal-Marmalade-SDK] ANR executing service com.onesignal.SyncService (#1)

@jayvcmobilehttps://github.com/jayvcmobile Sorry for the delay. The ANR is happening due to the following stack in Marmalade from your log.

at java.lang.Thread.join (Thread.java:1367)

at com.ideaworks3d.marmalade.LoaderThread.onDestroy (LoaderThread.java:1157)

at com.ideaworks3d.marmalade.LoaderActivity.onDestroy (LoaderActivity.java:297)

at android.app.Activity.performDestroy (Activity.java:7165)

Unfortunately I am not sure what thread Marmalade would be waiting on from just the stack trace above.

We are planning on making some changes to the com.onesignal.SyncService which should put less load on the main thread durning the process shutdown noted below. OneSignal/OneSignal-Android-SDK#386 (comment)https://github.com/OneSignal/OneSignal-Android-SDK/issues/386#issuecomment-369389238 After these changes are made they may fix your issue but there might be anther cause to this specific ANR. com.onesignal.SyncService is showing at the top of your ANR but Android will show any service running, even if it has no effect on the ANR itself.

Are you able to reproduce the issue on your test device or just in the wild? Do you see this ANR if you remove OneSignal?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/OneSignal/OneSignal-Marmalade-SDK/issues/1#issuecomment-369409341, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHON7L5QMwO71V1HqNM1v_BpZGDZPvE1ks5tZdY_gaJpZM4PdRZP.

ayberkozgur commented 6 years ago

I am not a user of this project but I stumbled upon this issue while searching online about Qt Android services and ANRs. This issue seems to be solved by using Qt 5.10.1 and QAndroidService instead of QCoreApplication. See the discussion in https://bugreports.qt.io/browse/QTBUG-67298.