View Issue Details

IDProjectCategoryView StatusLast Update
0004433Talermerchant backendpublic2024-01-12 13:05
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
PriorityurgentSeverityblockReproducibilityrandom
Status closedResolutionfixed 
Product Version0.0 
Target Version0.0Fixed in Version0.0 
Summary0004433: merchant /pay times out; leaving backend unresponsive
DescriptionThis 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.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0004465 closedFlorian Dold merchant backend gives weird responses to the wallet before it has contracted its trusted exchanges 
related to 0004444 closedFlorian Dold revise retry semantics for exchanges in merchant 

Activities

Christian Grothoff

2016-04-17 14:24

manager   ~0010497

I've not yet seen this, but I've added logging to aid diagnostic of this issue in 87f8579..9213442

Florian Dold

2016-04-17 15:01

manager   ~0010498

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

Florian Dold

2016-04-17 15:02

manager   ~0010499

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

Florian Dold

2016-04-18 22:45

manager   ~0010510

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.

Florian Dold

2016-04-18 23:25

manager   ~0010511

I can confirm this, the problem only occurs if the merchant is started before the exchange.

Christian Grothoff

2016-05-04 04:43

manager   ~0010622

So why is this "resolved"? Was there a change in the code to fix it?

Florian Dold

2016-05-04 07:15

manager   ~0010623

This was at least partially fixed in commits 23d94a0..00539cd to the merchant and your libgnunetcurl API change.

Issue History

Date ModifiedUsernameFieldChange
2016-04-16 20:31Florian DoldNew Issue
2016-04-16 20:31Florian DoldStatusnew => assigned
2016-04-16 20:31Florian DoldAssigned To => Marcello Stanisci
2016-04-17 14:24Christian GrothoffNote Added: 0010497
2016-04-17 15:01Florian DoldNote Added: 0010498
2016-04-17 15:02Florian DoldNote Added: 0010499
2016-04-17 15:22Florian DoldPriorityhigh => urgent
2016-04-17 15:22Florian DoldSeveritymajor => block
2016-04-18 22:45Florian DoldNote Added: 0010510
2016-04-18 23:25Florian DoldNote Added: 0010511
2016-04-19 00:42Florian DoldStatusassigned => informing
2016-04-19 00:42Florian DoldResolutionopen => fixed
2016-04-19 00:42Florian DoldAssigned ToMarcello Stanisci => Florian Dold
2016-04-24 21:44Christian GrothoffFixed in Version => 0.0
2016-05-04 04:43Christian GrothoffNote Added: 0010622
2016-05-04 07:14Florian DoldRelationship addedrelated to 0004465
2016-05-04 07:14Florian DoldRelationship addedrelated to 0004444
2016-05-04 07:15Florian DoldNote Added: 0010623
2016-05-04 07:33Christian GrothoffStatusinforming => closed
2024-01-12 13:05Christian GrothoffCategorymerchant backend API (C) => mechant backend
2025-03-22 13:09Christian GrothoffCategorymechant backend => merchant backend