View Issue Details

IDProjectCategoryView StatusLast Update
0004794Talerexchangepublic2021-09-02 18:14
ReporterChristian Grothoff Assigned ToChristian Grothoff  
PrioritynormalSeverityblockReproducibilityhave not tried
Status closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version0.2Fixed in Version0.2 
Summary0004794: assertion failing on withdraw
DescriptionNov 17 12:03:25-489866 taler-exchange-httpd-24247 ERROR Assertion failed at plugin_exchangedb_postgres.c:2014.
Nov 17 12:03:25-489892 taler-exchange-httpd-24247 ERROR Assertion failed at taler-exchange-httpd_db.c:795.

Some internal amount check is failing:

  if (GNUNET_SYSERR ==
      TALER_amount_subtract (&reserve.balance,
                             &reserve.balance,
                             &collectable->amount_with_fee))
  {
    /* Should have been checked before we got here... */
    GNUNET_break (0);
    goto cleanup;
  }

Likely due to a change in the fee structure.
TagsNo tags attached.

Activities

Christian Grothoff

2016-11-17 15:54

manager   ~0011516

Should be fixed in bb7c589..e140ca9, based on the assumption that this was caused by a wallet doing parallel withdraws and going over balance at the same time based on the 1e8/1e6 amount fraction change.

Christian Grothoff

2021-09-02 18:14

manager   ~0018304

Fix committed to master branch.

Related Changesets

exchange: master e140ca9d

2016-11-17 16:53

Christian Grothoff


Details Diff
handle more nicely the case that concurrent withdraws have changed history, causing us to see a different balance just before the commit; in this case, just retry the transaction; this should fix 0004794 Affected Issues
0004794
mod - src/exchange/taler-exchange-httpd_db.c Diff File
mod - src/exchangedb/plugin_exchangedb_postgres.c Diff File

Issue History

Date Modified Username Field Change
2016-11-17 12:06 Christian Grothoff New Issue
2016-11-17 12:06 Christian Grothoff Status new => assigned
2016-11-17 12:06 Christian Grothoff Assigned To => Christian Grothoff
2016-11-17 15:54 Christian Grothoff Status assigned => resolved
2016-11-17 15:54 Christian Grothoff Resolution open => fixed
2016-11-17 15:54 Christian Grothoff Fixed in Version => 0.2
2016-11-17 15:54 Christian Grothoff Note Added: 0011516
2016-11-20 03:26 Christian Grothoff Status resolved => closed
2021-09-02 18:13 Christian Grothoff Changeset attached => Taler-exchange master e140ca9d
2021-09-02 18:14 Christian Grothoff Note Added: 0018304