View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010478 | Taler | merchant backend | public | 2025-10-07 19:39 | 2025-11-15 00:54 |
| Reporter | Florian Dold | Assigned To | Christian Grothoff | ||
| Priority | high | Severity | crash | Reproducibility | have not tried |
| Status | resolved | Resolution | fixed | ||
| Product Version | 1.0 | ||||
| Target Version | 1.2 | Fixed in Version | 1.2 | ||
| Summary | 0010478: merchant backend crashes when making a donation after donau changed its keys | ||||
| Description | We don't have a good reproducer for this yet. It happened on test.taler.net after purging the donau DB (since the donau DB had a breaking change). | ||||
| Additional Information | Oct 07 17:29:35 cceb10198446 taler-merchant-httpd[3289]: (QJ21HG08EW9Y3JA9TQ3GT9D100) ERROR Assertion failed at donau_api_handle.c:774. Oct 07 17:29:35 cceb10198446 taler-merchant-httpd[3289]: (QJ21HG08EW9Y3JA9TQ3GT9D100) WARNING External protocol violation detected at taler-merchant-httpd_post-orders-ID-pay.c:3385. | ||||
| Tags | No tags attached. | ||||
|
|
9a96cbf..f75bf8c fixes an incorrect return value in libdonau. |
|
|
64d52a6e..141b6bb6 improves the error handling in the merchant backend. However, I didn't see any actual CRASH here, just an error that should have been a warning (client uses different donau keys than what we have, so we cannot sign). |
|
|
Note that when Donau keys change and wallet/merchant/donau disagree on what they should be, things are expected to go to hell (aka 400) until that is resolved. |
|
|
Let me know if you see more being required here. |
|
|
Needs a test IMO, I can add one to taler-harness. |
|
|
We have a test now: $ taler-harness run-integrationtests donau-keychange However, the test actually does crash the merchant. |
|
|
#0 0x00007fc4e90f704c in GNUNET_CRYPTO_blinded_sig_decref (blind_sig=0x0) at ../src/lib/util/crypto_blind_sign.c:139 139 GNUNET_assert (blind_sig->rc > 0); (gdb) bt #0 0x00007fc4e90f704c in GNUNET_CRYPTO_blinded_sig_decref (blind_sig=0x0) at ../src/lib/util/crypto_blind_sign.c:139 #1 0x000000000045f1c7 in pay_context_cleanup (cls=0x2cb2140) at taler-merchant-httpd_post-orders-ID-pay.c:4937 #2 0x000000000040323f in handle_mhd_completion_callback (cls=0x0, connection=0x2c990e0, con_cls=0x2c99198, toe=MHD_REQUEST_TERMINATED_COMPLETED_OK) at taler-merchant-httpd.c:795 #3 0x00007fc4e91c3d18 in connection_reset (connection=0x2c990e0, reuse=true) at /usr/src/debug/libmicrohttpd-1.0.2-1.fc42.x86_64/src/microhttpd/connection.c:7123 #4 MHD_connection_handle_idle (connection=connection@entry=0x2c990e0) at /usr/src/debug/libmicrohttpd-1.0.2-1.fc42.x86_64/src/microhttpd/connection.c:7508 #5 0x00007fc4e91c5ab2 in call_handlers (con=0x2c990e0, read_ready=<optimized out>, write_ready=<optimized out>, force_close=<optimized out>) at /usr/src/debug/libmicrohttpd-1.0.2-1.fc42.x86_64/src/microhttpd/daemon.c:1374 #6 0x00007fc4e91d0d11 in MHD_epoll (daemon=daemon@entry=0x2cb00c0, millisec=<optimized out>, millisec@entry=0) at /usr/src/debug/libmicrohttpd-1.0.2-1.fc42.x86_64/src/microhttpd/daemon.c:5766 #7 0x00007fc4e91d130a in MHD_run_wait (daemon=0x2cb00c0, millisec=millisec@entry=0) at /usr/src/debug/libmicrohttpd-1.0.2-1.fc42.x86_64/src/microhttpd/daemon.c:5897 #8 0x00007fc4e91d137b in MHD_run (daemon=<optimized out>) at /usr/src/debug/libmicrohttpd-1.0.2-1.fc42.x86_64/src/microhttpd/daemon.c:5830 #9 0x00007fc4e9626564 in run_daemon (cls=0x2cb0090) at mhd_run.c:99 #10 0x00007fc4e9139d84 in GNUNET_SCHEDULER_do_work (sh=0x2c8d7d0) at ../src/lib/util/scheduler.c:2144 #11 0x00007fc4e913ab70 in select_loop (sh=0x2c8d7d0, context=0x7fff0093c2b0) at ../src/lib/util/scheduler.c:2443 #12 0x00007fc4e9134f8e in GNUNET_SCHEDULER_run (task=0x7fc4e912e9e0 <program_main>, task_cls=0x7fff0093c4c0) at ../src/lib/util/scheduler.c:743 #13 0x00007fc4e912fa99 in GNUNET_PROGRAM_run2 (pd=0x7fc4e96d0ca0 <merchant_pd>, argc=5, argv=0x7fff0093c858, binaryName=0x470008 "taler-merchant-httpd", binaryHelp=0x46ffe0 "Taler merchant's HTTP backend interface", options=0x7fff0093c600, task=0x4063b9 <run>, task_cls=0x0, run_without_scheduler=0) at ../src/lib/util/program.c:388 #14 0x00007fc4e912fbdd in GNUNET_PROGRAM_run (pd=0x7fc4e96d0ca0 <merchant_pd>, argc=5, argv=0x7fff0093c858, binaryName=0x470008 "taler-merchant-httpd", binaryHelp=0x46ffe0 "Taler merchant's HTTP backend interface", options=0x7fff0093c600, task=0x4063b9 <run>, task_cls=0x0) at ../src/lib/util/program.c:416 #15 0x0000000000407390 in main (argc=5, argv=0x7fff0093c858) at taler-merchant-httpd.c:3323 |
|
|
Test now passes. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-10-07 19:39 | Florian Dold | New Issue | |
| 2025-10-07 20:04 | Christian Grothoff | Assigned To | => Christian Grothoff |
| 2025-10-07 20:04 | Christian Grothoff | Status | new => assigned |
| 2025-10-07 20:59 | Christian Grothoff | Note Added: 0026108 | |
| 2025-10-07 21:00 | Christian Grothoff | Note Added: 0026109 | |
| 2025-10-07 21:08 | Christian Grothoff | Note Added: 0026110 | |
| 2025-10-07 21:08 | Christian Grothoff | Assigned To | Christian Grothoff => Florian Dold |
| 2025-10-07 21:08 | Christian Grothoff | Status | assigned => feedback |
| 2025-10-07 21:08 | Christian Grothoff | Note Added: 0026111 | |
| 2025-10-07 22:08 | Florian Dold | Note Added: 0026112 | |
| 2025-10-20 17:13 | Florian Dold | Status | feedback => resolved |
| 2025-10-20 17:13 | Florian Dold | Resolution | open => fixed |
| 2025-10-20 17:13 | Florian Dold | Status | resolved => assigned |
| 2025-10-20 20:09 | Florian Dold | Target Version | => 1.2 |
| 2025-11-14 20:25 | Florian Dold | Note Added: 0026441 | |
| 2025-11-14 20:26 | Florian Dold | Note Added: 0026442 | |
| 2025-11-14 20:26 | Florian Dold | Assigned To | Florian Dold => Christian Grothoff |
| 2025-11-15 00:52 | Christian Grothoff | Priority | normal => high |
| 2025-11-15 00:52 | Christian Grothoff | Severity | minor => crash |
| 2025-11-15 00:52 | Christian Grothoff | Product Version | => 1.0 |
| 2025-11-15 00:54 | Christian Grothoff | Status | assigned => resolved |
| 2025-11-15 00:54 | Christian Grothoff | Fixed in Version | => 1.2 |
| 2025-11-15 00:54 | Christian Grothoff | Note Added: 0026456 |