View Issue Details

IDProjectCategoryView StatusLast Update
0007480Talerwallet (Android App)public2023-01-26 21:53
Reportersebasjm Assigned Togrote Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
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.

Required notifications

Address or linkRemarkAdded byNotifiedActions

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 17:50

reporter   ~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 13:01

reporter   ~0019550

fixed in 43ad014f54c50fc2fa1cda3e1d6e24229637ad02

Issue History

Date ModifiedUsernameFieldChange
2022-11-17 17:43sebasjmNew Issue
2022-11-17 17:43sebasjmStatusnew => assigned
2022-11-17 17:43sebasjmAssigned To => grote
2022-11-17 17:50groteNote Added: 0019437
2022-11-17 19:24sebasjmTarget Versiongit (master) => 0.9.1
2022-12-20 17:26Christian GrothoffTarget Version0.9.1 => 0.9.2
2023-01-03 13:01groteStatusassigned => informing
2023-01-03 13:01groteResolutionopen => fixed
2023-01-03 13:01groteNote Added: 0019550
2023-01-03 13:03groteRelationship addedhas duplicate 0007489
2023-01-03 13:46groteRelationship addedhas duplicate 0007491
2023-01-06 14:52Christian GrothoffTarget Version0.9.2 => 0.9.1
2023-01-06 14:53Christian GrothoffFixed in Version => 0.9.1
2023-01-26 21:53Christian GrothoffStatusinforming => closed