From varnish-bugs at varnish-cache.org Fri Aug 2 15:13:11 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Fri, 02 Aug 2013 15:13:11 -0000 Subject: [Varnish] #1331: Varnish coredump every day Message-ID: <057.61f245458e4feecbe1e632bca0171ded@varnish-cache.org> #1331: Varnish coredump every day -------------------------+---------------------- Reporter: jinjian.1@? | Type: defect Status: new | Priority: high Milestone: | Component: varnishd Version: 3.0.3 | Severity: critical Keywords: coredump | -------------------------+---------------------- we encountered varnish coredump issue everyday in this week. My version is 3.0.3 From var/log/messages: Aug 2 07:50:26 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:50:36 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:50:47 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:50:53 ip-10-36-1-238 stud[10104]: {client} Connection closed (in data) Aug 2 07:50:53 ip-10-36-1-238 stud[10104]: ipaddress :10.36.1.238 accept! Aug 2 07:50:57 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:51:02 ip-10-36-1-238 stud[10104]: {backend} Connection reset by peer Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: Child (28777) died signal=3 (core dumped) Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: child (20041) Started Aug 2 07:51:04 ip-10-36-1-238 varnishd[28776]: Child (20041) said Child starts from coredump: (gdb) bt #0 0x00007fdce4b41054 in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007fdce4b3c388 in _L_lock_854 () from /lib64/libpthread.so.0 #2 0x00007fdce4b3c257 in pthread_mutex_lock () from /lib64/libpthread.so.0 #3 0x0000000000434350 in vsl_get () #4 0x0000000000434508 in VSLR () #5 0x00000000004346d2 in VSL () #6 0x00007fdce66d2d95 in cls_vlu2 (priv=0x7fdce3d42780, av=0x7fd96e85b500) at cli_serve.c:292 #7 0x00007fdce66d347b in cls_vlu (priv=0x7fdce3d42780, p=0x2
) at cli_serve.c:339 #8 0x00007fdce66d6e09 in LineUpProcess (l=0x7fdce3d1d730) at vlu.c:154 #9 0x00007fdce66d3e7d in VCLS_Poll (cs=0x7fdce3d03290, timeout=) at cli_serve.c:528 #10 0x000000000041aa41 in CLI_Run () #11 0x000000000042ea01 in child_main () #12 0x000000000044155c in start_child () #13 0x0000000000441ee8 in MGT_Run () #14 0x000000000045037f in main () Our system is down for almost 1 minute during the recover process. The issue is very similar with https://www.varnish- cache.org/trac/ticket/516 and https://www.varnish- cache.org/trac/ticket/1054. But i could not find any solution there. Do anybody could put some lights on it? -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Mon Aug 5 10:02:31 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Mon, 05 Aug 2013 10:02:31 -0000 Subject: [Varnish] #1331: Varnish coredump every day In-Reply-To: <057.61f245458e4feecbe1e632bca0171ded@varnish-cache.org> References: <057.61f245458e4feecbe1e632bca0171ded@varnish-cache.org> Message-ID: <072.736ee86cf7759c1a7d3af4cfdcc55937@varnish-cache.org> #1331: Varnish coredump every day -------------------------+-------------------- Reporter: jinjian.1@? | Owner: Type: defect | Status: new Priority: high | Milestone: Component: varnishd | Version: 3.0.3 Severity: critical | Resolution: Keywords: coredump | -------------------------+-------------------- Description changed by tfheen: Old description: > we encountered varnish coredump issue everyday in this week. My version > is 3.0.3 > > From var/log/messages: > > Aug 2 07:50:26 ip-10-36-1-238 varnishd[28776]: Child (28777) not > responding to CLI, killing it. > Aug 2 07:50:36 ip-10-36-1-238 varnishd[28776]: Child (28777) not > responding to CLI, killing it. > Aug 2 07:50:47 ip-10-36-1-238 varnishd[28776]: Child (28777) not > responding to CLI, killing it. > Aug 2 07:50:53 ip-10-36-1-238 stud[10104]: {client} Connection closed > (in data) > Aug 2 07:50:53 ip-10-36-1-238 stud[10104]: ipaddress :10.36.1.238 > accept! > Aug 2 07:50:57 ip-10-36-1-238 varnishd[28776]: Child (28777) not > responding to CLI, killing it. > Aug 2 07:51:02 ip-10-36-1-238 stud[10104]: {backend} Connection reset by > peer > Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: Child (28777) not > responding to CLI, killing it. > Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: Child (28777) not > responding to CLI, killing it. > Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: Child (28777) died > signal=3 (core dumped) > Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: child (20041) Started > Aug 2 07:51:04 ip-10-36-1-238 varnishd[28776]: Child (20041) said Child > starts > > from coredump: > > (gdb) bt > #0 0x00007fdce4b41054 in __lll_lock_wait () from /lib64/libpthread.so.0 > #1 0x00007fdce4b3c388 in _L_lock_854 () from /lib64/libpthread.so.0 > #2 0x00007fdce4b3c257 in pthread_mutex_lock () from > /lib64/libpthread.so.0 > #3 0x0000000000434350 in vsl_get () > #4 0x0000000000434508 in VSLR () > #5 0x00000000004346d2 in VSL () > #6 0x00007fdce66d2d95 in cls_vlu2 (priv=0x7fdce3d42780, > av=0x7fd96e85b500) at cli_serve.c:292 > #7 0x00007fdce66d347b in cls_vlu (priv=0x7fdce3d42780, p=0x2
0x2 out of bounds>) at cli_serve.c:339 > #8 0x00007fdce66d6e09 in LineUpProcess (l=0x7fdce3d1d730) at vlu.c:154 > #9 0x00007fdce66d3e7d in VCLS_Poll (cs=0x7fdce3d03290, timeout= optimized out>) at cli_serve.c:528 > #10 0x000000000041aa41 in CLI_Run () > #11 0x000000000042ea01 in child_main () > #12 0x000000000044155c in start_child () > #13 0x0000000000441ee8 in MGT_Run () > #14 0x000000000045037f in main () > > Our system is down for almost 1 minute during the recover process. > > The issue is very similar with https://www.varnish- > cache.org/trac/ticket/516 and https://www.varnish- > cache.org/trac/ticket/1054. But i could not find any solution there. Do > anybody could put some lights on it? New description: we encountered varnish coredump issue everyday in this week. My version is 3.0.3 From var/log/messages: {{{ Aug 2 07:50:26 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:50:36 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:50:47 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:50:53 ip-10-36-1-238 stud[10104]: {client} Connection closed (in data) Aug 2 07:50:53 ip-10-36-1-238 stud[10104]: ipaddress :10.36.1.238 accept! Aug 2 07:50:57 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:51:02 ip-10-36-1-238 stud[10104]: {backend} Connection reset by peer Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: Child (28777) not responding to CLI, killing it. Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: Child (28777) died signal=3 (core dumped) Aug 2 07:51:02 ip-10-36-1-238 varnishd[28776]: child (20041) Started Aug 2 07:51:04 ip-10-36-1-238 varnishd[28776]: Child (20041) said Child starts }}} from coredump: {{{ (gdb) bt #0 0x00007fdce4b41054 in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007fdce4b3c388 in _L_lock_854 () from /lib64/libpthread.so.0 #2 0x00007fdce4b3c257 in pthread_mutex_lock () from /lib64/libpthread.so.0 #3 0x0000000000434350 in vsl_get () #4 0x0000000000434508 in VSLR () #5 0x00000000004346d2 in VSL () #6 0x00007fdce66d2d95 in cls_vlu2 (priv=0x7fdce3d42780, av=0x7fd96e85b500) at cli_serve.c:292 #7 0x00007fdce66d347b in cls_vlu (priv=0x7fdce3d42780, p=0x2
) at cli_serve.c:339 #8 0x00007fdce66d6e09 in LineUpProcess (l=0x7fdce3d1d730) at vlu.c:154 #9 0x00007fdce66d3e7d in VCLS_Poll (cs=0x7fdce3d03290, timeout=) at cli_serve.c:528 #10 0x000000000041aa41 in CLI_Run () #11 0x000000000042ea01 in child_main () #12 0x000000000044155c in start_child () #13 0x0000000000441ee8 in MGT_Run () #14 0x000000000045037f in main () }}} Our system is down for almost 1 minute during the recover process. The issue is very similar with https://www.varnish- cache.org/trac/ticket/516 and https://www.varnish- cache.org/trac/ticket/1054. But i could not find any solution there. Do anybody could put some lights on it? -- -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Mon Aug 5 10:16:40 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Mon, 05 Aug 2013 10:16:40 -0000 Subject: [Varnish] #1331: Varnish coredump every day In-Reply-To: <057.61f245458e4feecbe1e632bca0171ded@varnish-cache.org> References: <057.61f245458e4feecbe1e632bca0171ded@varnish-cache.org> Message-ID: <072.2b01db0aaf3972537efa5c1eff081550@varnish-cache.org> #1331: Varnish coredump every day -------------------------+--------------------- Reporter: jinjian.1@? | Owner: martin Type: defect | Status: new Priority: high | Milestone: Component: varnishd | Version: 3.0.3 Severity: critical | Resolution: Keywords: coredump | -------------------------+--------------------- Changes (by martin): * owner: => martin -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Mon Aug 5 10:25:29 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Mon, 05 Aug 2013 10:25:29 -0000 Subject: [Varnish] #1329: Option to respect X-Forwarded-For header in varnishncsa In-Reply-To: <046.f6a0609e3c05067c33e5f0c9ce3f579c@varnish-cache.org> References: <046.f6a0609e3c05067c33e5f0c9ce3f579c@varnish-cache.org> Message-ID: <061.86b35caf4fe520dba29ddfeaa6355589@varnish-cache.org> #1329: Option to respect X-Forwarded-For header in varnishncsa -------------------------+-------------------- Reporter: mhelmich | Owner: Type: enhancement | Status: new Priority: normal | Milestone: Component: varnishncsa | Version: 3.0.4 Severity: minor | Resolution: Keywords: | -------------------------+-------------------- Comment (by tfheen): You can do this with the -F switch alone if you just log what you want in VCL (std.log("IP:"+client.ip) and then use %{VCL_Log:IP} in your format string. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Mon Aug 5 11:13:39 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Mon, 05 Aug 2013 11:13:39 -0000 Subject: [Varnish] #1331: Varnish coredump every day In-Reply-To: <057.61f245458e4feecbe1e632bca0171ded@varnish-cache.org> References: <057.61f245458e4feecbe1e632bca0171ded@varnish-cache.org> Message-ID: <072.390033b0825b3cde415bff95821954f1@varnish-cache.org> #1331: Varnish coredump every day -------------------------+------------------------- Reporter: jinjian.1@? | Owner: martin Type: defect | Status: closed Priority: high | Milestone: Component: varnishd | Version: 3.0.3 Severity: critical | Resolution: worksforme Keywords: coredump | -------------------------+------------------------- Changes (by martin): * status: new => closed * resolution: => worksforme Comment: Hi, This looks like your Varnish is suffering under too much IO load, and page-ins take longer than the CLI timeout causing the manager process to SIGQUIT the child. Remedies include: - Reducing disk IO (more RAM / smaller cache set) - Increasing cli_timeout parameter - Putting the Varnish SHM file on tmpfs, to avoid it being paged out. See https://www.varnish-software.com/static/book/Tuning.html and google for more information. Regards, Martin Blix Grydeland -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Tue Aug 6 09:56:18 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Tue, 06 Aug 2013 09:56:18 -0000 Subject: [Varnish] #1325: varnishlog -m option stopped working In-Reply-To: <042.808cb3a68d1dc0263dd42a8e6ecd8a1d@varnish-cache.org> References: <042.808cb3a68d1dc0263dd42a8e6ecd8a1d@varnish-cache.org> Message-ID: <057.3581ae87879b09c77a1e82f3fd4e80cb@varnish-cache.org> #1325: varnishlog -m option stopped working ------------------------+----------------------------------------- Reporter: xani | Owner: Tollef Fog Heen Type: defect | Status: closed Priority: normal | Milestone: Component: varnishlog | Version: 3.0.4 Severity: normal | Resolution: fixed Keywords: | ------------------------+----------------------------------------- Changes (by Tollef Fog Heen ): * owner: => Tollef Fog Heen * status: new => closed * resolution: => fixed Comment: In [412c4f754dd805e06803efa170e5d62afd23dd0d]: {{{ #!CommitTicketReference repository="" revision="412c4f754dd805e06803efa170e5d62afd23dd0d" Emit BackendXID and check c_flag/b_flag properly 07d488cb96c703dd7c0ccf7049448c6291f1f0cf partially broke varnishlog, since libvarnishapi did not properly check if both -c and -b were given. In addition, varnishd did not emit a tag at the start of a backend transaction. Emit BackendXID since that seems appropriate. Fixes #1325 }}} -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Tue Aug 6 13:20:47 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Tue, 06 Aug 2013 13:20:47 -0000 Subject: [Varnish] #1332: ENUM in Object member method hides subsequent methods Message-ID: <040.62e2fd5e6f9040f25ea2fd5511a3f4a0@varnish-cache.org> #1332: ENUM in Object member method hides subsequent methods ---------------------------+-------------------- Reporter: jw | Type: defect Status: new | Priority: normal Milestone: | Component: build Version: trunk | Severity: normal Keywords: vmod VCL_ENUM | ---------------------------+-------------------- When an object contains a method that takes an ENUM as arguments, methods after the enums can not be reached in VCL. Consider the following vmod.vcc: {{{ Module etest Object etest() { Method VOID .bar(ENUM { AA, BB, CC, DD }) Method VOID .foo() } }}} foo becomes invisible the the VCL compiler: {{{ backend default { .host = "127.0.0.1"; .port = "80"; } backend b1 { .host = "192.168.100.11"; .port = "8000"; } import etest; sub vcl_init { new et = etest.etest(); } sub vcl_recv { et.foo(); et.bar(AA); set req.backend = b1; } }}} {{{ ./sbin/varnishd -a 127.0.0.1:8080 -d -f ./etc/varnish/default.vcl -C Message from VCC-compiler: Not running as root, no priv-sep Expected an action, 'if', '{' or '}' ('input' Line 19 Pos 9) et.foo(); --------######--- }}} Switching the position of foo and bar in vmod.vcc "solves" the issue, as there is no method after. The reason seems to be, that ENUM ends with \0\0, plus a third \0 for the Method ends appears as \0\0\0 just as the end of the Object definition. const char * const Vmod_etest_Spec[] = { /* Object etest */ "OBJ\0" "etest.etest\0Vmod_etest_Func.etest__init\0VOID\0\0" "struct vmod_etest_etest\0" "etest.etest\0Vmod_etest_Func.etest__fini\0VOID\0\0" "etest.etest.bar\0Vmod_etest_Func.etest_bar\0VOID\0ENUM\0AA\0BB\0CC\0DD\0\0\0" "etest.etest.foo\0Vmod_etest_Func.etest_foo\0VOID\0\0" "\0", /* Functions */ /* Init/Fini */ 0 }; Just for the case you want to reproduce: etest.c {{{ #include #include "vrt.h" #include "cache/cache.h" #include "vcc_if.h" struct vmod_etest_etest { unsigned magic; //needed #define VMOD_ETEST_ETEST_MAGIC 0x9454a5ce }; VCL_VOID __match_proto__(td_etest_etest__init) vmod_etest__init(const struct vrt_ctx *ctx, struct vmod_etest_etest **etestp, const char *vcl_name) { struct vmod_etest_etest *etest; CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); AN(etestp); AZ(*etestp); ALLOC_OBJ(etest, VMOD_ETEST_ETEST_MAGIC); AN(etest); *etestp = etest; } VCL_VOID __match_proto__(td_etest_etest__fini) vmod_etest__fini(struct vmod_etest_etest **etestp) { struct vmod_etest_etest *etest; etest = *etestp; *etestp = NULL; CHECK_OBJ_NOTNULL(etest, VMOD_ETEST_ETEST_MAGIC); FREE_OBJ(etest); } VCL_VOID __match_proto__(td_etest_etest_foo) vmod_etest_foo(const struct vrt_ctx *ctx, struct vmod_etest_etest *etest) { CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); CHECK_OBJ_NOTNULL(etest, VMOD_ETEST_ETEST_MAGIC); txt t; char *msg = "DEBUG etest.foo()"; t.b = msg; t.e = msg + strlen(msg); VSLbt(ctx->vsl, SLT_Debug, t); } VCL_VOID __match_proto__(td_etest_etest_bar) vmod_etest_bar(const struct vrt_ctx *ctx, struct vmod_etest_etest *etest, VCL_ENUM e) { CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); CHECK_OBJ_NOTNULL(etest, VMOD_ETEST_ETEST_MAGIC); txt t; char *msg = "DEBUG etest.bar()"; t.b = msg; t.e = msg + strlen(msg); VSLbt(ctx->vsl, SLT_Debug, t); } }}} -- Ticket URL: Varnish The Varnish HTTP Accelerator From lubing at beisen.com Thu Aug 1 08:09:29 2013 From: lubing at beisen.com (=?gb2312?B?wqyx+A==?=) Date: Thu, 1 Aug 2013 16:09:29 +0800 Subject: =?gb2312?B?tPC4tDogdmFybmlzaC1idWdzIERpZ2VzdCwgVm9sIDgyLCBJc3N1ZSAxNQ==?= In-Reply-To: References: Message-ID: <001e01ce8e8e$7294fcf0$57bef6d0$@com> [root at test-lighttp bin]# /usr/local/varnish-3.0.2/bin/varnishncsa -F "%{X-Forwarded-For}i %h %l %u %D %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" The following error occurred? Unknown format starting at: %D %t "%r" %s %b "%{Referer}i" "%{User-agent}i" From varnish-bugs at varnish-cache.org Mon Aug 12 10:26:34 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Mon, 12 Aug 2013 10:26:34 -0000 Subject: [Varnish] #1287: Varnish 3.0.3 - segfault in libvarnish.so. In-Reply-To: <044.f166c5ec2ec8ea0bd77090495e866ce4@varnish-cache.org> References: <044.f166c5ec2ec8ea0bd77090495e866ce4@varnish-cache.org> Message-ID: <059.8fae8df8f8c3c4b11c36fa251e8576c9@varnish-cache.org> #1287: Varnish 3.0.3 - segfault in libvarnish.so. ------------------------------------+--------------------- Reporter: robroy | Owner: martin Type: defect | Status: closed Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: fixed Keywords: segfault libvarnish.so | ------------------------------------+--------------------- Changes (by Martin Blix Grydeland ): * status: new => closed * resolution: => fixed Comment: In [7ec9d11ee2e9d8f8e3084e6a0e95b9b97c10a93a]: {{{ #!CommitTicketReference repository="" revision="7ec9d11ee2e9d8f8e3084e6a0e95b9b97c10a93a" Fix seg fault in VRT_synth_page when the string list has a NULL pointer as the first element. Fixes: #1287 }}} -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Mon Aug 12 10:29:48 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Mon, 12 Aug 2013 10:29:48 -0000 Subject: [Varnish] #1287: Varnish 3.0.3 - segfault in libvarnish.so. In-Reply-To: <044.f166c5ec2ec8ea0bd77090495e866ce4@varnish-cache.org> References: <044.f166c5ec2ec8ea0bd77090495e866ce4@varnish-cache.org> Message-ID: <059.6e85fd60269563ddfd0c95a3c023bed0@varnish-cache.org> #1287: Varnish 3.0.3 - segfault in libvarnish.so. ------------------------------------+--------------------- Reporter: robroy | Owner: martin Type: defect | Status: closed Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: fixed Keywords: segfault libvarnish.so | ------------------------------------+--------------------- Comment (by Martin Blix Grydeland ): In [88d785b3a963105dd76c49ba2e4303afabc5e1db]: {{{ #!CommitTicketReference repository="" revision="88d785b3a963105dd76c49ba2e4303afabc5e1db" Fix seg fault in VRT_synth_page when the string list has a NULL pointer as the first element. Fixes: #1287 }}} -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Tue Aug 13 08:38:01 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Tue, 13 Aug 2013 08:38:01 -0000 Subject: [Varnish] #1332: ENUM in Object member method hides subsequent methods In-Reply-To: <040.62e2fd5e6f9040f25ea2fd5511a3f4a0@varnish-cache.org> References: <040.62e2fd5e6f9040f25ea2fd5511a3f4a0@varnish-cache.org> Message-ID: <055.5aa4ad3f4800d2be2a712edadd8ce5eb@varnish-cache.org> #1332: ENUM in Object member method hides subsequent methods ---------------------------+----------------------------------------------- Reporter: jw | Owner: Martin Blix Grydeland Type: defect | Status: closed Priority: normal | Milestone: Component: build | Version: trunk Severity: normal | Resolution: fixed Keywords: vmod VCL_ENUM | ---------------------------+----------------------------------------------- Changes (by Martin Blix Grydeland ): * owner: => Martin Blix Grydeland * status: new => closed * resolution: => fixed Comment: In [df22bd225a437abdd4e9742f8593a81128852407]: {{{ #!CommitTicketReference repository="" revision="df22bd225a437abdd4e9742f8593a81128852407" Add special parsing of ENUM in vmod object method argument spec The missing handler would end the object spec prematurily, hiding the rest of the methods. Fixes: #1332 }}} -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Mon Aug 19 10:04:32 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Mon, 19 Aug 2013 10:04:32 -0000 Subject: [Varnish] #1329: Option to respect X-Forwarded-For header in varnishncsa In-Reply-To: <046.f6a0609e3c05067c33e5f0c9ce3f579c@varnish-cache.org> References: <046.f6a0609e3c05067c33e5f0c9ce3f579c@varnish-cache.org> Message-ID: <061.995000ec683d472692802d845596f850@varnish-cache.org> #1329: Option to respect X-Forwarded-For header in varnishncsa -------------------------+---------------------- Reporter: mhelmich | Owner: Type: enhancement | Status: closed Priority: normal | Milestone: Component: varnishncsa | Version: 3.0.4 Severity: minor | Resolution: wontfix Keywords: | -------------------------+---------------------- Changes (by martin): * status: new => closed * resolution: => wontfix -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Mon Aug 19 15:07:36 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Mon, 19 Aug 2013 15:07:36 -0000 Subject: [Varnish] #1330: VSL_Dispatch parameters 'fd' and 'spec' intermittently called with uninitialized values In-Reply-To: <043.aa626a75c4fe2e02d466c0020d05a41b@varnish-cache.org> References: <043.aa626a75c4fe2e02d466c0020d05a41b@varnish-cache.org> Message-ID: <058.97cc5a2c305942e99e0d758c6423be67@varnish-cache.org> #1330: VSL_Dispatch parameters 'fd' and 'spec' intermittently called with uninitialized values ------------------------+-------------------- Reporter: geoff | Owner: Type: defect | Status: new Priority: high | Milestone: Component: varnishlog | Version: 3.0.3 Severity: major | Resolution: Keywords: | ------------------------+-------------------- Comment (by geoff): In IRC we mentioned the possibility that the compiler may be interfering, maybe an inappropriate optimization. So here's how I build. First of all, my own environment, where I build to develop: {{{ $ uname -a Linux gsimmons 3.2.0-0.bpo.4-amd64 #1 SMP Debian 3.2.46-1~bpo60+1 x86_64 GNU/Linux $ gcc --version gcc (Debian 4.4.5-8) 4.4.5 $ ./configure --enable-developer-warnings --enable-debugging-symbols --enable-extra-developer-warnings --enable-werror --enable-diagnostics CFLAGS=-m64 }}} For deployments on our test and live environments, we build RPMs on Redhat. The main difference in the configure step is just that it sets fewer debugging flags, and sets some paths (install prefix, runtime lib path etc.) to non-standard locations (masked here): {{{ $ uname -a Linux jenkins-dev-b03507 2.6.32-279.14.1.el6.x86_64 #1 SMP Mon Oct 15 13:44:51 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux $ gcc --version gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4) $ CFLAGS=-m64 LDFLAGS=-Wl,-rpath=$XXXX_VARNISH_PREFIX/lib/varnish:$XXXX_VARNISH_PREFIX/lib ./configure --prefix=$XXXX_VARNISH_PREFIX --enable-debugging-symbols --enable-tests }}} So the compilation call for one of the C sources looks like this: {{{ gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../lib/libvgz -I../../include -DVARNISH_STATE_DIR='"/var/opt /varnish-xxxxx/var/varnish"' -DVARNISH_VMOD_DIR='"/var/opt/varnish- xxxx/lib/varnish/vmods"' -DVARNISH_VCL_DIR='"/var/opt/varnish- xxxx/etc/varnish"' -m64 -pthread -O0 -g -fno-inline -Wextra -Wno-missing- field-initializers -Wno-sign-compare -MT varnishd-vsm.o -MD -MP -MF .deps /varnishd-vsm.Tpo -c -o varnishd-vsm.o `test -f 'vsm.c' || echo './'`vsm.c mv -f .deps/varnishd-vsm.Tpo .deps/varnishd-vsm.Po }}} It sets {{{-O0}}}, which probably doesn't cause any troublesome optimizations. But I don't know what all those {{-M}} flags do, maybe one of them is the source of the trouble. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Wed Aug 21 08:55:28 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Wed, 21 Aug 2013 08:55:28 -0000 Subject: [Varnish] #1272: duplicate Content-Length headers with pass and stream In-Reply-To: <045.e87497923f5222571a8b67f55be7787e@varnish-cache.org> References: <045.e87497923f5222571a8b67f55be7787e@varnish-cache.org> Message-ID: <060.a7433ddd87f6a8b8cf7da68ec661280a@varnish-cache.org> #1272: duplicate Content-Length headers with pass and stream -----------------------------------+--------------------- Reporter: ehocdet | Owner: martin Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: 3.0.3 Severity: normal | Resolution: Keywords: stream Content-Length | -----------------------------------+--------------------- Comment (by pada): This bug also occurs with version 3.0.4 and produces duplicate Content- Length headers, conflicting with http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 Patch https://www.varnish- cache.org/trac/attachment/ticket/1272/1272.2.patch fixed it for us. Please integrate into upstream. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Mon Aug 26 10:15:28 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Mon, 26 Aug 2013 10:15:28 -0000 Subject: [Varnish] #1272: duplicate Content-Length headers with pass and stream In-Reply-To: <045.e87497923f5222571a8b67f55be7787e@varnish-cache.org> References: <045.e87497923f5222571a8b67f55be7787e@varnish-cache.org> Message-ID: <060.d1f9672130f616c4ae23bf6fa8a485ce@varnish-cache.org> #1272: duplicate Content-Length headers with pass and stream -----------------------------------+--------------------- Reporter: ehocdet | Owner: martin Type: defect | Status: closed Priority: normal | Milestone: Component: varnishd | Version: 3.0.3 Severity: normal | Resolution: fixed Keywords: stream Content-Length | -----------------------------------+--------------------- Changes (by Martin Blix Grydeland ): * status: new => closed * resolution: => fixed Comment: In [0a7e6caa0c6bd93003d4733e96f5ea054ac84cbc]: {{{ #!CommitTicketReference repository="" revision="0a7e6caa0c6bd93003d4733e96f5ea054ac84cbc" Fix duplicate Content-Length headers with pass and stream Fixes: #1272 Patch by: ehocdet }}} -- Ticket URL: Varnish The Varnish HTTP Accelerator From yabuki at sraoss.co.jp Tue Aug 13 04:52:30 2013 From: yabuki at sraoss.co.jp (YABUKI Youichi) Date: Tue, 13 Aug 2013 13:52:30 +0900 Subject: varnish 2.1.5 assert error in http_SetH() Message-ID: <201308130452.NAA08394@osspc4.sra.co.jp> My customers varnish 2.1.5 aborted with Assert error in http_SetH(). The related logs in /var/log/messages are as follow. This problem seems like #726. https://www.varnish-cache.org/lists/pipermail/varnish-bugs/2010-June/002888.html The page says this is fixed in trunk, but I cannot find the fix for 2.1.5. Is my fix bellow OK? /var/log/messages: ----------------------------------------------------------------------------- Jul 25 06:12:22 XXXXXXXXXX varnishd[4883]: Child (4898) died signal=6 Jul 25 06:12:22 XXXXXXXXXX varnishd[4883]: Child (4898) Panic message: Assert error in http_SetH(), cache_http.c line 656: Condition((fm) != 0) not true. thread = (cache-worker) ident = Linux,2.6.18-194.el5,x86_64,-sfile,-hclassic,epoll Backtrace: 0x42bad9: pan_backtrace+16 0x42bd42: pan_ic+164 0x427006: http_SetH+81 0x4352ac: VRT_l_obj_status+d8 0x2acd5b411ce5: _end+2acd5ad8547d 0x2acd5b414cac: _end+2acd5ad88444 0x4328cf: VCL_error_method+6a 0x4150eb: cnt_error+2fa 0x418558: CNT_Session+5e1 0x42d7e9: wrk_do_cnt_sess+12a sp = 0x2acd57f02008 { fd = 20, id = 20, xid = 4240864234, client = XX.XX.XX.XX 46773, step = STP_ERROR, handling = deliver, err_code = 854, err_reason = redirection, restarts = 0, esis = 0 ws = 0x2acd57f02080 { id = "sess", {s,f,r,e} = {0x2acd57f02cd8,+1464,(nil),+131072}, }, http[req] = { ws = 0x2acd57f02080[sess] "GET", "/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X! XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Jul 25 06:12:22 XXXXXXXXXX varnishd[4883]: Child cleanup complete Jul 25 06:12:22 XXXXXXXXXX varnishd[4883]: child (2652) Started Jul 25 06:12:22 XXXXXXXXXX varnishd[4883]: Child (2652) said Jul 25 06:12:22 XXXXXXXXXX varnishd[4883]: Child (2652) said Child starts Jul 25 06:12:22 XXXXXXXXXX varnishd[4883]: Child (2652) said managed to mmap 107374182400 bytes of 107374182400 ----------------------------------------------------------------------------- patch: ----------------------------------------------------------------------------- --- cache_vrt.c.org 2013-08-07 13:00:12.000000000 +0900 +++ cache_vrt.c 2013-08-08 10:36:24.000000000 +0900 @@ -275,12 +275,13 @@ VRT_l_obj_status(const struct sess *sp, assert(num >= 100 && num <= 999); p = WS_Alloc(sp->obj->http->ws, 4); - if (p == NULL) + if (p == NULL) { WSP(sp, SLT_LostHeader, "%s", "obj.status"); - else + } else { sprintf(p, "%d", num); - http_SetH(sp->obj->http, HTTP_HDR_STATUS, p); - sp->obj->http->status = num; + http_SetH(sp->obj->http, HTTP_HDR_STATUS, p); + sp->obj->http->status = num; + } } /* Add an objecthead to the saintmode list for the (hopefully) relevant @@ -356,12 +357,13 @@ VRT_l_resp_status(const struct sess *sp, assert(num >= 100 && num <= 999); p = WS_Alloc(sp->wrk->ws, 4); - if (p == NULL) + if (p == NULL) { WSP(sp, SLT_LostHeader, "%s", "resp.status"); - else + } else { sprintf(p, "%d", num); - http_SetH(sp->wrk->resp, HTTP_HDR_STATUS, p); - sp->wrk->resp->status = num; + http_SetH(sp->wrk->resp, HTTP_HDR_STATUS, p); + sp->wrk->resp->status = num; + } } int @@ -461,12 +463,13 @@ VRT_l_beresp_status(const struct sess *s assert(num >= 100 && num <= 999); p = WS_Alloc(sp->wrk->beresp->ws, 4); - if (p == NULL) + if (p == NULL) { WSP(sp, SLT_LostHeader, "%s", "obj.status"); - else + } else { sprintf(p, "%d", num); - http_SetH(sp->wrk->beresp, HTTP_HDR_STATUS, p); - sp->wrk->beresp->status = num; + http_SetH(sp->wrk->beresp, HTTP_HDR_STATUS, p); + sp->wrk->beresp->status = num; + } } int ----------------------------------------------------------------------------- yabuki at sraoss.co.jp SRA OSS,Inc.Japan From Tim.Harrison2 at bbc.co.uk Thu Aug 22 18:10:52 2013 From: Tim.Harrison2 at bbc.co.uk (Tim Harrison) Date: Thu, 22 Aug 2013 18:10:52 +0000 Subject: DNS Director with hostname resolving to multiple IPs Message-ID: Hi, The Varnish Reference Manual suggests that the DNS director can be used with a hostname that resolves to multiple IP addresses, ?DNS round robin balancing is supported. If a hostname resolves to multiple backends, the director will divide the traffic between all of them in a round-robin manner.? And I believe the following is the correct VCL to implement this, director test dns { { .backend = { .host = "hostname.with.multiple.ips"; } } .ttl = 10s; } However, on compilation Varnish complains, Backend host "hostname.with.multiple.ips": resolves to multiple IPv4 addresses. Only one address is allowed. Please specify which exact address you want to use, we found these: xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx Having looked at the source code in vcc_dir_dns.c and vcc_backend.c, it seems that the hostname associated with a .host object can never resolve to more than one IP address, so it?s not clear how the functionality described in the Reference Manual can be achieved. I think this may be a bug, can you help please? Many thanks, Tim Harrison ---------------------------- http://www.bbc.co.uk This e-mail (and any attachments) is confidential and may contain personal views which are not the views of the BBC unless specifically stated. If you have received it in error, please delete it from your system. Do not use, copy or disclose the information in any way nor act in reliance on it and notify the sender immediately. Please note that the BBC monitors e-mails sent or received. Further communication will signify your consent to this. --------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From varnish-bugs at varnish-cache.org Tue Aug 27 20:00:57 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Tue, 27 Aug 2013 20:00:57 -0000 Subject: [Varnish] #1333: ESI include parsing HTTPS urls as relative not absolute Message-ID: <045.6b8080c61995515ca77fff449e5494d0@varnish-cache.org> #1333: ESI include parsing HTTPS urls as relative not absolute ---------------------+---------------------- Reporter: rabbitt | Type: defect Status: new | Priority: normal Milestone: | Component: varnishd Version: unknown | Severity: normal Keywords: | ---------------------+---------------------- If your your esi:include src contains an https:// url, it is considered by varnish to be a relative URI instead of a fully qualifed URL. This causes requests to a page like: https://somehost.com/foo/bar that returns an esi:include src of something like: https://somehost.com/baz to send a backend request (TxURL) of: /foo/https://somehost.com/baz A patch (in the form of a pull request) can be found here: https://github.com/varnish/Varnish-Cache/pull/32 Thanks!, -- Carl P. Corliss -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Tue Aug 27 20:50:24 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Tue, 27 Aug 2013 20:50:24 -0000 Subject: [Varnish] #1086: VGZ_WrwGunzip loops forever if receiving junk data after end of gzip data In-Reply-To: <044.dedba8f13c20d02f02a39731a1edea7c@varnish-cache.org> References: <044.dedba8f13c20d02f02a39731a1edea7c@varnish-cache.org> Message-ID: <059.194069257aa5b757de21e36e459f8fe1@varnish-cache.org> #1086: VGZ_WrwGunzip loops forever if receiving junk data after end of gzip data ----------------------+--------------------- Reporter: martin | Owner: martin Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: 3.0.2 Severity: normal | Resolution: Keywords: | ----------------------+--------------------- Comment (by nnewton): I don't have much to add here, but wanted to note that I've also recently hit this with a cluster of 3 varnish 3.0.3 servers. It was pretty much identical to the above situations: * Varnish would run for about an hour and then one thread would take 100% of a single core, if you left it eventually another thread would as well. * If you pull the stack of these threads they are clearly looping through the gunzip process. * These events happened around incomplete transfers from the backend it would seem. * They were all on ESI-ed paths, thus forcing varnish to attempt to gunzip the object from the backend. We resolved the issue be editing the VCL to request un-gzipped objects from the backend on ESI-ed paths. This has solved the issue for us. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at varnish-cache.org Wed Aug 28 15:34:22 2013 From: varnish-bugs at varnish-cache.org (Varnish) Date: Wed, 28 Aug 2013 15:34:22 -0000 Subject: [Varnish] #1334: DNS Director with hostname resolving to multiple IPs is not possible Message-ID: <043.991b3b2d7f57c8dd72a70935f5412ba5@varnish-cache.org> #1334: DNS Director with hostname resolving to multiple IPs is not possible --------------------------------+-------------------- Reporter: timrh | Type: defect Status: new | Priority: normal Milestone: | Component: build Version: 3.0.3 | Severity: normal Keywords: dns director .host | --------------------------------+-------------------- The [https://www.varnish-cache.org/docs/3.0/reference/vcl.html#the-dns- director Varnish Reference Manual] suggests that the DNS director can be used with a hostname that resolves to multiple IP addresses, DNS round robin balancing is supported. If a hostname resolves to multiple backends, the director will divide the traffic between all of them in a round-robin manner. And I believe the following is the correct VCL to implement this, {{{ director test dns { { .backend = { .host = "hostname.with.multiple.ips"; } } .ttl = 10s; } }}} However, on compilation Varnish complains, {{{ Backend host "hostname.with.multiple.ips": resolves to multiple IPv4 addresses. Only one address is allowed. Please specify which exact address you want to use, we found these: xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx }}} Having looked at the source code in {{{vcc_dir_dns.c}}} and {{{vcc_backend.c}}}, it seems that the hostname associated with a {{{.host}}} object can never resolve to more than one IP address, so it?s not clear how the functionality described in the Reference Manual can be achieved. -- Ticket URL: Varnish The Varnish HTTP Accelerator From jonathan.huot at thomsonreuters.com Tue Aug 27 13:39:50 2013 From: jonathan.huot at thomsonreuters.com (jonathan.huot at thomsonreuters.com) Date: Tue, 27 Aug 2013 13:39:50 -0000 Subject: DNS Director with hostname resolving to multiple IPs In-Reply-To: References: Message-ID: <8E656B642592B942AE317E2AFAE0ABA149F62243@UK2P-ERFMMBX10.ERF.thomson.com> Have you tried with a correct example of DNS director ? e.g. from The Varnish Reference Manual : director directorname dns { .list = { .host_header = "www.example.com"; .port = "80"; .connect_timeout = 0.4s; "192.168.15.0"/24; "192.168.16.128"/25; } .ttl = 5m; .suffix = "internal.example.net"; } Varnish need to know in advance the range of IPs, else, it will not be working. I think latest version of Varnish will improve this kind of ability by implementing lazy backend creation. But I?m not sure if it?s stable enough to be used. Jonathan Huot Phone: +33(0)1.47.62.78.65 From: varnish-bugs-bounces+jonathan.huot=thomsonreuters.com at varnish-cache.org [mailto:varnish-bugs-bounces+jonathan.huot=thomsonreuters.com at varnish-cache.org] On Behalf Of Tim Harrison Sent: Thursday, 22 August 2013 08:11 PM To: varnish-bugs at varnish-cache.org Subject: DNS Director with hostname resolving to multiple IPs Hi, The Varnish Reference Manual suggests that the DNS director can be used with a hostname that resolves to multiple IP addresses, ?DNS round robin balancing is supported. If a hostname resolves to multiple backends, the director will divide the traffic between all of them in a round-robin manner.? And I believe the following is the correct VCL to implement this, director test dns { { .backend = { .host = "hostname.with.multiple.ips"; } } .ttl = 10s; } However, on compilation Varnish complains, Backend host "hostname.with.multiple.ips": resolves to multiple IPv4 addresses. Only one address is allowed. Please specify which exact address you want to use, we found these: xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx Having looked at the source code in vcc_dir_dns.c and vcc_backend.c, it seems that the hostname associated with a .host object can never resolve to more than one IP address, so it?s not clear how the functionality described in the Reference Manual can be achieved. I think this may be a bug, can you help please? Many thanks, Tim Harrison ---------------------------- http://www.bbc.co.uk This e-mail (and any attachments) is confidential and may contain personal views which are not the views of the BBC unless specifically stated. If you have received it in error, please delete it from your system. Do not use, copy or disclose the information in any way nor act in reliance on it and notify the sender immediately. Please note that the BBC monitors e-mails sent or received. Further communication will signify your consent to this. --------------------- This email was sent to you by Thomson Reuters, the global news and information company. Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Thomson Reuters. -------------- next part -------------- An HTML attachment was scrubbed... URL: