Signal-android: "Unable to record audio!" when recording several short voice messages

Created on 25 Jan 2017  路  18Comments  路  Source: signalapp/Signal-Android

Bug description

If several short voice messages are recorded and sent quickly one after the other (for example, 4 times per 5 seconds), then sometimes the error "Unable to record audio!" appears after a recording. And the recording is lost.

Steps to reproduce

Open Signal
Start a conversation
Send several voice messages (about 5 seconds) quickly one after the other

Actual result: The error "Unable to record audio!" appears and a voice message is lost.

Expected result: The voice message should be sent.

Device info

Device: Wiko Pulp 4G

Android version: stock Android 5.1.1

Signal version: 3.27.1

Debug log

In the log I find the following errors:

W/DecryptingPartInputStream(): javax.crypto.IllegalBlockSizeException: error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length
W/DecryptingPartInputStream(): at com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
W/DecryptingPartInputStream(): at com.android.org.conscrypt.OpenSSLCipher.doFinalInternal(OpenSSLCipher.java:430)
W/DecryptingPartInputStream(): at com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:490)
W/DecryptingPartInputStream(): at javax.crypto.Cipher.doFinal(Cipher.java:1314)
W/DecryptingPartInputStream(): at org.thoughtcrime.securesms.crypto.DecryptingPartInputStream.readFinal(DecryptingPartInputStream.java:118)
W/DecryptingPartInputStream(): at org.thoughtcrime.securesms.crypto.DecryptingPartInputStream.read(DecryptingPartInputStream.java:93)
W/DecryptingPartInputStream(): at org.thoughtcrime.securesms.crypto.DecryptingPartInputStream.read(DecryptingPartInputStream.java:85)
W/DecryptingPartInputStream(): at org.thoughtcrime.securesms.util.MediaUtil.getMediaSize(MediaUtil.java:123)
W/DecryptingPartInputStream(): at org.thoughtcrime.securesms.audio.AudioRecorder$2.run(AudioRecorder.java:88)
W/DecryptingPartInputStream(): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
W/DecryptingPartInputStream(): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
W/DecryptingPartInputStream(): at java.lang.Thread.run(Thread.java:818)
W/AudioRecorder(): java.io.IOException: Illegal block size exception!
W/AudioRecorder(): at org.thoughtcrime.securesms.crypto.DecryptingPartInputStream.readFinal(DecryptingPartInputStream.java:132)
W/AudioRecorder(): at org.thoughtcrime.securesms.crypto.DecryptingPartInputStream.read(DecryptingPartInputStream.java:93)
W/AudioRecorder(): at org.thoughtcrime.securesms.crypto.DecryptingPartInputStream.read(DecryptingPartInputStream.java:85)
W/AudioRecorder(): at org.thoughtcrime.securesms.util.MediaUtil.getMediaSize(MediaUtil.java:123)
W/AudioRecorder(): at org.thoughtcrime.securesms.audio.AudioRecorder$2.run(AudioRecorder.java:88)
W/AudioRecorder(): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
W/AudioRecorder(): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
W/AudioRecorder(): at java.lang.Thread.run(Thread.java:818)

All 18 comments

please (always) post the entire debug log, thanks!

Sorry, here ist the complete log.
log.txt

The same problem here with a only difference, it rarely works no matter if I want to send many voice messages behind each other or whether a long time passes.
I use a ZTE Blade l3, but with a Samsung Galaxy J5 exactly the same.
(but obviously nothing in my log file)

signal_log.txt

This happened to me today. I was in a conversation via desktop signal. I had sent a couple images via drag and drop. I wanted to send some voice, so I picked up my phone and recorded a couple minutes or so. I got the unable to record audio message. Subsequent audio messages were sent just fine.

gist.github.com/anonymous/b409b72cca412f00a2f3ce2721c7b15f

I've had this message before. Most often audio messages are recorded and sent properly. Every once in a while I get this error instead.

I just want to add that whenever I've had this error, simply re-recording the message has always worked.

Same problem on Galaxy S3 and LG G3.
Android version: 5.0
Signal version: 4.4.0

Unable to record and play Audio:

Phone: Nexus 6P
Version: Noise 4.5.3 (websocket)

I have this problem for as long as the feature was implemented. When i have a conversation with a friend only with voice notes. It just breaks after several attemps.

Here is the log: https://gist.github.com/anonymous/c681f5f7978a01b56832c2baea93b729

Nexus 6P
Has happened for a couple months now on and off. Like 10% of the time or so... Kinda frustrating especially after recording for 30 seconds or so. This is the only problem I've had so far. I'll try and grab the logs next time it happens. Is there anything private in them I should be worried about posting?

Its happening more and more to me. Only 30% record successfully. Basically the voice message feature is unusable. https://gist.github.com/anonymous/e0b1f507162a5fbb4f013ef72f12ee8b

Device : OnePlus ONEPLUS A3003 (OnePlus3)
Android : 7.1.1
Signal 4.6.1
https://gist.github.com/160d2793b16097570d03d550f25f1429
User states that closing all other apps in the background resolved the sending issue.

This one is of a friend: https://gist.github.com/82acf796ffa474869f680b99e79ca61d (directly submitted after failure). Don't know what a device he has.

This is from me (directly taken after failure) https://gist.github.com/64e5b1679f0d0b76460cea15355e9cd5
Device: S4 Mini (samsung GT-I9195)
Signal: 4.6.1
Android: Cyageonmod 12.1

Maybe that's the interesting part?

W/AudioRecorder(23580): java.io.IOException: Bad MAC
W/AudioRecorder(23580): at org.thoughtcrime.securesms.crypto.DecryptingPartInputStream.verifyMac(DecryptingPartInputStream.java:93)
W/AudioRecorder(23580): at org.thoughtcrime.securesms.crypto.DecryptingPartInputStream.createFor(DecryptingPartInputStream.java:55)
W/AudioRecorder(23580): at org.thoughtcrime.securesms.providers.PersistentBlobProvider.getStream(PersistentBlobProvider.java:150)
W/AudioRecorder(23580): at org.thoughtcrime.securesms.mms.PartAuthority.getAttachmentStream(PartAuthority.java:52)
W/AudioRecorder(23580): at org.thoughtcrime.securesms.util.MediaUtil.getMediaSize(MediaUtil.java:130)
W/AudioRecorder(23580): at org.thoughtcrime.securesms.audio.AudioRecorder$2.run(AudioRecorder.java:86)
W/AudioRecorder(23580): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
W/AudioRecorder(23580): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
W/AudioRecorder(23580): at java.lang.Thread.run(Thread.java:818)

Device info: Huawei Nexus 6P
Android version: 7.1.2
Signal version: 4.8.1
Debug log: https://gist.github.com/37b5107295682366fb2c50cb0b209a40

I don't have the debug log but this randomly happens on:

  • Samsung Galaxy J7 on 6.0
  • Samsung Galaxy S8 on 6.0
  • Other non-Samsung Android 7.1 devices.

Please fix that. Also, this specific architecture is probably wrong. You can't let a person think he is recording something and only we he finished, show him the error. It is extremely frustrating, especially for audio-focused chats.

Thanks!

If have the feeling, this is getting more and more.
It is super annoying, I also never had a voicemessage longer than 90 seconds, because every longer message I tried, failed...

Is there anyone investigating this bug?

I use a Oneplus2, with LineAge OS, without Google services installed.

This is the only and most enraging bug I have ever experienced with Signal. Its been almost a year... If this isnt top priority I would suggest you make it so... Thanks.

@PCSmith Please read the contributing guidelines before posting here again. Comments like these only make less time for work to be done.

Oh dont get butt-hurt over pain-point and prioritization feedback from a huge fan of the project. <3

GitHub Issue Cleanup:
See #7598 for more information.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

j3fffff picture j3fffff  路  3Comments

jult picture jult  路  3Comments

vvug picture vvug  路  3Comments

FeuRenard picture FeuRenard  路  3Comments

Dyras picture Dyras  路  3Comments