mirror of
http://galexander.org/git/simplesshd.git
synced 2024-12-27 08:28:06 +00:00
308753ce71
Made no headway on any of them, unfortunately.
66 lines
3.4 KiB
Plaintext
66 lines
3.4 KiB
Plaintext
Yesterday, 7:03 PM on app version 24
|
|
OnePlus OnePlus 7T (OnePlus7T), Android 10
|
|
Report 1 of 3
|
|
|
|
android.app.RemoteServiceException:
|
|
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2038)
|
|
at android.os.Handler.dispatchMessage (Handler.java:107)
|
|
at android.os.Looper.loop (Looper.java:214)
|
|
at android.app.ActivityThread.main (ActivityThread.java:7682)
|
|
at java.lang.reflect.Method.invoke (Native Method)
|
|
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:516)
|
|
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:950)
|
|
|
|
|
|
2021/01/17 - confirmed this is still happening with version 26 of the
|
|
app, reported on Android 8.1 (SDK 27) and Android 10 (SDK 29).
|
|
|
|
https://stackoverflow.com/questions/51222082/why-do-i-get-remoteserviceexception-for-creating-updating-a-notification
|
|
suggests it has something to do with the Notification passed to
|
|
startForeground(), but their "workaround" was to only modify the
|
|
Notification from the Service thread, which we already do.
|
|
|
|
I could not reproduce it under the emulator with Android 8.1 and starting
|
|
the service is several different contexts, including using the START
|
|
broadcast after the app had been force stopped, or when the service had
|
|
started because the package had just been updated (UI not displayed yet).
|
|
I also tested launching the PendingIntent from those contexts.
|
|
|
|
Looking at ActivityThread.java that came with my SDK and it looks like
|
|
RemoteServiceException() is just called whenever handleMessage() is
|
|
passed a msg.what == SCHEDULE_CRASH, which is sent from
|
|
ApplicationThread.scheduleCrash(), which is called (indirectly) from:
|
|
ActivityStackSupervisor.PendingActivityLaunch.sendErrorResult()
|
|
... ultimately called when there's an exception during a
|
|
PendingIntent launch, with the string from that exception??
|
|
BroadcastQueue.performReceiveLocked() on a RemoteException with the
|
|
string "can't deliver broadcast"
|
|
ActivityManagerShellCommand.runCrash() with "shell-induced crash"
|
|
ServiceRecord.postNotification() with "Bad notification for startForeground:"
|
|
ActiveServices.serviceForegroundCrash() with
|
|
"Context.startForegroundService() did not then call
|
|
Service.startForeground():"
|
|
NativeCrashListener.NativeCrashReporter.run() but I'm not sure it
|
|
actually makes it into the same crashApplication() or not?
|
|
RuntimeInit.wtf() not sure where this error winds up either but
|
|
|
|
Most of those, I think, would be pretty good about putting a message
|
|
there so I'm not clear why no message is provided.
|
|
|
|
Googling some more:
|
|
https://github.com/commons-app/apps-android-commons/issues/1877
|
|
failed to set a NotificationChannel but I think I've already
|
|
crossed that bridge.
|
|
https://www.xspdf.com/resolution/50183960.html
|
|
the XML layout for their Notification specified a manual height for
|
|
the root element?? the outer element for mine is wrap_content, but
|
|
one of the contents is an ImageView with a manual size (60dp x
|
|
60dp) ?? (and many others at this URL) Could maybe be a problem
|
|
with the res/drawable for the notification icon?
|
|
|
|
Crashlytics would apparently provide more info -- I'm not clear why
|
|
Google's crash reporter isn't giving me the RemoteServiceException
|
|
message on its own though! But Crashlytics smells like bloatware to me
|
|
and from looking at the source (/usr/src/firebase-android-sdk), I didn't
|
|
immediately see how it could change the reporting of this sort of crash.
|