View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007480 | Taler | wallet (Android App) | public | 2022-11-17 18:43 | 2023-01-26 22:53 |
Reporter | sebasjm | Assigned To | grote | ||
Priority | high | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | git (master) | ||||
Target Version | 0.9.1 | Fixed in Version | 0.9.1 | ||
Summary | 0007480: exchange crash: opening the app before kudos exchange is added | ||||
Description | type: crash osVersion: google/sunfish/sunfish:13/TP1A.221105.002/2022111000:user/release-keys package: net.taler.wallet.fdroid:20 process: net.taler.wallet.fdroid java.lang.AssertionError: Wallet core failed to return exchanges! at net.taler.wallet.exchanges.ExchangeManager$list$1$1.invoke(ExchangeManager.kt:2) at net.taler.wallet.exchanges.ExchangeManager$list$1$1.invoke(ExchangeManager.kt:1) at net.taler.wallet.backend.WalletResponse.onError(WalletResponse.kt:17) at net.taler.wallet.exchanges.ExchangeManager$list$1.invokeSuspend(ExchangeManager.kt:62) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:9) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:107) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7904) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ExecInit.main(ExecInit.java:49) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355) Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@142c24c, Dispatchers.Main.immediate] | ||||
Tags | No tags attached. | ||||
|
From Florian: This can actually happen. We were hiding this case before, but that was effectively hiding errors that we can now surface to the user. Example: We have "exchange.demo.taler.net" as a built-in trusted exchange for "KUDOS". When the wallet starts the first time, we have never contacted "exchange.demo.taler.net" before, so we technically don't know its actual supported currency yet. But we still want it included in the getExchanges response, so that we can surface errors when updating the exchange /keys and /wire info fails. Thus it'll have status "unknown" and no currency. (We could also report the currency as KUDOS in this case, but we still would have the "unknown" case for other attributes of the exchange) |
|
fixed in 43ad014f54c50fc2fa1cda3e1d6e24229637ad02 |
Date Modified | Username | Field | Change |
---|---|---|---|
2022-11-17 18:43 | sebasjm | New Issue | |
2022-11-17 18:43 | sebasjm | Status | new => assigned |
2022-11-17 18:43 | sebasjm | Assigned To | => grote |
2022-11-17 18:50 | grote | Note Added: 0019437 | |
2022-11-17 20:24 | sebasjm | Target Version | git (master) => 0.9.1 |
2022-12-20 18:26 | Christian Grothoff | Target Version | 0.9.1 => 0.9.2 |
2023-01-03 14:01 | grote | Status | assigned => resolved |
2023-01-03 14:01 | grote | Resolution | open => fixed |
2023-01-03 14:01 | grote | Note Added: 0019550 | |
2023-01-03 14:03 | grote | Relationship added | has duplicate 0007489 |
2023-01-03 14:46 | grote | Relationship added | has duplicate 0007491 |
2023-01-06 15:52 | Christian Grothoff | Target Version | 0.9.2 => 0.9.1 |
2023-01-06 15:53 | Christian Grothoff | Fixed in Version | => 0.9.1 |
2023-01-26 22:53 | Christian Grothoff | Status | resolved => closed |