uplex-varnish issueshttps://code.uplex.de/groups/uplex-varnish/-/issues2019-12-17T07:49:42Zhttps://code.uplex.de/uplex-varnish/libvmod-file/issues/1AZ(rdr->addr) in vmod_reader__init() failing intermittently2019-12-17T07:49:42ZGeoff SimmonsAZ(rdr->addr) in vmod_reader__init() failing intermittently```
Panic at: Mon, 11 Nov 2019 12:26:31 GMT
Assert error in vmod_reader__init(), vmod_file.c line 438:
Condition((rdr->addr) == 0) not true.
version = varnish-6.3.1 revision 6e96ff048692235e64565211a38c41432a26c055, vrt api = 10.0
ident = Linux,4.15.0-1060-azure,x86_64,-junix,-smalloc,-sdefault,-hcritbit,epoll
now = 13324.697002 (mono), 1573475191.029720 (real)
```https://code.uplex.de/uplex-varnish/libvmod-selector/issues/1Crash on set.fini()2019-12-09T18:57:02ZGeoff SimmonsCrash on set.fini()Panic:
```
Assert error in vmod_set__fini(), vmod_selector.c line 226:
Condition((entry)->magic == 0x733dbe63) not true.
version = varnish-6.1.1 revision efc2f6c1536cf2272e471f5cff5f145239b19460, vrt api = 8.0
ident = Linux,4.15.0,x86_64,-junix,-smalloc,-sdefault,-hcritbit,epoll
now = 16123.466507 (mono), 1548341446.001477 (real)
Backtrace:
0x43ac6b: /usr/sbin/varnishd() [0x43ac6b]
0x49b0e2: /usr/sbin/varnishd(VAS_Fail+0x42) [0x49b0e2]
0x7f3b5944de90: ./vmod_cache/_vmod_selector.a93b849f67b78d802d023018a91708dbbebf71e6ec589dceab4beb1a8ba2b49e(vmod_set__fini+0x2e0) [0x7f3b5944de90]
0x7f3b586c3e54: vcl_vk8s_ing_default_cafe_ingress_varnish_49121336_1fd9_11e9_bdba_080027b7a967_2e83d92a407d8222.1548341443.817471743/vgc.so(+0x3e54) [0x7f3b586c3e54]
0x4492c4: /usr/sbin/varnishd() [0x4492c4]
0x449d84: /usr/sbin/varnishd() [0x449d84]
0x44abdf: /usr/sbin/varnishd() [0x44abdf]
0x49d17a: /usr/sbin/varnishd() [0x49d17a]
0x49d61d: /usr/sbin/varnishd(VCLS_Poll+0x35d) [0x49d61d]
0x4207f4: /usr/sbin/varnishd(CLI_Run+0x54) [0x4207f4]
thread = (cache-main)
thr.req = (nil) {
},
thr.busyobj = (nil) {
}, Panic at 172.17.0.16:6081: Panic at: Thu, 24 Jan 2019 14:50:46 GMT
Assert error in vmod_set__fini(), vmod_selector.c line 226:
Condition((entry)->magic == 0x733dbe63) not true.
version = varnish-6.1.1 revision efc2f6c1536cf2272e471f5cff5f145239b19460, vrt api = 8.0
ident = Linux,4.15.0,x86_64,-junix,-smalloc,-sdefault,-hcritbit,epoll
now = 16123.466507 (mono), 1548341446.001477 (real)
Backtrace:
0x43ac6b: /usr/sbin/varnishd() [0x43ac6b]
0x49b0e2: /usr/sbin/varnishd(VAS_Fail+0x42) [0x49b0e2]
0x7f3b5944de90: ./vmod_cache/_vmod_selector.a93b849f67b78d802d023018a91708dbbebf71e6ec589dceab4beb1a8ba2b49e(vmod_set__fini+0x2e0) [0x7f3b5944de90]
0x7f3b586c3e54: vcl_vk8s_ing_default_cafe_ingress_varnish_49121336_1fd9_11e9_bdba_080027b7a967_2e83d92a407d8222.1548341443.817471743/vgc.so(+0x3e54) [0x7f3b586c3e54]
0x4492c4: /usr/sbin/varnishd() [0x4492c4]
0x449d84: /usr/sbin/varnishd() [0x449d84]
0x44abdf: /usr/sbin/varnishd() [0x44abdf]
0x49d17a: /usr/sbin/varnishd() [0x49d17a]
0x49d61d: /usr/sbin/varnishd(VCLS_Poll+0x35d) [0x49d61d]
0x4207f4: /usr/sbin/varnishd(CLI_Run+0x54) [0x4207f4]
thread = (cache-main)
thr.req = (nil) {
},
thr.busyobj = (nil) {
},
```
This happens in ``vmod_set__fini()`` where strings and regexen that may have been saved for a set entry are freed. Evidently an entry is encountered where the magic number is not set to ``VMOD_SELECTOR_ENTRY_MAGIC```.Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/varnishevent/issues/3len == strlen(substr) failed in test_format_SLT at test_format.c:1659 (errno ...2018-04-07T23:12:30ZNils Gorolllen == strlen(substr) failed in test_format_SLT at test_format.c:1659 (errno 0: Success)became visible after fix of #2https://code.uplex.de/uplex-varnish/varnishevent/issues/2test_format fails with new gcc 6 and -g -O22018-04-07T23:12:30ZNils Gorolltest_format fails with new gcc 6 and -g -O2```
Linux haggis 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux
gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
```
```
$ head -3 test_format.log
Assert error in get_hdr(), format.c line 204:
Condition(hdr_idx <= hidx[tag]) not true.
```
```
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007fd9c71ea42a in __GI_abort () at abort.c:89
#2 0x00007fd9c7a7ab96 in VAS_Fail (
func=func@entry=0x5629a9a98468 <__func__.4827> "get_hdr",
file=file@entry=0x5629a9a949a3 "format.c", line=line@entry=204,
cond=cond@entry=0x5629a9a9802b "hdr_idx <= hidx[tag]",
kind=kind@entry=VAS_ASSERT) at ../libvarnish/vas.c:77
#3 0x00005629a9a92d1b in get_hdr (tx=<optimized out>, tag=tag@entry=SLT_ReqHeader,
hdr_idx=<optimized out>) at format.c:204
#4 0x00005629a9a93079 in format_Xio (len=0x7ffe246a9298, s=0x7ffe246a9290,
tag=SLT_ReqHeader, hdr_idx=<optimized out>, tx=<optimized out>) at format.c:695
#5 format_Xi_client (tx=<optimized out>, args=<optimized out>, s=0x7ffe246a9290,
len=0x7ffe246a9298) at format.c:703
#6 0x00005629a9a81286 in test_format_Xi () at test_format.c:1271
#7 0x00005629a9a8b077 in all_tests () at test_format.c:2424
#8 main (argc=<optimized out>, argv=0x7ffe246a9688) at test_format.c:2439
```
works fine with
```
CFLAGS='-g -O0 -pthread' ./configure
```Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-dispatch/issues/1RFE: add .string(n) methods for the both label and sub objects2018-04-07T23:12:31ZGeoff SimmonsRFE: add .string(n) methods for the both label and sub objectsThe methods `STRING .string(INT n)` return the name of the `n`th sub or label, as provided in the `.add()` methods at initialization time.
The string can be used for logging, for assigning the names to headers for tracing purposes, etc.Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-re/issues/5Build fails for Varnish 5.22018-04-07T23:12:30ZGeoff SimmonsBuild fails for Varnish 5.2Current master:
```
vmod_re.c:36:33: fatal error: common/common_param.h: No such file or directory
#include "common/common_param.h"
```
Public includes have changed for master since the 5.2 release. We'll need a 5.2 branch, and a tagged release for a VMOD version compatible with 5.2.Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-re2/issues/2missing dependencies2018-04-07T23:12:30ZMartin Gaitzschmissing dependenciesapt-get install autoconf-archive g++https://code.uplex.de/uplex-varnish/libvmod-pcre2/issues/3RFE: support the start_offset param for matching and substitutions2018-04-07T23:12:31ZGeoff SimmonsRFE: support the start_offset param for matching and substitutionsGeoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-pcre2/issues/2RFE: support fast-path JIT matching2018-04-07T23:12:31ZGeoff SimmonsRFE: support fast-path JIT matching``fast_jit`` becomes a match option, just pass the flag into the static match function.Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-pcre2/issues/1RFE: support DFA matching2018-04-07T23:12:31ZGeoff SimmonsRFE: support DFA matchingThis would make it possible to all matches found from a point in the subject. The interface would look something like:
```
$Method INT .nmatches()
$Method STRING .matchn(INT)
$Function INT nmatches(PRIV_TASK)
$Function STRING matchn(INT)
```
Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-backend_dyn/issues/3Add functions to serialize/deserialize backend configs so that Varnish can be...2018-04-07T23:12:31ZGeoff SimmonsAdd functions to serialize/deserialize backend configs so that Varnish can be safely restarted.Something like this:
```
# Write the current backend config to a file
backend_dyn.to_file(VCL_PRIV, "/path/to/backend.cfg");
sub vcl_init {
# Read any previous dynamic config from a file
# This restores any dynamic config that may have been written before Varnish stopped previously
backend_dyn.from_file(VCL_PRIV, "/path/to/backend.cfg");
}
```
The serialization format may or may not be identical to standard VCL syntax for static backend declarations. If it is, then an initial config can be saved in the file
before initial startup as standard VCL. This would have the advantage that statically declared backend configs could be manipulated by the VMOD after all (it's just that this particular VCL source is not used as the Varnish ``-f`` arg, nor is it included the ``-f`` arg or anything that it includes).Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-backend_dyn/issues/2Varnish 5.12018-04-07T23:12:30ZTruong Le XuanVarnish 5.1Can i use this lib in varnish 5.1?Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-re/issues/4WS_Assert_Allocated failing in backref() also with a339f63q2018-04-07T23:12:30ZNils GorollWS_Assert_Allocated failing in backref() also with a339f63qFollow-up #3
If we don't copy the terminating NULL, we can't use `strlen()` for the check. We should probably use `ov->ovector[1]`
```
(gdb) bt
#0 0x00007fd1387271d7 in raise () from /lib64/libc.so.6
#1 0x00007fd1387288c8 in abort () from /lib64/libc.so.6
#2 0x00000000004424c2 in pan_ic (func=0x4e2650 <__func__.7406> "WS_Assert_Allocated", file=0x4e23a2 "cache/cache_ws.c", line=84,
cond=0x4e2490 "p >= ws->s && (p + len) <= ws->f", kind=VAS_ASSERT) at cache/cache_panic.c:665
#3 0x0000000000463836 in WS_Assert_Allocated (ws=0x7fd0ce226208, ptr=0x7fd0ce228ac0, len=82) at cache/cache_ws.c:84
#4 0x00007fd11d3e89e6 in backref (ctx=0x7fd0f51291b0, refnum=1, fallback=0x7fd138465bb2 <Address 0x7fd138465bb2 out of bounds>,
task=0x7fd0dc00e758) at vmod_re.c:220
#5 0x00007fd11d3e8d89 in vmod_regex_backref (ctx=0x7fd0f51291b0, re=0x7fd137c0fce0, refnum=1,
fallback=0x7fd138465bb2 <Address 0x7fd138465bb2 out of bounds>) at vmod_re.c:263
(gdb) frame 4
#4 0x00007fd11d3e89e6 in backref (ctx=0x7fd0f51291b0, refnum=1, fallback=0x7fd138465bb2 <Address 0x7fd138465bb2 out of bounds>,
task=0x7fd0dc00e758) at vmod_re.c:220
(gdb) print *ctx->ws
$1 = {magic = 905626964, id = "req", s = 0x7fd0ce228008 "GET", f = 0x7fd0ce228ae8 "5476*REDACTED*",
r = 0x0, e = 0x7fd0ce245ff8 "\025"}
(gdb) print *(ov_t *)task->priv
$3 = {magic = 2219571769,
subject = 0x7fd0ce228ac0 "X-Forwarded-Proto,Accept-Encoding=1495015476*REDACTED*", ovector = {0, 33,
-1, -1, -1, -1, 17, 18, 18, 33, -1 <repeats 12 times>}}
```
https://code.uplex.de/uplex-varnish/libvmod-re/issues/3WS_Assert_Allocated() failing in backref()2018-04-07T23:12:30ZNils GorollWS_Assert_Allocated() failing in backref()most likely introduced somewhen since 26f3394ebfee66b996a4fbe18d61601824d6874d
```
Panic at: Tue, 16 May 2017 08:10:37 GMT
Assert error in WS_Assert_Allocated(), cache/cache_ws.c line 84:
Condition(p >= ws->s && (p + len) < ws->f) not true.
version = varnish-trunk revision c2ecb4d, vrt api = 6.1
ident = Linux,3.10.0-327.13.1.el7.x86_64,x86_64,-jnone,-smalloc,-smalloc,-hcritbit,epoll
now = 32136798.615207 (mono), 1494922235.224495 (real)
Backtrace:
0x441e2e: /opt/varnish/sbin/varnishd() [0x441e2e]
0x442323: /opt/varnish/sbin/varnishd() [0x442323]
0x463836: /opt/varnish/sbin/varnishd(WS_Assert_Allocated+0x8c) [0x463836]
0x7f99c1df99da: ./vmod_cache/_vmod_re.ULPFRKSQUETAUXS@AK@LSMKDVYIUYJHP(+0x19da) [0x7f99c1df99da]
0x7f99c1df9d7d: ./vmod_cache/_vmod_re.ULPFRKSQUETAUXS@AK@LSMKDVYIUYJHP(vmod_regex_backref+0xb3) [0x7f99c1df9d7d]
0x7f99ca46d261: vcl_boot.1494901856.060504436/vgc.so(VGC_function_vcl_deliver+0x571) [0x7f99ca46d261]
0x454a42: /opt/varnish/sbin/varnishd() [0x454a42]
0x455161: /opt/varnish/sbin/varnishd(VCL_deliver_method+0x164) [0x455161]
0x445e74: /opt/varnish/sbin/varnishd() [0x445e74]
0x449547: /opt/varnish/sbin/varnishd(CNT_Request+0x51b) [0x449547]
thread = (cache-worker)
thr.req = 0x7f99bb486020 {
vxid = 13565958, transport = HTTP/1 {
state = HTTP1::Proc
}
step = R_STP_DELIVER,
req_body = R_BODY_NONE,
restarts = 0, esi_level = 0,
sp = 0x7f99bb00f620 {
fd = 31, vxid = 13565957,
t_open = 1494922235.218907,
t_idle = 1494922235.218907,
transport = HTTP/1 {
state = HTTP1::Proc
}
client = *redacted* 5229,
privs = 0x7f99bb00f688 {
priv {p 0x7f99bb488708 l -1 f (nil)} vcl 0x7f99dc8a93c0 id 7f99bb486020 vmod 7f99dc80f800
priv {p 0x7f99bb488770 l -1 f (nil)} vcl 0x7f99dc8a93c0 id 7f99bb486020 vmod 7f99dc80fa10
priv {p 0x7f99bb4887d8 l -1 f (nil)} vcl 0x7f99dc8a93c0 id 7f99bb486020 vmod 7f99dc80f9b0
priv {p 0x7f99bb488840 l -1 f (nil)} vcl 0x7f99dc8a93c0 id 7f99bb486020 vmod 7f99dc80f9a0
priv {p 0x7f99bb4888a8 l -1 f (nil)} vcl 0x7f99dc8a93c0 id 7f99bb486020 vmod 7f99dc80f7e0
priv {p 0x7f99bb488910 l -1 f (nil)} vcl 0x7f99dc8a93c0 id 7f99bb486020 vmod 7f99dc80f910
priv {p 0x7f99bb488978 l -1 f (nil)} vcl 0x7f99dc8a93c0 id 7f99bb486020 vmod 7f99dc80f8c0
priv {p 0x7f99bb4889e0 l -1 f (nil)} vcl 0x7f99dc8a93c0 id 7f99bb486020 vmod 7f99dc80f7f0
priv {p 0x7f99bb488a90 l 104 f (nil)} vcl 0x7f99dc8a93c0 id 7f99bb486020 vmod 7f99dc80f950
},
},
worker = 0x7f998f780c30 {
stack = {0x7f998f781000 -> 0x7f998f761000},
ws = 0x7f998f780e30 {
id = \"wrk\",
{s, f, r, e} = {0x7f998f7803f0, +0, (nil), +2040},
},
VCL::method = inside DELIVER,
VCL::return = 0x0,
VCL::methods = {RECV, HASH, MISS, DELIVER},
},
ws = 0x7f99bb486208 {
id = \"req\",
{s, f, r, e} = {0x7f99bb488008, +2888, (nil), +122864},
},
http_conn = 0x7f99bb486130 {
fd = 31 (@0x7f99bb00f638),
doclose = NULL,
ws = 0x7f99bb486208 {
[Already dumped, see above]
},
{rxbuf_b, rxbuf_e} = {0x7f99bb488320, 0x7f99bb488617},
{pipeline_b, pipeline_e} = {(nil), (nil)},
content_length = -1,
body_status = none,
first_byte_timeout = 0.000000,
between_bytes_timeout = 0.000000,
},
http[req] = 0x7f99bb4862a0 {
ws = 0x7f99bb486208 {
[Already dumped, see above]
},
hdrs {
\"GET\",
*REDACTED*,
},
},
http[resp] = 0x7f99bb486b90 {
ws = 0x7f99bb486208 {
[Already dumped, see above]
},
hdrs {
\"HTTP/1.1\",
\"301\",
\"Moved Permanently\",
*REDACTED*,
},
},
vcl = {
name = \"boot\",
busy = 124,
discard = 0,
state = auto,
temp = warm,
conf = {
srcname = {
\"/opt/varnish/etc/varnish/active.vcl\",
\"Builtin\",
},
},
},
vmods = {
std = {Varnish trunk c2ecb4d, 6.1},
header = {Varnish trunk c2ecb4d, 6.1},
cookie = {Varnish trunk c2ecb4d, 6.1},
directors = {Varnish trunk c2ecb4d, 6.1},
re = {Varnish trunk c2ecb4d, 6.1},
blobcode = {Varnish trunk c2ecb4d, 6.1},
blobdigest = {Varnish trunk c2ecb4d, 6.1},
var = {Varnish trunk c2ecb4d, 6.1},
bipa = {Varnish trunk c2ecb4d, 6.1},
},
objcore[REQ] = 0x7f9995882020 {
refcnt = 2,
flags = {},
exp_flags = {refd},
exp = {1494922235.224136, 3.000000, 0.000000, 0.000000},
objhead = 0x7f9995896080,
stevedore = 0x7f99dc8a9180 (malloc Transient) {
Simple = 0x7f9994c50300,
Obj = 0x7f9994c4c248 {priv=0x7f9994c4c240, ptr=0x7f9994c50300, len=680, space=680},
LEN = 0x0...0,
VXID = 0x00cf0007,
FLAGS = 0x00,
GZIPBITS = 0x0...0,
LASTMODIFIED = 0x41d646acfec00000,
VARY = {len=0, ptr=(nil)},
HEADERS = {len=560, ptr=0x7f9994c50378},
},
},
flags = {
hash_ignore_busy,
},
},
thr.busyobj = (nil) {
},
```Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-re/issues/2vmod_regex_match_dyn appears to leak memory2018-04-07T23:12:30ZGreg Bockvmod_regex_match_dyn appears to leak memoryThe vre allocation doesn't appear to get freed in vmod_regex_match_dyn.
Patch we are currently testing against 81ad14f54a1:
```
diff --git a/src/vmod_re.c b/src/vmod_re.c
index 4f7e3ef..653b723 100644
--- a/src/vmod_re.c
+++ b/src/vmod_re.c
@@ -232,6 +232,7 @@ vmod_regex_match_dyn(const struct vrt_ctx *ctx, struct vmod_re_regex *re,
vre_t *vre;
int erroffset;
const char *error;
+ int dyn_return;
AN(pattern);
vre = VRE_compile(pattern, 0, &error, &erroffset);
@@ -241,7 +242,9 @@ vmod_regex_match_dyn(const struct vrt_ctx *ctx, struct vmod_re_regex *re,
pattern, error, erroffset);
return 0;
}
- return match(ctx, re, vre, subject);
+ dyn_return = match(ctx, re, vre, subject);
+ VRE_free(&vre);
+ return dyn_return;
}
VCL_STRING
```Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-blobcode/issues/3blob object constructor should use the static null_blob when blob length = 02018-04-07T23:12:31ZGeoff Simmonsblob object constructor should use the static null_blob when blob length = 0Currently the blob constructor creates a BLOB whose priv pointer is NULL when the encoding is the empty string:
```
new empty = blobcode.blob(encoded="");
```
An empty BLOB is a legitimate object, but priv==NULL does not play well with other VMODs expecting a BLOB.
The static `null_blob`, whose priv pointer points to the static constant empty string, was created for this purpose, and is returned by the `decode` function when the encoding is the empty string. The constructor should use it as well.Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/libvmod-blobcode/issues/2panic in fini2018-04-07T23:12:30ZNils Gorollpanic in finihappened when another vmod failed its init, suspecting that this happens when blobcode init has not run
```
Panic at: Fri, 31 Mar 2017 16:46:30 GMT
Assert error in vmod_blob__fini(), vmod_blobcode.c line 332:
Condition((*blobp) != 0) not true.
version = varnish-5.1.1 revision b758894, vrt api = 6.0
ident = Linux,3.10.0-327.10.1.el7.x86_64,x86_64,-jnone,-smalloc,-smalloc,-hcritbit,epoll
now = 32155596.095173 (mono), 1490978789.426915 (real)
Backtrace:
0x43d6e7: /opt/varnish/sbin/varnishd() [0x43d6e7]
0x7fe8b09fa4bc: ./vmod_cache/_vmod_blobcode.TOVGT@F@ZXKSUNYWNQRKKYRQXKUMTTWZ(vmod_blob__fini+0x25c) [0x7fe8b09fa4bc]
0x7fe89440a2e8: vcl_reload-varnish_20170331164625_393.1490978786.030789852/vgc.so(+0x202e8) [0x7fe89440a2e8]
0x44ccca: /opt/varnish/sbin/varnishd() [0x44ccca]
0x44d3d2: /opt/varnish/sbin/varnishd() [0x44d3d2]
0x492eda: /opt/varnish/sbin/varnishd() [0x492eda]
0x49326b: /opt/varnish/sbin/varnishd() [0x49326b]
0x495df8: /opt/varnish/sbin/varnishd(VLU_Fd+0xd8) [0x495df8]
0x49231c: /opt/varnish/sbin/varnishd(VCLS_Poll+0x1bc) [0x49231c]
0x420cd1: /opt/varnish/sbin/varnishd(CLI_Run+0x41) [0x420cd1]
thread = (cache-main)
thr.req = (nil) {
},
thr.busyobj = (nil) {
},
```Nils GorollNils Gorollhttps://code.uplex.de/uplex-varnish/libvmod-backend_dyn/issues/1./configure: line 13439: syntax error near unexpected token `-Werror=unused-r...2018-04-07T23:12:30Zfred./configure: line 13439: syntax error near unexpected token `-Werror=unused-result,'When i run ./configure im getting this error..
```
checking for python3.2... no
checking for python2.7... python2.7
checking for varnishtest... /usr/local/bin/varnishtest
checking for varnishd... /usr/local/sbin/varnishd
./configure: line 13439: syntax error near unexpected token `-Werror=unused-result,'
./configure: line 13439: `AX_CHECK_COMPILE_FLAG(-Werror=unused-result,'
```Geoff SimmonsGeoff Simmonshttps://code.uplex.de/uplex-varnish/varnishevent/issues/1Assertion failure when no contents from the log are specified in any format s...2018-04-07T23:12:31ZGeoff SimmonsAssertion failure when no contents from the log are specified in any format stringNoticed by Nils with: ``-g raw`` and this configuration:
```
cformat=
rformat=fixed_string
```
That would have the effect of just emitting the fixed string for every raw transaction (possibly filtered by a query) -- obviously very much a corner case, but nevertheless varnishevent shouldn't crash.
```
#2 0x0000000000404e41 in assert_fail (func=0x411031 <__func__.6111> "main", file=0x41090a "varnishevent.c", line=930,
cond=0x410580 "!VSTAILQ_EMPTY(&rdr_rec_freelist) || (!VSB_EMPTY(config.cformat) && nonrecs_wanted[VSL_t_req]) || (!VSB_EMPTY(config.bformat) && nonrecs_wanted[VSL_t_bereq]) || (!VSB_EMPTY(config.rformat) && nonrecs_"..., err_e=<optimized out>) at varnishevent.c:569
#3 0x0000000000404615 in main (argc=<optimized out>, argv=<optimized out>) at varnishevent.c:927
```https://code.uplex.de/uplex-varnish/libvmod-blobcode/issues/1make distcheck failure2018-04-07T23:12:30ZGeoff Simmonsmake distcheck failure```
rm -f config.status config.cache config.log configure.lineno config.status.lineno
rm -f Makefile
ERROR: files left in build directory after distclean:
./README.rst
./vmod_blobcode.3
Makefile:794: recipe for target 'distcleancheck' failed
make[1]: *** [distcleancheck] Error 1
make[1]: Leaving directory '<path>/libvmod-blobcode/libvmod-blobcode-0.1/_build'
Makefile:721: recipe for target 'distcheck' failed
make: *** [distcheck] Error 1
```
The build is not in error, but this is a problem with the autoconf/automake facility checking that files are cleaned after building a distribution. Related to the fact that we generate README.rst and check it into the repo, even though it is generated, so that it appears as the documentation in the front page of the gitlab project (and would also do so at gitlab).Geoff SimmonsGeoff Simmons