Browse Source

Made a pass over all the crashes I've got from the play developer console.

Made no headway on any of them, unfortunately.
Greg Alexander 2 years ago
  1. 8
  2. 55
  3. 4
  4. 23
  5. 33
  6. 4


@ -1303,6 +1303,8 @@ Also, it turns out to be trivial to honor the MY_PACKAGE_REPLACED
(package upgrade) intent using the same receiver as BOOT_COMPLETED, which
is going to be great for people going forward.
I have been banging on the problem people have reported with
"Non-matching signing type." with older versions of OpenSSH. I've been
told it's the OpenSSH 7.2p2 that ships stock with Ubuntu 16.04 and Mint
@ -1329,6 +1331,12 @@ sense from grepping around the dropbear source:
So confusion between those two sounds likely to me.
Triaged the crashes again. crash.20200109 is the only one that bothers
me. It will probably continue at a low incidence until I figure out
what's causing it.
XXX - crash.20200109
XXX - on android 6 (duckling moto g2), the notification is white-on-white?


@ -2,7 +2,7 @@ Yesterday, 7:03 PM on app version 24
OnePlus OnePlus 7T (OnePlus7T), Android 10
Report 1 of 3
at$H.handleMessage (
at android.os.Handler.dispatchMessage (
at android.os.Looper.loop (
@ -10,3 +10,56 @@
at java.lang.reflect.Method.invoke (Native Method)
at$ (
at (
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).
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 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:
... 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():" but I'm not sure it
actually makes it into the same crashApplication() or not? 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:
failed to set a NotificationChannel but I think I've already
crossed that bridge.
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.


@ -7,3 +7,7 @@ pid: 0, tid: 0 >>> org.galexander.sshd <<<
#00 pc 000000000001a6ac /system/lib/ (abort+63)
#01 pc 0000000000020c79 /system/lib/ (sigprocmask+48)
2021/01/17 - Looking at the play console today, this crash is not in the
last 60 days which is all it will show me. So I guess it's rare.


@ -0,0 +1,23 @@
at android.os.Parcel.createException (
at android.os.Parcel.readException (
at android.os.Parcel.readException (
at$Stub$Proxy.reportAssistContextExtras (
at (
at$H.handleMessage (
at android.os.Handler.dispatchMessage (
at android.os.Looper.loop (
at (
at java.lang.reflect.Method.invoke (Native Method)
at$ (
at (
Caused by: android.os.RemoteException:
at (
at (
at (
at$Stub.onTransact$reportAssistContextExtras$ (
at$Stub.onTransact (
2021/01/17 - reported exactly once on an unknown Android 9 device with
version 24 of SimpleSSHD. A mystery I will leave unless it recurs.


@ -0,0 +1,33 @@
at java.lang.Runtime.loadLibrary0 (
at java.lang.System.loadLibrary (
at org.galexander.sshd.SimpleSSHDService.<clinit> (
at org.galexander.sshd.SimpleSSHDService.is_started (
at org.galexander.sshd.SimpleSSHD.update_startstop_prime (
at org.galexander.sshd.SimpleSSHD.onResume (
at (
at (
at (
at (
at (
at (
at (
at$H.handleMessage (
at android.os.Handler.dispatchMessage (
at android.os.Looper.loop (
at (
at java.lang.reflect.Method.invoke (Native Method)
at$ (
at (
2021/01/17 - This has been reported from two different users, both on
OnePlus3 phone running Android 9. It was reported both with version 16
and 24 of SimpleSSHD. It seems to be from where SimpleSSHDService tries
to load simplesshd-jni, which is the core JNI for the whole thing and the
only one that is linked in the normal way. It is a normal processor
(snapdragon 820).
Since it's just the one kind of phone, I think I'm gonna ignore it. It's
probably some problem with how libc or JNI library is linked, but I can't
imagine what that problem is.


@ -170,6 +170,10 @@ or later if <b>Settings</b> -> <b>Foreground Service</b> is enabled.</p>
<p>You may need to specify <tt>--user 0</tt> depending on the context:
<pre>am broadcast --user 0 -a org.galexander.sshd.START org.galexander.sshd</pre></p>
<p>And if Android is ignoring your broadcasts because the app was never started yet (or was force stopped), you may try (it's all arbitrary to me!):
<pre>am broadcast --user 0 -a org.galexander.sshd.START org.galexander.sshd/.StartReceiver</pre></p>
<p>If you are getting an error from <tt>am</tt> like:
<pre>cmd: Failure calling service activity: Failed transaction (2147483646)</pre>
it can probably be solved by disassociating <tt>am</tt> from the ssh