Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Varnish: Bugs

#971: Broken DNS director

 

 

Varnish bugs RSS feed   Index | Next | Previous | View Threaded


varnish-bugs at varnish-cache

Aug 4, 2011, 3:45 AM

Post #1 of 13 (603 views)
Permalink
#971: Broken DNS director

#971: Broken DNS director
-------------------+--------------------------------------------------------
Reporter: rdvn | Type: defect
Status: new | Priority: normal
Milestone: | Component: build
Version: 3.0.0 | Severity: critical
Keywords: |
-------------------+--------------------------------------------------------
'''Description of the problem:'''

Child process segfaults when using a DNS director.

'''Version-Release number of selected component (if applicable):'''

varnish-3.0.0-2.el5.x86_64

'''How reproducible:'''

Every time.

'''Step to reproduce:'''

1. Set up a DNS director

2. Start varnishd

'''Actual results:'''

Child process segfaults.

'''Expected results:'''

Working DNS director.

--
Ticket URL: <http://varnish-cache.org/trac/ticket/971>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Aug 4, 2011, 3:45 AM

Post #2 of 13 (596 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
-------------------+--------------------------------------------------------
Reporter: rdvn | Type: defect
Status: new | Priority: normal
Milestone: | Component: build
Version: 3.0.0 | Severity: critical
Keywords: |
-------------------+--------------------------------------------------------

Comment(by rdvn):

gdb backtrace

{{{
#0 VBE_UseHealth (vdi=0x0) at cache_backend.c:428
#1 0x000000000043236c in ccf_config_use (cli=<value optimized out>,
av=<value optimized out>, priv=<value optimized out>) at cache_vcl.c:309
#2 0x00000031ed806b4e in cls_dispatch (priv=0x7f8d58a0d780,
av=0x7f8d521ae880) at cli_serve.c:228
#3 cls_vlu2 (priv=0x7f8d58a0d780, av=0x7f8d521ae880) at cli_serve.c:284
#4 0x00000031ed80702d in cls_vlu (priv=0x7f8d58a0d780, p=<value optimized
out>) at cli_serve.c:339
#5 0x00000031ed809fe9 in LineUpProcess (l=0x7f8d58a02790) at vlu.c:154
#6 0x00000031ed805dbf in VCLS_Poll (cs=0x7f8d58ac00b0, timeout=<value
optimized out>) at cli_serve.c:528
#7 0x0000000000418481 in CLI_Run () at cache_cli.c:112
#8 0x000000000042b093 in child_main () at cache_main.c:138
#9 0x000000000043d34e in start_child (cli=0x7f8d58a0d570) at
mgt_child.c:345
#10 0x00000031ed806b4e in cls_dispatch (priv=0x7f8d58a0d540,
av=0x7f8d58a11380) at cli_serve.c:228
#11 cls_vlu2 (priv=0x7f8d58a0d540, av=0x7f8d58a11380) at cli_serve.c:284
#12 0x00000031ed80702d in cls_vlu (priv=0x7f8d58a0d540, p=<value optimized
out>) at cli_serve.c:339
#13 0x00000031ed809fe9 in LineUpProcess (l=0x7f8d58a02520) at vlu.c:154
#14 0x00000031ed806020 in VCLS_PollFd (cs=0x7f8d58ac0060, fd=<value
optimized out>, timeout=0) at cli_serve.c:489
#15 0x00000031ed808e2d in vev_schedule_one (evb=0x7f8d58a04040) at
vev.c:498
#16 0x00000031ed8090a8 in vev_schedule (evb=0x7f8d58a04040) at vev.c:363
#17 0x000000000043d535 in MGT_Run () at mgt_child.c:602
#18 0x000000000044c308 in main (argc=<value optimized out>, argv=<value
optimized out>) at varnishd.c:649
}}}

--
Ticket URL: <http://varnish-cache.org/trac/ticket/971#comment:1>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Aug 4, 2011, 6:02 AM

Post #3 of 13 (593 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
-------------------+--------------------------------------------------------
Reporter: rdvn | Type: defect
Status: new | Priority: normal
Milestone: | Component: build
Version: 3.0.0 | Severity: critical
Keywords: |
-------------------+--------------------------------------------------------

Comment(by kristian):

Can you attach the VCL you use for this?

How long does it take to segfault? Does it serve any traffic?

--
Ticket URL: <http://varnish-cache.org/trac/ticket/971#comment:2>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Aug 4, 2011, 7:07 AM

Post #4 of 13 (594 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
-------------------+--------------------------------------------------------
Reporter: rdvn | Type: defect
Status: new | Priority: normal
Milestone: | Component: build
Version: 3.0.0 | Severity: critical
Keywords: |
-------------------+--------------------------------------------------------

Comment(by rdvn):

I used this VCL for testing/generating the core dump. But first I found
this out I was using my production VCL, which was working OK on Varnish
2.1.3. Of course, after making needed modifications.

It segfaults right after trying to use VCL. Attaching strace output.

{{{
backend default {
.host = "127.0.0.1";
.port = "80";
}

director test dns {
.list = {
.port = "80";
"192.168.16.128"/25;
}
.ttl = 15m;
}

sub vcl_recv {
if (req.restarts == 0) {
if (req.http.x-forwarded-for) {
set req.http.X-Forwarded-For =
req.http.X-Forwarded-For + ", " + client.ip;
} else {
set req.http.X-Forwarded-For = client.ip;
}
}

set req.backend = test;

if (req.request != "GET" &&
req.request != "HEAD" &&
req.request != "PUT" &&
req.request != "POST" &&
req.request != "TRACE" &&
req.request != "OPTIONS" &&
req.request != "DELETE") {
/* Non-RFC2616 or CONNECT which is weird. */
return (pipe);
}
if (req.request != "GET" && req.request != "HEAD") {
/* We only deal with GET and HEAD by default */
return (pass);
}
if (req.http.Authorization || req.http.Cookie) {
/* Not cacheable by default */
return (pass);
}
return (lookup);
}
}}}

{{{
[pid 1619] writev(13, [.{"200 36 \n", 13}, {"Loaded
\"./vcl.bDmyBp0R.so\" as \"b"..., 36}, {"\n", 1}], 3 <unfinished ...>
[pid 1621] set_robust_list(0x7fd42bdf19e0, 0x18) = 0
[pid 1623] set_robust_list(0x7fd42a7fe9e0, 0x18) = 0
[pid 1623] nanosleep({180, 0}, <unfinished ...>
[pid 1622] set_robust_list(0x7fd42b1ff9e0, 0x18) = 0
[pid 1622] nanosleep({1, 0}, <unfinished ...>
[pid 1624] set_robust_list(0x7fd429dfd9e0, 0x18) = 0
[pid 1624] nanosleep({0, 10000000}, <unfinished ...>
[pid 1596] <... poll resumed> ) = 1 ([{fd=12, revents=POLLIN}])
[pid 1596] read(12, "200 36 \n", 13) = 13
[pid 1596] poll([{fd=12, events=POLLIN}], 1, 10000) = 1 ([{fd=12,
revents=POLLIN}])
[pid 1596] read(12, "Loaded \"./vcl.bDmyBp0R.so\" as \"b"..., 37) = 37
[pid 1596] write(11, "vcl.use \"boot\"\n", 15) = 15
[pid 1596] poll([{fd=12, events=POLLIN}], 1, 10000 <unfinished ...>
[pid 1619] <... writev resumed> ) = 50
[pid 1619] poll([{fd=10, events=POLLIN}], 1, -1) = 1 ([{fd=10,
revents=POLLIN}])
[pid 1619] read(10, "vcl.use \"boot\"\n", 8191) = 15
[pid 1619] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
}}}

--
Ticket URL: <http://varnish-cache.org/trac/ticket/971#comment:3>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Aug 4, 2011, 7:13 AM

Post #5 of 13 (597 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
-------------------+--------------------------------------------------------
Reporter: rdvn | Type: defect
Status: new | Priority: normal
Milestone: | Component: build
Version: 3.0.0 | Severity: critical
Keywords: |
-------------------+--------------------------------------------------------

Comment(by rdvn):

I just found out another thing. When I define .connect_timeout, as
described in documentation. I can't even compile VCL.

{{{
director test dns {
.list = {
.port = "80";
.connect_timeout = 0.4;
"192.168.16.128"/25;
}
.ttl = 15m;
}
}}}

{{{
Message from VCC-compiler:
Expected ID got ';'
(program line 186), at
('input' Line 9 Pos 27)
.connect_timeout = 0.4;
--------------------------#

Expected '.' got '"192.168.16.128"'
(program line 98), at
('input' Line 10 Pos 5)
"192.168.16.128"/25;
----################----


In director specification starting at:
('input' Line 6 Pos 1)
director test dns {
########-----------

Running VCC-compiler failed, exit 1

VCL compilation failed
}}}

--
Ticket URL: <http://varnish-cache.org/trac/ticket/971#comment:4>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Aug 4, 2011, 7:31 AM

Post #6 of 13 (590 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
-------------------+--------------------------------------------------------
Reporter: rdvn | Type: defect
Status: new | Priority: normal
Milestone: | Component: build
Version: 3.0.0 | Severity: critical
Keywords: |
-------------------+--------------------------------------------------------

Comment(by kristian):

Ok, got it...

While you wait for a proper fix, inverting the order of your director and
backend definition should avoid triggering this. Now that I can reproduce,
it shouldn't be hard to fix.

For the connect_timeout, you're just missing a unit. Try 0.4s instead of
0.4. That error message isn't all too intuitive, I'm afraid, and I noticed
you got an other level of error messages that you shouldn't have gotten
(the one about 192.168...), but that's a different issue, and mostly
cosmetic.

--
Ticket URL: <http://varnish-cache.org/trac/ticket/971#comment:5>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Aug 4, 2011, 8:03 AM

Post #7 of 13 (594 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
-------------------+--------------------------------------------------------
Reporter: rdvn | Type: defect
Status: new | Priority: normal
Milestone: | Component: build
Version: 3.0.0 | Severity: critical
Keywords: |
-------------------+--------------------------------------------------------

Comment(by rdvn):

Thanks Kristian, seems like it helped.

--
Ticket URL: <http://varnish-cache.org/trac/ticket/971#comment:6>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Aug 15, 2011, 1:29 AM

Post #8 of 13 (557 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
---------------------+------------------------------------------------------
Reporter: rdvn | Type: defect
Status: closed | Priority: normal
Milestone: | Component: build
Version: 3.0.0 | Severity: critical
Resolution: fixed | Keywords:
---------------------+------------------------------------------------------
Changes (by Kristian Lyngstol <kristian@…>):

* status: new => closed
* resolution: => fixed


Comment:

(In [b231cf2bf2e949cc2baf516aa8fa2d15710d2979]) Fix the test for #971

Ironically, this does NOT fix #971 (see if you can handle this, trac).
(WIP)

--
Ticket URL: </ticket/971#comment:7>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Aug 15, 2011, 2:09 AM

Post #9 of 13 (553 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
-----------------------+----------------------------------------------------
Reporter: rdvn | Type: defect
Status: reopened | Priority: normal
Milestone: | Component: varnishd
Version: 3.0.0 | Severity: normal
Resolution: | Keywords:
-----------------------+----------------------------------------------------
Changes (by kristian):

* status: closed => reopened
* resolution: fixed =>
* component: build => varnishd
* severity: critical => normal


Comment:

Trac-confusion.

--
Ticket URL: <http://www.varnish-cache.org/trac/ticket/971#comment:8>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Aug 15, 2011, 2:57 AM

Post #10 of 13 (554 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
----------------------+-----------------------------------------------------
Reporter: rdvn | Owner: kristian
Type: defect | Status: new
Priority: normal | Milestone:
Component: varnishd | Version: trunk
Severity: normal | Resolution:
Keywords: |
----------------------+-----------------------------------------------------
Changes (by kristian):

* owner: => kristian
* status: reopened => new
* version: 3.0.0 => trunk


--
Ticket URL: <http://www.varnish-cache.org/trac/ticket/971#comment:9>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Sep 9, 2011, 6:31 AM

Post #11 of 13 (504 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
----------------------+-----------------------------------------------------
Reporter: rdvn | Owner: kristian
Type: defect | Status: new
Priority: normal | Milestone:
Component: varnishd | Version: trunk
Severity: normal | Resolution:
Keywords: |
----------------------+-----------------------------------------------------

Comment(by Andreas Plesner Jacobsen <apj@…>):

(In [ce9dd3bb3b887731a203781e6d23b85010497191]) Add type to
connect_timeout

References #971

--
Ticket URL: </ticket/971#comment:10>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Sep 22, 2011, 5:05 AM

Post #12 of 13 (469 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
----------------------+-----------------------------------------------------
Reporter: rdvn | Owner: kristian
Type: defect | Status: new
Priority: normal | Milestone:
Component: varnishd | Version: trunk
Severity: normal | Resolution:
Keywords: |
----------------------+-----------------------------------------------------

Comment(by Tollef Fog Heen <tfheen@…>):

(In [9b1fea27154c30e314c859c58e2a1e0946de5c53]) Add type to
connect_timeout

References #971

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/971#comment:11>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs


varnish-bugs at varnish-cache

Nov 21, 2011, 12:54 PM

Post #13 of 13 (387 views)
Permalink
Re: #971: Broken DNS director [In reply to]

#971: Broken DNS director
----------------------+-----------------------------------------------------
Reporter: rdvn | Owner: kristian
Type: defect | Status: closed
Priority: normal | Milestone:
Component: varnishd | Version: trunk
Severity: normal | Resolution: fixed
Keywords: |
----------------------+-----------------------------------------------------
Changes (by Rogier 'DocWilco' Mulhuijzen <github@…>):

* status: new => closed
* resolution: => fixed


Comment:

(In [aed74d6c93f932abcd111c2496c543d16f2745d5]) Enable regression test for
bug 971, since 1060 was a dup of it

1060 was fixed with bdbb1d59513cba8b268ed1dbe2d948619ef4ae07

Fixes #971

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/971#comment:12>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs

Varnish bugs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.