View Issue Details

IDProjectCategoryView StatusLast Update
0010158Talerexchangepublic2025-07-08 23:22
Reportersebasjm Assigned ToChristian Grothoff  
PriorityhighSeveritycrashReproducibilityalways
Status assignedResolutionopen 
Target Version1.0 stretch goals 
Summary0010158: exchange didn't recover well after fail
DescriptionI had a merchant which was doing KYC, when to KYC form to download TOS and when the merchant submitted the data my script failed

Jul 08 12:00:14 taler-exchange-httpd[1004553]: DEBUG select timeout = Tue Jul 08 12:00:24 2025
Jul 08 12:00:14 taler-exchange-httpd[1135418]: /bin/sh: 1: mktemp: not found
Jul 08 12:00:14 taler-exchange-httpd[1135418] node:internal/errors:983
Jul 08 12:00:14 taler-exchange-httpd[1135418]: const err = new Error(message);
Jul 08 12:00:14 taler-exchange-httpd[1135418] ^
Jul 08 12:00:14 taler-exchange-httpd[1135418]: Error: Command failed: mktemp /tmp/taler-log-error-XXXXX.in
Jul 08 12:00:14 taler-exchange-httpd[1135418]: /bin/sh: 1: mktemp: not found

this is because i limited the PATH which is fine, I fixed the problem and submitted again the merchant form expecting the exchange to continue the process like nothing happened. But it failed

Jul 08 12:01:29 taler-exchange-httpd[1004553]: (Q65D6N2AY4C6KD8KZCBNX0DM2W) INFO Handling request (POST) for URL '/kyc-upload/J5B3FWEC3KN0441M4ATGCW9ZG4ZBFB1SB0H44CG81421KB5R5S90-0-1'
Jul 08 12:01:29 taler-exchange-httpd[1004553]: (Q65D6N2AY4C6KD8KZCBNX0DM2W) INFO Handling request (POST) for URL '/kyc-upload/J5B3FWEC3KN0441M4ATGCW9ZG4ZBFB1SB0H44CG81421KB5R5S90-0-1'
Jul 08 12:01:29 taler-exchange-httpd[1004553]: (Q65D6N2AY4C6KD8KZCBNX0DM2W) INFO Handling request (POST) for URL '/kyc-upload/J5B3FWEC3KN0441M4ATGCW9ZG4ZBFB1SB0H44CG81421KB5R5S90-0-1'
Jul 08 12:01:29 taler-exchange-httpd[1004553]: (Q65D6N2AY4C6KD8KZCBNX0DM2W) INFO /kyc-upload received form submission
Jul 08 12:01:29 taler-exchange-httpd[1004553] {
Jul 08 12:01:29 taler-exchange-httpd[1004553]: "DOWNLOADED_TERMS_OF_SERVICE": true,
Jul 08 12:01:29 taler-exchange-httpd[1004553]: "ACCEPTED_TERMS_OF_SERVICE": "exchange-tos-v1",
Jul 08 12:01:29 taler-exchange-httpd[1004553]: "FORM_ID": "accept-tos",
Jul 08 12:01:29 taler-exchange-httpd[1004553]: "FORM_VERSION": 1,
Jul 08 12:01:29 taler-exchange-httpd[1004553]: "FORM_CONTEXT": {
Jul 08 12:01:29 taler-exchange-httpd[1004553]: "tos_url": "http://exchange.taler.test/terms",
Jul 08 12:01:29 taler-exchange-httpd[1004553]: "tosVersion": "exchange-tos-v1",
Jul 08 12:01:29 taler-exchange-httpd[1004553]: "provider_name": "Taler Operations AR"
Jul 08 12:01:29 taler-exchange-httpd[1004553] }
Jul 08 12:01:29 taler-exchange-httpd[1004553]: }(Q65D6N2AY4C6KD8KZCBNX0DM2W) DEBUG Running prepared statement `lookup_completed_legitimization' on 0x625685662c10
Jul 08 12:01:29 taler-exchange-httpd[1004553]: (Q65D6N2AY4C6KD8KZCBNX0DM2W) DEBUG Executing prepared SQL statement `lookup_completed_legitimization'
Jul 08 12:01:29 taler-exchange-httpd[1004553]: (Q65D6N2AY4C6KD8KZCBNX0DM2W) DEBUG Execution of prepared SQL statement `lookup_completed_legitimization' finished (PGRES_TUPLES_OK)
Jul 08 12:01:29 taler-exchange-httpd[1004553]: (Q65D6N2AY4C6KD8KZCBNX0DM2W) ERROR Statement lookup_completed_legitimization returned more than one result, but there must be at most one when using GNUNET_PQ_eval_prepared_singleton_select
Jul 08 12:01:29 taler-exchange-httpd[1004553]: (Q65D6N2AY4C6KD8KZCBNX0DM2W) ERROR Assertion failed at ../src/lib/pq/pq_eval.c:234.
Jul 08 12:01:29 taler-exchange-httpd[1004553]: (Q65D6N2AY4C6KD8KZCBNX0DM2W) ERROR Assertion failed at taler-exchange-httpd_kyc-upload.c:293.
Jul 08 12:01:29 taler-exchange-httpd[1004553]: (Q65D6N2AY4C6KD8KZCBNX0DM2W) INFO Request for `/kyc-upload/J5B3FWEC3KN0441M4ATGCW9ZG4ZBFB1SB0H44CG81421KB5R5S90-0-1' completed with HTTP status 500 (0)


Merchant can't continue and is very sad

TagsNo tags attached.

Activities

Christian Grothoff

2025-07-08 23:22

manager   ~0025449

Investigation:

lm.legitimization_measure_serial_id is UNIQUE.
kt.access_token is NOT UNIQUE, but created via random_bytes() and SHOULD be UNIQUE. -> check?
lp.legitimization_process_serial_id is UNIQUE.
kyc_attributes table lacks a UNIQUE constraint on legitimization_serial.
  => That could, theoretically, be one cause for multiple results.

Issue History

Date Modified Username Field Change
2025-07-08 17:07 sebasjm New Issue
2025-07-08 21:51 Christian Grothoff Assigned To => Christian Grothoff
2025-07-08 21:51 Christian Grothoff Status new => assigned
2025-07-08 23:08 Christian Grothoff Priority normal => high
2025-07-08 23:22 Christian Grothoff Note Added: 0025449