Crash on class com.goterl.lazysodium.interfaces.SecretStream$State$ByReference
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Área
- mobile-dev, security
Línea de trabajo
Comienza con LogEncrypter.kt en las líneas 27 y 58; después inspecciona SecretStream.State y su tipo ByReference en lazysodium-java. Compara el fallo con el problema de incompatibilidad de JNA 5.17.0 enlazado y reproduce la ruta de cifrado de init-push. Se considera terminado cuando las subidas de logs cifrados ya no se bloqueen por errores de orden de campos de Structure.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
We got few crashes in WCAndroid.
java.lang.Error: Structure.getFieldOrder() on class com.goterl.lazysodium.interfaces.SecretStream$State$ByReference returns names ([_pad, k, nonce]) which do not match declared field names ([_pad, k])
at com.sun.jna.Structure.getFields(Structure.java:1161)
at com.sun.jna.Structure.deriveLayout(Structure.java:1340)
at com.sun.jna.Structure.calculateSize(Structure.java:1237)
at com.sun.jna.Structure.allocateMemory(Structure.java:420)
at com.sun.jna.Structure.ensureAllocated(Structure.java:396)
at com.sun.jna.Structure.ensureAllocated(Structure.java:386)
at com.sun.jna.Structure.write(Structure.java:795)
at com.sun.jna.Structure.autoWrite(Structure.java:2360)
at com.goterl.lazysodium.Sodium.crypto_secretstream_xchacha20poly1305_init_push(Sodium.java)
at com.goterl.lazysodium.LazySodium.cryptoSecretStreamInitPush(LazySodium.java:1284)
at com.automattic.encryptedlogging.model.encryptedlogging.LogEncrypter.buildHeader(LogEncrypter.kt:58)
at com.automattic.encryptedlogging.model.encryptedlogging.LogEncrypter.encrypt(LogEncrypter.kt:28)
at com.automattic.encryptedlogging.store.EncryptedLogStore.uploadEncryptedLog(EncryptedLogStore.kt:138)
at com.automattic.encryptedlogging.store.EncryptedLogStore.uploadNext(EncryptedLogStore.kt:118)
at com.automattic.encryptedlogging.store.EncryptedLogStore.access$isUploadAvailable(EncryptedLogStore.kt:33)
at com.automattic.encryptedlogging.store.EncryptedLogStore.access$uploadNext(EncryptedLogStore.kt:33)
at com.automattic.encryptedlogging.store.EncryptedLogStore$uploadNext$1.invokeSuspend(EncryptedLogStore.kt:0)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
and/or...
java.lang.Error: Structure.getFieldOrder() on class com.goterl.lazysodium.interfaces.SecretStream$State$ByReference returns names ([_pad, k, nonce]) which do not match declared field names ([_pad, nonce])
at com.sun.jna.Structure.getFields(Structure.java:1161)
at com.sun.jna.Structure.deriveLayout(Structure.java:1340)
at com.sun.jna.Structure.calculateSize(Structure.java:1237)
at com.sun.jna.Structure.calculateSize(Structure.java:1183)
at com.sun.jna.Structure.allocateMemory(Structure.java:433)
at com.sun.jna.Structure.<init>(Structure.java:223)
at com.sun.jna.Structure.<init>(Structure.java:211)
at com.sun.jna.Structure.<init>(Structure.java:198)
at com.sun.jna.Structure.<init>(Structure.java:190)
at com.goterl.lazysodium.interfaces.SecretStream$State.<init>(SecretStream.java:260)
at com.goterl.lazysodium.interfaces.SecretStream$State$ByReference.<init>(SecretStream.java:262)
at com.automattic.encryptedlogging.model.encryptedlogging.LogEncrypter.encrypt(LogEncrypter.kt:27)
at com.automattic.encryptedlogging.store.EncryptedLogStore.uploadEncryptedLog(EncryptedLogStore.kt:138)
at com.automattic.encryptedlogging.store.EncryptedLogStore.uploadNext(EncryptedLogStore.kt:118)
at com.automattic.encryptedlogging.store.EncryptedLogStore.access$isUploadAvailable(EncryptedLogStore.kt:33)
at com.automattic.encryptedlogging.store.EncryptedLogStore.access$uploadNext(EncryptedLogStore.kt:33)
at com.automattic.encryptedlogging.store.EncryptedLogStore$uploadNext$1.invokeSuspend(EncryptedLogStore.kt:0)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
...plus other combinations like that, ie [_pad], [k, nonce], versus [_pad, k, nonce], although less frequent... 🤔
Reports:
FYI: jna 5.17.0 Incompatibility with lazysodium-java 5.2.0 #142
- Lenguaje dominante
- Kotlin
- Estrellas
- 3
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Automattic/EncryptedLogging
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Todos los issues de Automattic/EncryptedLogging
Issues similares
-
good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Bookmarking an article that is already bookmarked under its redirect URL deletes both bookmarksPosiblemente ocupada @aakarshitv la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
kiwix/kiwix-android#5176 ·
Los mantenedores suelen responder en 1 día
-
[Device support] OPPO CPH2773Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
d4rken-org/amply#135 ·
Los mantenedores suelen responder en 1 día
-
[c7#258] fix(embedded): scheduled user task delivery runs on the service task worker executorAbiertoSource: c7 Type: bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
navikt/esyfo-narmesteleder#654 ·
Los mantenedores suelen responder en 1 día