View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0010442 | Taler | merchant backend | public | 2025-09-22 20:39 | 2025-09-27 20:19 |
Reporter | Florian Dold | Assigned To | Florian Dold | ||
Priority | normal | Severity | crash | Reproducibility | have not tried |
Status | feedback | Resolution | open | ||
Target Version | 1.2 | ||||
Summary | 0010442: adding a donau to the merchant backend results in crash | ||||
Description | Program terminated with signal SIGSEGV, Segmentation fault. Downloading 313.04 K source file /usr/src/debug/libmicrohttpd-1.0.2-1.fc42.x86_64/src/microhttpd/daemon.c #0 MHD_resume_connection (connection=0x124278f0) at /usr/src/debug/libmicrohttpd-1.0.2-1.fc42.x86_64/src/microhttpd/daemon.c:3372 3372 if (0 == (daemon->options & MHD_TEST_ALLOW_SUSPEND_RESUME)) (gdb) bt #0 MHD_resume_connection (connection=0x124278f0) at /usr/src/debug/libmicrohttpd-1.0.2-1.fc42.x86_64/src/microhttpd/daemon.c:3372 #1 0x000000000044f053 in donau_charity_get_cb (cls=0x124278f0, gcr=0x7ffdc3a04610) at taler-merchant-httpd_private-post-donau-instance.c:171 #2 0x00007f189a5f0837 in handle_charity_get_finished (cls=0x124306c0, response_code=<optimized out>, resp_obj=0x0) at donau_api_charity_get.c:189 #3 0x00007f189a436906 in GNUNET_CURL_perform2 (ctx=0x123ffde0, rp=0x7f189a4360a6 <GNUNET_CURL_download_get_result_>, rc=0x7f189a437049 <clean_result>) at ../src/lib/curl/curl.c:802 #4 0x00007f189a437156 in context_task (cls=0x124070b0) at ../src/lib/curl/curl_reschedule.c:127 #5 0x00007f189a179cab in GNUNET_SCHEDULER_do_work (sh=0x12403770) at ../src/lib/util/scheduler.c:2144 #6 0x00007f189a17aa97 in select_loop (sh=0x12403770, context=0x7ffdc3a04c40) at ../src/lib/util/scheduler.c:2443 #7 0x00007f189a174eb5 in GNUNET_SCHEDULER_run (task=0x7f189a16e907 <program_main>, task_cls=0x7ffdc3a04e50) at ../src/lib/util/scheduler.c:743 #8 0x00007f189a16f9c0 in GNUNET_PROGRAM_run2 (pd=0x7f189a6b7ca0 <merchant_pd>, argc=5, argv=0x7ffdc3a051d8, binaryName=0x45714e "taler-merchant-httpd", binaryHelp=0x459990 "Taler merchant's HTTP backend interface", options=0x7ffdc3a04f80, task=0x404d20 <run>, task_cls=0x0, run_without_scheduler=0) at ../src/lib/util/program.c:388 #9 0x00007f189a16fb04 in GNUNET_PROGRAM_run (pd=0x7f189a6b7ca0 <merchant_pd>, argc=5, argv=0x7ffdc3a051d8, binaryName=0x45714e "taler-merchant-httpd", binaryHelp=0x459990 "Taler merchant's HTTP backend interface", options=0x7ffdc3a04f80, task=0x404d20 <run>, task_cls=0x0) at ../src/lib/util/program.c:416 #10 0x0000000000401bd5 in main (argc=5, argv=0x7ffdc3a051d8) at taler-merchant-httpd.c:3080 | ||||
Tags | No tags attached. | ||||
child of | 0010235 | confirmed | DONAU MVP [meta] [15oct] |
|
Reproducible with taler-harness on dev/dold/donau, via running $ taler-harness run-integrationtests donau commit 6b5beebe0c90e5a7d3d4fa6ab38629d1f7afb78e (HEAD -> dev/dold/donau, origin/dev/dold/donau) Author: Florian Dold <florian@dold.me> Date: Mon Sep 22 20:40:41 2025 +0200 harness: set up donau in test |
|
2025-09-22T20:51:26.022439+0200 taler-merchant-httpd-160758(HH0HA9HD4C96PT3HCN8Q47KVV0) WARNING External protocol violation detected at donau_api_charity_get.c:177. 2025-09-22T20:51:26.022447+0200 taler-merchant-httpd-160758(HH0HA9HD4C96PT3HCN8Q47KVV0) ERROR Unexpected response code 204/10 for GET http://localhost:8084/charities/42 2025-09-22T20:51:26.022452+0200 taler-merchant-httpd-160758(HH0HA9HD4C96PT3HCN8Q47KVV0) INFO Processing DONAU charity get response |
|
Ah, so this only happens when passing a charity_id that is not know to the donau. |
|
Not sure how that logic ever worked, should be better with eb87ea59..32e12126 |
|
Adding a donau instance with a charity_id that does not exist still crashes the merchant. I've added a reproducer in the following test (only on latest master branch, at least commit d9fc25c6422): $ taler-harness run-integrationtests donau-compat |
|
I've fixed the crash and a 204/404 confusion in donau. The test still fails, but that's because it doesn't like the 502 we return from the merchant when POSTing the charity to the merchant backend. However, I think that's OK, as it's OK if adding the Donau fails when we contact the Donau and the Donau refuses to recognize us. So probably the test should be fixed to accept the 502 in this case. |
Date Modified | Username | Field | Change |
---|---|---|---|
2025-09-22 20:39 | Florian Dold | New Issue | |
2025-09-22 20:39 | Florian Dold | Status | new => assigned |
2025-09-22 20:39 | Florian Dold | Assigned To | => Christian Grothoff |
2025-09-22 20:41 | Florian Dold | Note Added: 0025967 | |
2025-09-22 20:52 | Florian Dold | Note Added: 0025968 | |
2025-09-22 21:01 | Florian Dold | Note Added: 0025969 | |
2025-09-22 21:01 | Florian Dold | Priority | high => normal |
2025-09-23 11:31 | Christian Grothoff | Note Added: 0025978 | |
2025-09-23 15:59 | Christian Grothoff | Assigned To | Christian Grothoff => Florian Dold |
2025-09-23 15:59 | Christian Grothoff | Status | assigned => feedback |
2025-09-24 15:41 | Florian Dold | Assigned To | Florian Dold => Christian Grothoff |
2025-09-24 15:41 | Florian Dold | Status | feedback => assigned |
2025-09-24 15:41 | Florian Dold | Note Added: 0026013 | |
2025-09-24 21:42 | Christian Grothoff | Note Added: 0026014 | |
2025-09-24 21:42 | Christian Grothoff | Assigned To | Christian Grothoff => Florian Dold |
2025-09-24 21:42 | Christian Grothoff | Status | assigned => feedback |
2025-09-27 20:14 | Christian Grothoff | Target Version | 1.1 => 1.2 |
2025-09-27 20:19 | Christian Grothoff | Relationship added | child of 0010235 |