[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Taler] Nexus fails with transaction over 0.000001 units
From: |
Florian Jung |
Subject: |
[Taler] Nexus fails with transaction over 0.000001 units |
Date: |
Mon, 26 Dec 2022 22:59:24 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 |
Hi,
when I create a transaction over 0.000001 units, the nexus fails to pick
up the transaction via ebics. Instead, it throws EBICS_PROCESSING_ERROR.
(Full stack trace below; my libeufin version is ~1-2 weeks old, you can
find it at https://github.com/Windfisch/libeufin)
This locks the nexus up until I manually delete this transaction from
the database.
This could actually be a very critical bug, since the exchange cannot do
anything against someone wiring such an amount to the exchange's
account, resulting in a Denial-of-Service.
Could you please provide me insight why this happens and how I can work
around this for now?
Thanks/Cheers!
Florian
---snip---
libeufin_nexus_1 | 21:50:31.415 [DefaultDispatcher-worker-2] ERROR
tech.libeufin.nexus - Exception during task TaskSchedule(taskId=2,
name=fetch-reports-each-second, type=fetch, resourceType=bank-account,
resourceId=nickname, params=
{
libeufin_nexus_1 | "rangeType" : "latest",
libeufin_nexus_1 | "level" : "report"
libeufin_nexus_1 | })
libeufin_nexus_1 | tech.libeufin.util.EbicsProtocolError: unexpected
return code EBICS_PROCESSING_ERROR
libeufin_nexus_1 | at
tech.libeufin.nexus.ebics.EbicsClientKt.doEbicsDownloadTransaction(EbicsClient.kt:102)
libeufin_nexus_1 | at
tech.libeufin.nexus.ebics.EbicsClientKt$doEbicsDownloadTransaction$1.invokeSuspend(EbicsClient.kt)
libeufin_nexus_1 | at
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
libeufin_nexus_1 | at
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
libeufin_nexus_1 | at
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
libeufin_nexus_1 | at
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
libeufin_nexus_1 | at
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
libeufin_nexus_1 | at
io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
libeufin_nexus_1 | at
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
libeufin_nexus_1 | at
kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
libeufin_nexus_1 | at
kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
libeufin_nexus_1 | at
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
libeufin_nexus_1 | at
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
libeufin_nexus_1 | at
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Taler] Nexus fails with transaction over 0.000001 units,
Florian Jung <=