View Issue Details

IDProjectCategoryView StatusLast Update
0009339Talerexchangepublic2024-12-13 18:15
ReporterFlorian Dold Assigned ToFlorian Dold 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
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Target Version0.14Fixed in Version0.14 
Summary0009339: some exchange endpoints to not handle NULL jnew_rules
DescriptionThe /kyc-info endpoint crashes the when jnew_rules is NULL.

Other places in the code might also not handle it well.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Christian Grothoff

2024-11-20 22:59

manager   ~0023739

I've double-checked taler-exchange-httpd_kyc-info.c, and sebastian fixed a segv just hours *before* this bug was submitted.

I fixed a wrong hard error log (GNUNET_break_op()) on this path in 4dedd235d..b18069097, but I really cannot see a segv path from new_rules (or lrs) being NULL.

Florian Dold

2024-11-21 18:37

manager   ~0023743

It does crash:

commit 3090d60068a6a4a3441fd0e6481190a03c407847 (HEAD -> master, origin/master, origin/HEAD)
Author: Florian Dold <florian@dold.me>
Date: Thu Nov 21 19:35:26 2024 +0100

    harness: extend test-kyc-decision to provoke exchange crash

Florian Dold

2024-11-21 18:38

manager   ~0023744

Actually ... it crashes in batch-deposit, so some other bug.

Florian Dold

2024-11-21 18:50

manager   ~0023745

Reproducer:

$ taler-harness run-integrationtests kyc-decision

(Test is *incomplete*, but crashes the exchange.)

Christian Grothoff

2024-11-21 22:49

manager   ~0023746

$ taler-harness run-integrationtests kyc-decision
2024-11-21T22:48:58.765Z testrunner.ts INFO purging shared test environment
testsuite root directory: /tmp/taler-integrationtests-HjubIp
See /tmp/taler-integrationtests-HjubIp/results.json for details
Skipped: 0/0
Failed: 0/0
Passed: 0/0
I get that, instantly. Nothing is run, no exchange is even started...

Florian Dold

2024-11-22 15:58

manager   ~0023747

I forgot the "s", it's

$ taler-harness run-integrationtests kyc-decisions

Christian Grothoff

2024-11-22 16:03

manager   ~0023748

Crash fixed. Bug fixed?

Florian Dold

2024-12-04 17:42

manager   ~0023786

I can still reproduce this, via an integration test that Sebastian contributed.

The test is meant to test something else, but:

$ taler-harness run-integrationtests kyc-two-forms
[ test fails ]

In the exchange logs:
2024-12-04T16:41:28.692004+0100 taler-exchange-httpd-1480242(58HP97JXRV6A2ZN76A0HT7R1G8) ERROR NULL field encountered for `jnew_rules' where non-NULL was required
2024-12-04T16:41:28.692050+0100 taler-exchange-httpd-1480242(58HP97JXRV6A2ZN76A0HT7R1G8) ERROR Assertion failed at taler-exchange-httpd_kyc-info.c:613.

Florian Dold

2024-12-06 10:22

manager   ~0023804

With the latest exchange, not reproducible anymore.

Florian Dold

2024-12-06 10:26

manager   ~0023805

Actually, it's still in the logs, just alongside other errors :-(

Florian Dold

2024-12-06 10:50

manager   ~0023806

*Now* it should be fixed.

Issue History

Date ModifiedUsernameFieldChange
2024-11-14 21:17Florian DoldNew Issue
2024-11-14 21:17Florian DoldStatusnew => assigned
2024-11-14 21:17Florian DoldAssigned To => Florian Dold
2024-11-20 22:59Christian GrothoffNote Added: 0023739
2024-11-20 22:59Christian GrothoffStatusassigned => feedback
2024-11-21 18:37Florian DoldNote Added: 0023743
2024-11-21 18:38Florian DoldNote Added: 0023744
2024-11-21 18:50Florian DoldNote Added: 0023745
2024-11-21 18:50Florian DoldAssigned ToFlorian Dold => Christian Grothoff
2024-11-21 22:49Christian GrothoffNote Added: 0023746
2024-11-21 22:49Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2024-11-22 15:58Florian DoldNote Added: 0023747
2024-11-22 15:58Florian DoldAssigned ToFlorian Dold => Christian Grothoff
2024-11-22 16:03Christian GrothoffNote Added: 0023748
2024-11-22 16:03Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2024-12-04 17:42Florian DoldNote Added: 0023786
2024-12-06 10:22Florian DoldAssigned ToFlorian Dold => Christian Grothoff
2024-12-06 10:22Florian DoldStatusfeedback => informing
2024-12-06 10:22Florian DoldResolutionopen => fixed
2024-12-06 10:22Florian DoldNote Added: 0023804
2024-12-06 10:26Florian DoldAssigned ToChristian Grothoff => Florian Dold
2024-12-06 10:26Florian DoldStatusinforming => assigned
2024-12-06 10:26Florian DoldNote Added: 0023805
2024-12-06 10:50Florian DoldStatusassigned => informing
2024-12-06 10:50Florian DoldNote Added: 0023806
2024-12-13 00:59Christian GrothoffFixed in Version => 0.14
2024-12-13 18:15Christian GrothoffStatusinforming => closed