View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007358 | Taler | bank API (C) | public | 2022-09-12 09:16 | 2022-11-04 20:52 |
Reporter | ttn | Assigned To | Christian Grothoff | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Platform | Linux | OS | Debian | OS Version | 11 (Bullseye) |
Product Version | git (master) | ||||
Target Version | 0.9 | Fixed in Version | 0.9 | ||
Summary | 0007358: "make check" fails for test_bank.sh | ||||
Description | HEAD == 27ee193e340d8a92964dcd4e359f7cdd9b6738be. Additionally, i've modified in test_bank.sh the call to taler-exchange-wire-gateway-client to include command-line option '-L DEBUG'. Logs attached. There seems to be a problem with "curl.c:436". The exchange.git/src/curl/curl.c does not have that many lines, but the gnunet.git/src/curl/curl.c DOES have a 'GNUNET_break' statement on line 436. From this, i guess that one of the 'if CONDITIONAL' clauses failed, but have no idea which. Note that this (Debian 11) system is taler.net, so maybe things are "strangely set up" there... | ||||
Tags | No tags attached. | ||||
|
.ttn.exchange-make-check.log (10,388 bytes)
+ export PATH=/home/ttn/te/bin:/home/ttn/build/GNU/T/hack:/usr/lib/postgresql/13/bin:/home/ttn/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + PATH=/home/ttn/te/bin:/home/ttn/build/GNU/T/hack:/usr/lib/postgresql/13/bin:/home/ttn/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + export TMPDIR=/home/ttn/te/tmp + TMPDIR=/home/ttn/te/tmp + export PGHOST=/home/ttn/te/pg + PGHOST=/home/ttn/te/pg + make check Makefile:961: warning: overriding recipe for target 'doxygen-doc/taler-exchange.tag' Makefile:956: warning: ignoring old recipe for target 'doxygen-doc/taler-exchange.tag' Makefile:966: warning: overriding recipe for target 'doxygen-doc/taler-exchange.tag' Makefile:961: warning: ignoring old recipe for target 'doxygen-doc/taler-exchange.tag' Makefile:971: warning: overriding recipe for target 'doxygen-doc/taler-exchange.tag' Makefile:966: warning: ignoring old recipe for target 'doxygen-doc/taler-exchange.tag' Making check in . make[1]: Entering directory '/home/ttn/build/GNU/T/exchange' Makefile:961: warning: overriding recipe for target 'doxygen-doc/taler-exchange.tag' Makefile:956: warning: ignoring old recipe for target 'doxygen-doc/taler-exchange.tag' Makefile:966: warning: overriding recipe for target 'doxygen-doc/taler-exchange.tag' Makefile:961: warning: ignoring old recipe for target 'doxygen-doc/taler-exchange.tag' Makefile:971: warning: overriding recipe for target 'doxygen-doc/taler-exchange.tag' Makefile:966: warning: ignoring old recipe for target 'doxygen-doc/taler-exchange.tag' make[1]: Leaving directory '/home/ttn/build/GNU/T/exchange' Making check in contrib make[1]: Entering directory '/home/ttn/build/GNU/T/exchange/contrib' Making check in . make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/contrib' make[2]: Nothing to be done for 'check-am'. make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/contrib' make[1]: Leaving directory '/home/ttn/build/GNU/T/exchange/contrib' Making check in src make[1]: Entering directory '/home/ttn/build/GNU/T/exchange/src' Making check in include make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/src/include' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/include' Making check in util make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/src/util' make test_age_restriction test_amount test_crypto test_helper_eddsa test_helper_rsa test_helper_cs test_payto test_url make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/util' CC test_age_restriction.o CCLD test_age_restriction CC test_amount.o CCLD test_amount CC test_crypto.o CCLD test_crypto CC test_helper_eddsa.o CCLD test_helper_eddsa CC test_helper_rsa.o CCLD test_helper_rsa CC test_helper_cs.o CCLD test_helper_cs CC test_payto.o CCLD test_payto CC test_url.o CCLD test_url make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/util' make check-TESTS make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/util' make[4]: Entering directory '/home/ttn/build/GNU/T/exchange/src/util' PASS: test_age_restriction PASS: test_amount PASS: test_crypto PASS: test_helper_eddsa PASS: test_helper_rsa PASS: test_helper_cs PASS: test_payto PASS: test_url ============================================================================ Testsuite summary for taler-exchange 0.8.5 ============================================================================ # TOTAL: 8 # PASS: 8 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[4]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/util' make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/util' make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/util' Making check in json make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/src/json' make test_json test_json_wire make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/json' CC test_json.o CCLD test_json CC test_json_wire.o CCLD test_json_wire make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/json' make check-TESTS make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/json' make[4]: Entering directory '/home/ttn/build/GNU/T/exchange/src/json' PASS: test_json PASS: test_json_wire ============================================================================ Testsuite summary for taler-exchange 0.8.5 ============================================================================ # TOTAL: 2 # PASS: 2 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[4]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/json' make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/json' make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/json' Making check in extensions make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/src/extensions' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/extensions' Making check in curl make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/src/curl' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/curl' Making check in pq make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/src/pq' make test_pq make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/pq' CC test_pq.o CCLD test_pq make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/pq' make check-TESTS make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/pq' make[4]: Entering directory '/home/ttn/build/GNU/T/exchange/src/pq' PASS: test_pq ============================================================================ Testsuite summary for taler-exchange 0.8.5 ============================================================================ # TOTAL: 1 # PASS: 1 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[4]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/pq' make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/pq' make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/pq' Making check in sq make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/src/sq' make test_sq make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/sq' CC test_sq.o CCLD test_sq make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/sq' make check-TESTS make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/sq' make[4]: Entering directory '/home/ttn/build/GNU/T/exchange/src/sq' PASS: test_sq ============================================================================ Testsuite summary for taler-exchange 0.8.5 ============================================================================ # TOTAL: 1 # PASS: 1 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[4]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/sq' make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/sq' make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/sq' Making check in templating make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/src/templating' make test_mustach_jansson run-original-tests.sh make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/templating' CC test_mustach_jansson.o CCLD test_mustach_jansson make[3]: Nothing to be done for 'run-original-tests.sh'. make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/templating' make check-TESTS make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/templating' make[4]: Entering directory '/home/ttn/build/GNU/T/exchange/src/templating' SKIP: run-original-tests.sh PASS: test_mustach_jansson ============================================================================ Testsuite summary for taler-exchange 0.8.5 ============================================================================ # TOTAL: 2 # PASS: 1 # SKIP: 1 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ make[4]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/templating' make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/templating' make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/templating' Making check in mhd make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/src/mhd' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/mhd' Making check in bank-lib make[2]: Entering directory '/home/ttn/build/GNU/T/exchange/src/bank-lib' make test_bank.sh make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/bank-lib' make[3]: Nothing to be done for 'test_bank.sh'. make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/bank-lib' make check-TESTS make[3]: Entering directory '/home/ttn/build/GNU/T/exchange/src/bank-lib' make[4]: Entering directory '/home/ttn/build/GNU/T/exchange/src/bank-lib' FAIL: test_bank.sh ============================================================================ Testsuite summary for taler-exchange 0.8.5 ============================================================================ # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 ============================================================================ See src/bank-lib/test-suite.log Please report to taler-bug@gnunet.org ============================================================================ make[4]: *** [Makefile:974: test-suite.log] Error 1 make[4]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/bank-lib' make[3]: *** [Makefile:1082: check-TESTS] Error 2 make[3]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/bank-lib' make[2]: *** [Makefile:1156: check-am] Error 2 make[2]: Leaving directory '/home/ttn/build/GNU/T/exchange/src/bank-lib' make[1]: *** [Makefile:524: check-recursive] Error 1 make[1]: Leaving directory '/home/ttn/build/GNU/T/exchange/src' make: *** [Makefile:507: check-recursive] Error 1 test-suite.log (690 bytes)
======================================================= taler-exchange 0.8.5: src/bank-lib/test-suite.log ======================================================= # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test_bank.sh ================== Launching bank....OK Making wire transfer to exchange ...2022-09-12T08:56:05.924351+0200 taler-wire-gateway-client-1136893 INFO Requesting administrative transaction at `http://localhost:8899/exchange/admin/add-incoming' for reserve 5N4N3S13 2022-09-12T08:56:05.926037+0200 taler-wire-gateway-client-1136893 ERROR Assertion failed at curl.c:436. FAIL test_bank.sh (exit status: 1) |
|
BTW, HEAD == 27ee193e340d8a92964dcd4e359f7cdd9b6738be finishes "make check" successfully on Devuan 4 (chiamaera). |
|
Hmm. Strange. I've never seen those curl calls fail, not just in this context, but basically ever. I've modified the code in 3babda033..1399cdb9c to allow us to distinguish between easy and multi curl API failures. It could be a bug in curl, or maybe we had some memory corruption. Running the test under valgrind (--trace-children=yes) might help in the latter case. In the former, well, only fixing curl would do the trick ;-). |
|
With HEAD == 1399cdb9cc594f9faa4a5024551260b9757279a9 (GNUnet) HEAD == b7bd4579085710787286b01957b84b13b63c50d2 (exchange) "make check" finishes successfully. FWIW, here is the entire contents of src/bank-lib/test_bank.sh.log: Launching bank....OK Making wire transfer to exchange ... OK Requesting exchange incoming transaction list ... OK Making wire transfer from exchange... OK Requesting exchange's outgoing transaction list... OK All tests passed PASS test_bank.sh (exit status: 0) I notice that on the GNUnet side, there were 22 commits (including the split-curl one) between the previous time GNUnet was updated and the current passing state. So maybe there was a bug fixed in one of those commits. (Aside: It's not my place to impose commit log message norms, but it seems to me they could be expanded a bit to be more informative.) |
Date Modified | Username | Field | Change |
---|---|---|---|
2022-09-12 09:16 | ttn | New Issue | |
2022-09-12 09:16 | ttn | Status | new => assigned |
2022-09-12 09:16 | ttn | Assigned To | => Christian Grothoff |
2022-09-12 09:16 | ttn | File Added: .ttn.exchange-make-check.log | |
2022-09-12 09:16 | ttn | File Added: test-suite.log | |
2022-09-12 09:18 | ttn | Note Added: 0019122 | |
2022-09-14 10:53 | Christian Grothoff | Note Added: 0019131 | |
2022-09-14 17:09 | ttn | Status | assigned => resolved |
2022-09-14 17:09 | ttn | Resolution | open => fixed |
2022-09-14 17:09 | ttn | Note Added: 0019132 | |
2022-10-20 10:47 | Christian Grothoff | Fixed in Version | => 0.9 |
2022-10-20 10:48 | Christian Grothoff | Target Version | => 0.9 |
2022-11-04 20:52 | Christian Grothoff | Status | resolved => closed |