-
Notifications
You must be signed in to change notification settings - Fork 5
Getting OOM on encryptShared method in android SDK #69
Description
When trying to encrypt multiple files that are fairly large - around 60MB each, the SDK returns an OOM
2023-12-11T06:43:34.658000+00:00 global.spectrum.connect: 6576:21388 W/System.err: java.lang.OutOfMemoryError: Failed to allocate a 92143632 byte allocation with 24744056 free bytes and 23MB until OOM, target footprint 268435456, growth limit 268435456
2023-12-11T06:43:34.658000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at java.util.Arrays.copyOf(Arrays.java:3578)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at com.virgilsecurity.android.common.worker.StreamsEncryptWorker.encryptShared$ethree_common_release(StreamsEncryptWorker.kt:48)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at com.virgilsecurity.android.common.EThreeCore.encryptShared(EThreeCore.kt:20)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at z3.g.i(FileEncryption.kt:109)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:120)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:95)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:156)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at java.io.OutputStream.write(OutputStream.java:127)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21438 I/Card: Signature 'self' has no additional data
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at com.virgilsecurity.sdk.crypto.VirgilCrypto.processEncryption(VirgilCrypto.java:21)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at com.virgilsecurity.sdk.crypto.VirgilCrypto.encrypt(VirgilCrypto.java:24)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at com.virgilsecurity.sdk.crypto.VirgilCrypto.authEncrypt(VirgilCrypto.java:8)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at com.virgilsecurity.sdk.crypto.VirgilCrypto.authEncrypt(VirgilCrypto.java:5)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at com.virgilsecurity.android.common.worker.StreamsEncryptWorker.encryptShared$ethree_common_release(StreamsEncryptWorker.kt:48)
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21438 I/Card: Signature 'virgil' has no additional data
2023-12-11T06:43:34.659000+00:00 global.spectrum.connect: 6576:21388 W/System.err: at com.virgilsecurity.android.common.EThreeCore.encryptShared(EThreeCore.kt:20)
Please let me know if there is a workaround for this, thanks
Additional information,
SDK in use: com.virgilsecurity:ethree:2.0.10
Android OS: 13
Model: Google Pixel 4a