View Issue Details

IDProjectCategoryView StatusLast Update
0006904Talermerchant backendpublic2024-01-12 13:04
ReporterFlorian Dold Assigned ToChristian Grothoff 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 
Product Versiongit (master) 
Target Version0.8Fixed in Version0.8 
Summary0006904: contract claiming fails with database error for certain contract terms
DescriptionWhen the salt for a forgettable field is specified as "true", the merchant backend is supposed to generate a salt. However, the contract claiming simply fails.

Here is the order specification I've used:

    {
      summary: "Buy me!",
      amount: "TESTKUDOS:5",
      fulfillment_url: "taler://fulfillment-success/thx",
      extra: {
        foo: { bar: "baz" },
        $forgettable: {
          foo: true,
        },
      },
    }
Steps To ReproduceFirst, make sure that a current version of the exchange is installed, as the forgettable fields implementation changed.

$ taler-wallet-cli testing run-integrationtests payment-forgettable
Additional Information{
  "type": "error",
  "operation": "preparePay",
  "id": "reqid-1",
  "error": {
    "code": 7005,
    "hint": "Error: WALLET_UNEXPECTED_REQUEST_ERROR",
    "details": {
      "requestUrl": "http://localhost:8083/orders/2021.167-G1ZAG5107XA0M/claim",
      "httpStatusCode": 500,
      "errorResponse": {
        "code": 54,
        "hint": "The service encountered an error event to commit the database transaction (hard, unrecoverable error).",
        "detail": null
      }
    },
    "message": "Unexpected error code in response"
  }
}
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Christian Grothoff

2021-06-16 20:39

manager   ~0017959

Forgettable 'true' to 'random' conversion was never implemented AFAIK.
23b4c5e..0f66ec8 modifies the code to notice bad 'salt' values, so that the test now fails during order creation.
Next: implement salt generation!

Christian Grothoff

2021-06-16 21:18

manager   ~0017960

Fixed in 0f66ec8..5a838bf

Christian Grothoff

2021-09-02 16:23

manager   ~0018345

Fix committed to master branch.

Issue History

Date ModifiedUsernameFieldChange
2021-06-16 10:12Florian DoldNew Issue
2021-06-16 10:12Florian DoldStatusnew => assigned
2021-06-16 10:12Florian DoldAssigned To => Christian Grothoff
2021-06-16 20:39Christian GrothoffNote Added: 0017959
2021-06-16 21:18Christian GrothoffNote Added: 0017960
2021-06-16 21:18Christian GrothoffStatusassigned => informing
2021-06-16 21:18Christian GrothoffResolutionopen => fixed
2021-06-16 21:18Christian GrothoffFixed in Version => 0.9
2021-06-16 21:18Christian GrothoffProduct Version => git (master)
2021-06-16 21:18Christian GrothoffTarget Version => 0.9
2021-07-30 11:57Christian GrothoffFixed in Version0.9 => 0.8.1
2021-07-30 11:59Christian GrothoffTarget Version0.9 => 0.8.1
2021-07-30 12:02Christian GrothoffFixed in Version0.8.1 => 0.8
2021-07-30 12:02Christian GrothoffTarget Version0.8.1 => 0.8
2021-08-24 14:22Christian GrothoffStatusinforming => closed
2021-09-02 16:22Christian Grothoff
2021-09-02 16:23Christian GrothoffNote Added: 0018345
2024-01-12 13:04Christian GrothoffCategorymerchant backend API (C) => mechant backend
2025-03-22 13:09Christian GrothoffCategorymechant backend => merchant backend