View Issue Details

IDProjectCategoryView StatusLast Update
0007480Talerwallet (Android App)public2023-01-26 22:53
Reportersebasjm Assigned Togrote  
PriorityhighSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.9.1Fixed in Version0.9.1 
Summary0007480: 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]
TagsNo tags attached.

Relationships

has duplicate 0007489 closedgrote wallet crashes when trying to list exchanges 
has duplicate 0007491 closedgrote Android app dead after trying to withdraw bitcoin 

Activities

grote

2022-11-17 18:50

developer   ~0019437

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)

grote

2023-01-03 14:01

developer   ~0019550

fixed in 43ad014f54c50fc2fa1cda3e1d6e24229637ad02

Issue History

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