johanw666 / Signal-Android

Fork from a private messenger for Android with extra options added: full backup and (partial, ony text) xml backup of messages. Restore can happen at any time, not only after a fresh install. Import SMS database. Import of (unencrypted) WhatsApp databases. Removed apk expire. Choose between passphrase protection and the Android screenlock. Choice for the backup location (internal or removable storage on Android < 11 (on 11 and higher this is already possible)). Set the maptype in the place picker. Option to treat view-once media as normal media. Option to ignore remote deletion. Choose between FCM or websocket notification delivery.
https://johanw.home.xs4all.nl/Signal/signal-jw.html
GNU Affero General Public License v3.0
250 stars 16 forks source link

Signal still crashes at launch #30

Closed Go-rom closed 3 years ago

Go-rom commented 3 years ago

Bug description

Despite the fix provided by 5.13.3.0-JW, Signal still crashes under Android 6, even with 5.13.5.0-JW and 5.13.7.0-JW Right now, Signal can't be used.

Steps to reproduce

Device info

Device: Samsung Galaxy J3 2015 Android version: 6.0.1 Signal version: 5.13.7.0-JW

Link to debug log

Can't reach log generator If you know another way to provide crash log, please tell me.

Thank you

johanw666 commented 3 years ago

Without a crashlog it will be difficult to find the issue. I thought I found the issue and it doesn't crash anymore on my Android 6 device but apparently that was at best an incomplete solution.

If you are rooted there are several apps that read logfiles, otherwise you can use adb logcat from the Android NDK: https://developer.android.com/studio/command-line/logcat

johanw666 commented 3 years ago

BTW, since which version did these crashes start for you? Would that be 5.12, when the settings screens were moved to Kotlin?

Go-rom commented 3 years ago

Hello @johanw666

Following your instructions, i did retrieve a crash log using the free software Scoop available on F-Droid Here it is

FATAL EXCEPTION: signal-JobRunner-3 Process: org.thoughtcrime.securesms, PID: 26776 java.lang.NoSuchMethodError: No virtual method position(I)Ljava/nio/ByteBuffer; in class Ljava/nio/ByteBuffer; or its super classes (declaration of 'java.nio.ByteBuffer' appears in /system/framework/core-libart.jar) at org.whispersystems.signalservice.internal.contacts.crypto.Quote.read(Quote.java:105) at org.whispersystems.signalservice.internal.contacts.crypto.Quote.readZero(Quote.java:111) at org.whispersystems.signalservice.internal.contacts.crypto.Quote.<init>(Quote.java:62) at org.whispersystems.signalservice.internal.push.RemoteAttestationUtil.validateAndBuildRemoteAttestation(RemoteAttestationUtil.java:121) at org.whispersystems.signalservice.internal.push.RemoteAttestationUtil.getAndVerifyMultiRemoteAttestation(RemoteAttestationUtil.java:70) at org.whispersystems.signalservice.api.SignalServiceAccountManager.getRegisteredUsers(SignalServiceAccountManager.java:381) at org.thoughtcrime.securesms.contacts.sync.ContactDiscoveryV2.getDirectoryResult(ContactDiscoveryV2.java:69) at org.thoughtcrime.securesms.contacts.sync.DirectoryHelper.refreshNumbers(DirectoryHelper.java:231) at org.thoughtcrime.securesms.contacts.sync.DirectoryHelper.refreshDirectory(DirectoryHelper.java:102) at org.thoughtcrime.securesms.jobs.DirectoryRefreshJob.onRun(DirectoryRefreshJob.java:74) at org.thoughtcrime.securesms.jobs.BaseJob.run(BaseJob.java:32) at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:86) at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:49)

I've encountered this issue since 5.13, i didn't install 5.12 (and can't downgrade to it)

johanw666 commented 3 years ago

Some investigation lead to seeing it uses the wrong Java version for some compile jobs, the crashed line in Quote.java pointed to Java 11 source. I set the JDK in Android Studio from internal to 1.8.0.192, this changes that behaviour and also fixed the (reoccurring) crash on my own Android 6 test device.

@Go-rom could you please test if this test release https://github.com/johanw666/Signal-Android/releases/tag/5.14.0.1-JW works for you?

Go-rom commented 3 years ago

Hello @johanw666

Thank you for your investigation, i just tested 5.14.0.1-JW and it works flawlessly. Thank you very much :+1:

ps : i don't see anything regarding donation, don't hesitate to provide a way to do that

johanw666 commented 3 years ago

@Go-rom I tried something else to fix the crash on Android 6 (changed the build file of libsignal, addded targetCompatibility) and that works on my Android 6 device. Could you please report if 5.14.2 works for you too?

Edit: it crashed again on my Android 5 machine, I have to go back to the original solution.

Go-rom commented 3 years ago

Hello @johanw666 5.14.2 has been installed yesterday and it's working fine

johanw666 commented 3 years ago

Yes, but I reverted to my old solution and re-released.