View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0010158 | Taler | exchange | public | 2025-07-08 17:07 | 2025-07-08 23:22 |
Reporter | sebasjm | Assigned To | Christian Grothoff | ||
Priority | high | Severity | crash | Reproducibility | always |
Status | assigned | Resolution | open | ||
Target Version | 1.0 stretch goals | ||||
Summary | 0010158: exchange didn't recover well after fail | ||||
Description | I 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 | ||||
Tags | No tags attached. | ||||
|
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. |
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 |