View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004433 | Taler | merchant backend | public | 2016-04-16 22:31 | 2024-01-12 14:05 |
Reporter | Florian Dold | Assigned To | Florian Dold | ||
Priority | urgent | Severity | block | Reproducibility | random |
Status | closed | Resolution | fixed | ||
Product Version | 0.0 | ||||
Target Version | 0.0 | Fixed in Version | 0.0 | ||
Summary | 0004433: merchant /pay times out; leaving backend unresponsive | ||||
Description | This seems to be a problem that has occurred on a regular basis. It is probably caused by a bug in the event handling logic of the backend, where we integrate libcurl, microhttpd and the GNUnet scheduler. | ||||
Tags | No tags attached. | ||||
related to | 0004465 | closed | Florian Dold | merchant backend gives weird responses to the wallet before it has contracted its trusted exchanges |
related to | 0004444 | closed | Florian Dold | revise retry semantics for exchanges in merchant |
|
I've not yet seen this, but I've added logging to aid diagnostic of this issue in 87f8579..9213442 |
|
So pay is being suspended and not resumed, but the exchange that we're contacting seems to be fine. Still not sure why this is happening ... Apr 17 16:58:31-788587 taler-merchant-httpd-16682 DEBUG Handling request for URL `/pay' Apr 17 16:58:31-788598 taler-merchant-httpd-16682 DEBUG In handler for /pay. Apr 17 16:58:31-788751 taler-merchant-httpd-16682 DEBUG Parsed JSON for /pay. Apr 17 16:58:31-799610 taler-merchant-httpd-16682 DEBUG Coin #0 has f PUDOS:0.1 Apr 17 16:58:31-800183 taler-merchant-httpd-16682 DEBUG Trying to find chosen exchange `https://exchange.test.taler.net/' Apr 17 16:58:31-800216 taler-merchant-httpd-16682 DEBUG Suspending /pay handling while working with the exchange Apr 17 16:58:31-800237 taler-merchant-httpd-16682 DEBUG Adding run_daemon select task |
|
BTW, if you want to have a look at the logs yourself, we log with export GNUNET_FORCE_LOG="taler;;;;DEBUG/" on test.taler.net:taler-*.log |
|
I think I found the underlying issue. If the exchange isn't ready when the merchant is started, the exchange is flagged as is_pending=GNUNET_SYSERR, that is, as failed. But when we then try again, and the retry timeout isn't over, we'll just to nothing, and no response is returned. We also don't schedule any retry in that case. |
|
I can confirm this, the problem only occurs if the merchant is started before the exchange. |
|
So why is this "resolved"? Was there a change in the code to fix it? |
|
This was at least partially fixed in commits 23d94a0..00539cd to the merchant and your libgnunetcurl API change. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-04-16 22:31 | Florian Dold | New Issue | |
2016-04-16 22:31 | Florian Dold | Status | new => assigned |
2016-04-16 22:31 | Florian Dold | Assigned To | => Marcello Stanisci |
2016-04-17 16:24 | Christian Grothoff | Note Added: 0010497 | |
2016-04-17 17:01 | Florian Dold | Note Added: 0010498 | |
2016-04-17 17:02 | Florian Dold | Note Added: 0010499 | |
2016-04-17 17:22 | Florian Dold | Priority | high => urgent |
2016-04-17 17:22 | Florian Dold | Severity | major => block |
2016-04-19 00:45 | Florian Dold | Note Added: 0010510 | |
2016-04-19 01:25 | Florian Dold | Note Added: 0010511 | |
2016-04-19 02:42 | Florian Dold | Status | assigned => resolved |
2016-04-19 02:42 | Florian Dold | Resolution | open => fixed |
2016-04-19 02:42 | Florian Dold | Assigned To | Marcello Stanisci => Florian Dold |
2016-04-24 23:44 | Christian Grothoff | Fixed in Version | => 0.0 |
2016-05-04 06:43 | Christian Grothoff | Note Added: 0010622 | |
2016-05-04 09:14 | Florian Dold | Relationship added | related to 0004465 |
2016-05-04 09:14 | Florian Dold | Relationship added | related to 0004444 |
2016-05-04 09:15 | Florian Dold | Note Added: 0010623 | |
2016-05-04 09:33 | Christian Grothoff | Status | resolved => closed |
2024-01-12 14:05 | Christian Grothoff | Category | merchant backend API (C) => mechant backend |
2025-03-22 14:09 | Christian Grothoff | Category | mechant backend => merchant backend |