View Issue Details

IDProjectCategoryView StatusLast Update
0007454Talerwallet (Android App)public2023-02-23 16:06
ReporterChristian Grothoff 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 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Version0.9 
Target Version0.9.2Fixed in Version0.9.2 
Summary0007454: p2p payments hang if subject includes a smiley
DescriptionThanks to Reto Koenig for reporting. Not sure if this is wallet-core or Android UI.
Steps To ReproduceDo p2p push/pull payment, enter a smiley/emoji.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0007554 closedavalos migrate Android wallet to quickjs Taler runtime 

Activities

Florian Dold

2023-01-04 13:23

manager   ~0019566

I've added emojis to the subject in the p2p and merchant integration tests of wallet core now, works with no issues.

This must be a UI problem.

We even already had other unicode characters in integration tests before.

grote

2023-01-05 16:13

reporter   ~0019579

Maybe something in akono?

I am sending this:

{
  "amount": "KUDOS:1",
  "partialContractTerms": {
    "amount": "KUDOS:1",
    "summary": "�",
    "purse_expiration": {
      "t_s": 1673194082
    }
  }
}

and what I am getting from akono-jni.cpp is this:

(node:21705) UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token  in JSON at position 168
at JSON.parse (<anonymous>)
at Object.<anonymous> (/vmod/@gnu-taler/taler-wallet-embedded:55330:26)
at Generator.next (<anonymous>)
at /vmod/@gnu-taler/taler-wallet-embedded:80:71
at new Promise (<anonymous>)
at __awaiter (/vmod/@gnu-taler/taler-wallet-embedded:76:12)
at onMessage (/vmod/@gnu-taler/taler-wallet-embedded:55325:35)
at eval (eval at global.__native_run ([eval]:1:78), <anonymous>:3:10)
at eval (<anonymous>)
at global.__native_run ([eval]:1:78)

So this sounds like something at the node layer to me.

grote

2023-01-05 16:18

reporter   ~0019580

Also kinda bad that things just hang because akono/wallet-core are not returning an error at all:

node:21705) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)

Florian Dold

2023-01-06 13:01

manager   ~0019589

That might be a bug in akono, but I don't think we want to debug akono/nodejs.

Instead, we should first move to the quickjs Taler runtime.

@Christian: For which release should we prioritize that now, since there are already severe bugs depending on it?

Christian Grothoff

2023-01-06 13:51

manager   ~0019591

Tough one. I'd still target it for 0.9.4, but of course if it happens faster, no problem ;-)

Christian Grothoff

2023-01-06 13:51

manager   ~0019592

Is there a bug open on quickjs we can put these as child bugs to?

Florian Dold

2023-01-06 14:44

manager   ~0019598

I've linked the Android/quickjs issue

avalos

2023-01-12 18:57

developer   ~0019640

Maybe this could be relevant: https://stackoverflow.com/q/10142050

avalos

2023-01-12 18:59

developer   ~0019641

Actually, this seems more relevant: https://stackoverflow.com/a/594881

> The ability for JSON encoders to use the numeric escape sequences instead just offers you more choice. One reason you may choose the numeric escape sequences would be if a transport mechanism in between your encoder and the intended decoder is not binary-safe.

avalos

2023-02-01 00:23

developer   ~0019727

This seems not to be an issue with QuickJS.

Christian Grothoff

2023-02-01 12:14

manager   ~0019730

So .... bug resolved?

avalos

2023-02-01 13:30

developer   ~0019731

I'd say it gets resolved until the QuickJS branch gets merged. It still has some issues, but it's not far from being ready.

grote

2023-02-22 11:36

reporter   ~0019900

Resolved by replacing akono with qtart in https://git.taler.net/taler-android.git/commit/?id=58945aee06efa9f73b93cda654349414fec23b07 and following.

Issue History

Date ModifiedUsernameFieldChange
2022-11-14 11:50Christian GrothoffNew Issue
2022-11-14 11:50Christian GrothoffStatusnew => assigned
2022-11-14 11:50Christian GrothoffAssigned To => Florian Dold
2023-01-04 13:22Florian DoldAssigned ToFlorian Dold => grote
2023-01-04 13:23Florian DoldNote Added: 0019566
2023-01-05 16:13groteAssigned Togrote => Florian Dold
2023-01-05 16:13groteStatusassigned => feedback
2023-01-05 16:13groteNote Added: 0019579
2023-01-05 16:18groteNote Added: 0019580
2023-01-06 13:01Florian DoldNote Added: 0019589
2023-01-06 13:01Florian DoldAssigned ToFlorian Dold => Christian Grothoff
2023-01-06 13:51Christian GrothoffNote Added: 0019591
2023-01-06 13:51Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2023-01-06 13:51Christian GrothoffNote Added: 0019592
2023-01-06 13:51Christian GrothoffStatusfeedback => assigned
2023-01-06 14:44Florian DoldRelationship addedrelated to 0007554
2023-01-06 14:44Florian DoldNote Added: 0019598
2023-01-12 16:01Florian DoldAssigned ToFlorian Dold => grote
2023-01-12 18:57avalosNote Added: 0019640
2023-01-12 18:59avalosNote Added: 0019641
2023-01-17 17:12Christian GrothoffTarget Version0.9.1 => 0.9.2
2023-02-01 00:23avalosNote Added: 0019727
2023-02-01 12:14Christian GrothoffNote Added: 0019730
2023-02-01 13:30avalosNote Added: 0019731
2023-02-22 11:36groteStatusassigned => informing
2023-02-22 11:36groteResolutionopen => fixed
2023-02-22 11:36groteNote Added: 0019900
2023-02-23 16:06Christian GrothoffStatusinforming => closed
2023-02-23 16:06Christian GrothoffFixed in Version => 0.9.2