[Swan-dev] confread diagnostics [was: Re: [Swan-commit] Changes to ref refs/heads/master]
D. Hugh Redelmeier
hugh at mimosa.com
Thu Aug 2 15:29:47 UTC 2018
| From: Andrew Cagney <andrew.cagney at gmail.com>
| When I run ikev2-03-basic-rawrsa-ckaid with f28c65e2c5a1325621725
| checked out (and master),
The last time I ran the tests, that test's directory existed but it
wasn't in TESTLIST. So I guess I've never run it.
| I get:
|
| /testing/guestbin/swan-prep
| *** Error in `PATH/libexec/ipsec/addconn': malloc(): memory
| corruption: 0x00007f15caa9ff20 ***
| *** Error in `PATH/libexec/ipsec/addconn': malloc(): memory
| corruption: 0x00007f15caa9ff20 ***
| <<timeout>>
That's not supposed to happen!
I'll look into it when I get time.
| but with the previous commit I get:
|
| /testing/guestbin/swan-prep
| west #
| ipsec start
| cannot find conn 'west-leftckaid' needed by conn 'westnet-eastnet-ikev2-ckaid'
|
| (which I suspect is a hint to the error, yes I need to update my test).
Please don't update the test, or at least don't update it without
cloning it. Every test that provokes a bug is precious.
| > | Just pass in a stack allocated lswlog
|
| For instance:
|
| LSWBUF(buf) {
| if (!call function(buf)) {
| buf contains the errors;
| }
| }
|
| however, if the intent is to really somehow keep this code isolated
| then I think a better solution is to pass in the logging function so
| errors can be emitted immediately.
I imagine so. f28c65e2c5a1325621725 was a starting point:
- it isolated the code that improperly used the err_t abstraction
- it started to identify the places where a proper reporting mechanism
needed to be used.
- (weakness) it just concatenated all the accumulated errors. Each
should be logged separately.
- (weakness) it didn't allow the caller to provide the environmentally
appropriate logging function.
- (weakness) it didn't replace all the printf / sprintf calls.
More information about the Swan-dev
mailing list