View Issue Details

IDProjectCategoryView StatusLast Update
0010183Talerexchangepublic2025-08-31 17:09
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 
Target Version1.0 stretch goalsFixed in Version1.0 stretch goals 
Summary0010183: large batch deposit causes exchange to crash
Description$ taler-harness run-integrationtests deposit-large

*Only* works in wallet-core commit 9c0fc4565460544a4f377d62bc5e18182e3ed7ca.

Later versions will not use large batches, but instead split them up. We should consider adding a separate taler-harness test that does a manual deposit to test that the exchange handles it properly.
Additional Information#0 TALER_denom_sig_free (denom_sig=0x88) at denom.c:215
215 if (NULL != denom_sig->unblinded_sig)
(gdb) bt
#0 TALER_denom_sig_free (denom_sig=0x88) at denom.c:215
#1 0x000000000040b7eb in bdc_cleaner (rc=<optimized out>) at taler-exchange-httpd_batch-deposit.c:1114
#2 0x00000000004026d9 in handle_mhd_completion_callback (cls=<optimized out>, connection=0x3b798960, con_cls=0x3b798a18, toe=MHD_REQUEST_TERMINATED_COMPLETED_OK) at taler-exchange-httpd.c:1028
#3 0x00007f58ec6dbeb8 in connection_reset (connection=0x3b798960, reuse=true) at /usr/src/debug/libmicrohttpd-1.0.1-3.fc42.x86_64/src/microhttpd/connection.c:7123
#4 MHD_connection_handle_idle (connection=connection@entry=0x3b798960) at /usr/src/debug/libmicrohttpd-1.0.1-3.fc42.x86_64/src/microhttpd/connection.c:7508
#5 0x00007f58ec6ddee3 in call_handlers (con=con@entry=0x3b798960, read_ready=<optimized out>, read_ready@entry=false, write_ready=<optimized out>, force_close=<optimized out>)
    at /usr/src/debug/libmicrohttpd-1.0.1-3.fc42.x86_64/src/microhttpd/daemon.c:1333
#6 0x00007f58ec6de332 in internal_run_from_select.isra.0 (daemon=0x3b7982f0, read_fd_set=0x7ffc76e75300, write_fd_set=0x7ffc76e75280, except_fd_set=0x7ffc76e75200, fd_setsize=1024)
    at /usr/src/debug/libmicrohttpd-1.0.1-3.fc42.x86_64/src/microhttpd/daemon.c:4578
#7 0x00007f58ec6e85a5 in MHD_select (daemon=0x3b7982f0, millisec=<optimized out>) at /usr/src/debug/libmicrohttpd-1.0.1-3.fc42.x86_64/src/microhttpd/daemon.c:4953
#8 0x00007f58ec6e96ae in MHD_run_wait (daemon=<optimized out>, millisec=millisec@entry=0) at /usr/src/debug/libmicrohttpd-1.0.1-3.fc42.x86_64/src/microhttpd/daemon.c:5922
#9 0x00007f58ec6e96fb in MHD_run (daemon=<optimized out>) at /usr/src/debug/libmicrohttpd-1.0.1-3.fc42.x86_64/src/microhttpd/daemon.c:5830
#10 0x00007f58ecc856fd in run_daemon (cls=0x3b7982c0) at mhd_run.c:99
#11 0x00007f58ec66c206 in GNUNET_SCHEDULER_do_work (sh=0x3b77ad60) at ../src/lib/util/scheduler.c:2144
#12 0x00007f58ec66cff2 in select_loop (sh=0x3b77ad60, context=0x7ffc76e754f0) at ../src/lib/util/scheduler.c:2443
#13 0x00007f58ec667410 in GNUNET_SCHEDULER_run (task=0x7f58ec660e62 <program_main>, task_cls=0x7ffc76e75700) at ../src/lib/util/scheduler.c:743
#14 0x00007f58ec661f1b in GNUNET_PROGRAM_run2 (pd=0x7f58ecc32ca0 <exchange_pd>, argc=4, argv=0x7ffc76e75bf8, binaryName=0x454071 "taler-exchange-httpd", binaryHelp=0x454055 "Taler exchange HTTP service", options=0x7ffc76e75830,
    task=0x405660 <run>, task_cls=0x0, run_without_scheduler=0) at ../src/lib/util/program.c:388
#15 0x00007f58ec66205f in GNUNET_PROGRAM_run (pd=0x7f58ecc32ca0 <exchange_pd>, argc=4, argv=0x7ffc76e75bf8, binaryName=0x454071 "taler-exchange-httpd", binaryHelp=0x454055 "Taler exchange HTTP service", options=0x7ffc76e75830,
    task=0x405660 <run>, task_cls=0x0) at ../src/lib/util/program.c:416
#16 0x0000000000402183 in main (argc=4, argv=0x7ffc76e75bf8) at taler-exchange-httpd.c:2943
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Florian Dold

2025-07-14 20:35

manager   ~0025499

I've now added a separate test that will also trigger the large deposit in the future, even when the wallet slices up batches properly:

$ taler-harness run-integrationtests deposit-too-large

Christian Grothoff

2025-07-14 20:49

manager   ~0025500

Fix committed to master branch.

Christian Grothoff

2025-07-14 20:49

manager   ~0025501

Fixed in c02d69f08..7dbff77be

Issue History

Date ModifiedUsernameFieldChange
2025-07-14 20:23Florian DoldNew Issue
2025-07-14 20:23Florian DoldStatusnew => assigned
2025-07-14 20:23Florian DoldAssigned To => Christian Grothoff
2025-07-14 20:35Florian DoldNote Added: 0025499
2025-07-14 20:49Christian Grothoff
2025-07-14 20:49Christian GrothoffNote Added: 0025500
2025-07-14 20:49Christian GrothoffStatusassigned => informing
2025-07-14 20:49Christian GrothoffResolutionopen => fixed
2025-07-14 20:49Christian GrothoffFixed in Version => 1.0 stretch goals
2025-07-14 20:49Christian GrothoffNote Added: 0025501
2025-08-31 17:09Christian GrothoffStatusinforming => closed