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

Mailing List Archive: Varnish: Misc

Child constantly crashes in Mac OS X

 

 

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


javi at lavandeira

Jul 22, 2012, 7:57 PM

Post #1 of 4 (329 views)
Permalink
Child constantly crashes in Mac OS X

Hello,

I have Varnish 3.0.2 running on an OS X 10.7.3 system. The child process is crashing all the time (and with it, all the cache). Typical uptimes are 2-3 hours.

The following output is the debug info I see in my /var/log/varnish.log. Any ideas/suggestions would be appreciated.

Thanks in advance,

--------------------------------------------------------------------------------------------------------------------
child (7681) Started
Child (7681) said Child starts
Child (7681) died signal=6
Child (7681) Panic message: Assert error in VCA_Prep(), cache_acceptor.c line 185:
Condition(VTCP_Check(setsockopt(sp->fd, 0xffff, 0x1005, &tv_sndtimeo, sizeof tv_sndtimeo))) not true.
errno = 22 (Invalid argument)
thread = (cache-worker)
ident = Darwin,11.3.0,x86_64,-smalloc,-smalloc,-hcritbit,poll
Backtrace:
0x104319134: _sms_mtx+42b3a9c
0x1042f7c06: _sms_mtx+429256e
0x1043038f5: _sms_mtx+429e25d
0x10431a7e1: _sms_mtx+42b5149
0x10431b861: _sms_mtx+42b61c9
0x10431b545: _sms_mtx+42b5ead
0x7fff895318bf: _sms_mtx+7ffe894cc227
0x7fff89534b75: _sms_mtx+7ffe894cf4dd
sp = 0x7fb8a38ce208 {
fd = 9, id = 9, xid = 0,
client = 187.164.53.188 50716,
step = STP_FIRST,
handling = deliver,
restarts = 0, esi_level = 0
flags =
bodystatus = 3
ws = 0x7fb8a38ce280 {
id = "sess",
{s,f,r,e} = {0x7fb8a38cee80,+24,0x0,+65536},
},
http[req] = {
ws = 0x7fb8a38ce280[sess]
"",
"/lupita/trackback",
"HTTP/1.1",
"Host: www.veuanimal.org",
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)",
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3",
"Accept-Encoding: gzip,deflate",
"Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7",
"Keep-Alive: 115",
"Connection: keep-alive",
"Referer: http://www.veuanimal.org/lupita/",
"Content-Type: application/x-www-form-urlencoded",
"Content-Length: 131",
"X-Forwarded-For: 176.9.7.205",
},
worker = 0x109766b18 {
ws = 0x109766d58 {
id = "wrk",
{s,f,r,e} = {0x109754a80,0x109754a80,0x0,+65536},
},
},
},


Child cleanup complete
--------------------------------------------------------------------------------------------------------------------

--
Javi Lavandeira
Twitter: @javilm

Blog: http://www.lavandeira.net/blog/
Email and hosting: http://www.lavandeira.net/services/




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


javi at lavandeira

Jul 22, 2012, 8:00 PM

Post #2 of 4 (315 views)
Permalink
Re: Child constantly crashes in Mac OS X [In reply to]

I forgot to add the command line I use to launch it:

/opt/local/sbin/varnishd -F -f /opt/local/etc/varnish/default.vcl -s malloc,3G -T 127.0.0.1:2000 -a 0.0.0.0:80

Regards,

--
Javi Lavandeira
Twitter: @javilm

Blog: http://www.lavandeira.net/blog/
Email and hosting: http://www.lavandeira.net/services/



On Jul 23, 2012, at 11:57 AM, Javi Lavandeira <javi [at] lavandeira> wrote:

> Hello,
>
> I have Varnish 3.0.2 running on an OS X 10.7.3 system. The child process is crashing all the time (and with it, all the cache). Typical uptimes are 2-3 hours.
>
> The following output is the debug info I see in my /var/log/varnish.log. Any ideas/suggestions would be appreciated.
>
> Thanks in advance,
>
> --------------------------------------------------------------------------------------------------------------------
> child (7681) Started
> Child (7681) said Child starts
> Child (7681) died signal=6
> Child (7681) Panic message: Assert error in VCA_Prep(), cache_acceptor.c line 185:
> Condition(VTCP_Check(setsockopt(sp->fd, 0xffff, 0x1005, &tv_sndtimeo, sizeof tv_sndtimeo))) not true.
> errno = 22 (Invalid argument)
> thread = (cache-worker)
> ident = Darwin,11.3.0,x86_64,-smalloc,-smalloc,-hcritbit,poll
> Backtrace:
> 0x104319134: _sms_mtx+42b3a9c
> 0x1042f7c06: _sms_mtx+429256e
> 0x1043038f5: _sms_mtx+429e25d
> 0x10431a7e1: _sms_mtx+42b5149
> 0x10431b861: _sms_mtx+42b61c9
> 0x10431b545: _sms_mtx+42b5ead
> 0x7fff895318bf: _sms_mtx+7ffe894cc227
> 0x7fff89534b75: _sms_mtx+7ffe894cf4dd
> sp = 0x7fb8a38ce208 {
> fd = 9, id = 9, xid = 0,
> client = 187.164.53.188 50716,
> step = STP_FIRST,
> handling = deliver,
> restarts = 0, esi_level = 0
> flags =
> bodystatus = 3
> ws = 0x7fb8a38ce280 {
> id = "sess",
> {s,f,r,e} = {0x7fb8a38cee80,+24,0x0,+65536},
> },
> http[req] = {
> ws = 0x7fb8a38ce280[sess]
> "",
> "/lupita/trackback",
> "HTTP/1.1",
> "Host: www.veuanimal.org",
> "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)",
> "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
> "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3",
> "Accept-Encoding: gzip,deflate",
> "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7",
> "Keep-Alive: 115",
> "Connection: keep-alive",
> "Referer: http://www.veuanimal.org/lupita/",
> "Content-Type: application/x-www-form-urlencoded",
> "Content-Length: 131",
> "X-Forwarded-For: 176.9.7.205",
> },
> worker = 0x109766b18 {
> ws = 0x109766d58 {
> id = "wrk",
> {s,f,r,e} = {0x109754a80,0x109754a80,0x0,+65536},
> },
> },
> },
>
>
> Child cleanup complete
> --------------------------------------------------------------------------------------------------------------------
>
> --
> Javi Lavandeira
> Twitter: @javilm
>
> Blog: http://www.lavandeira.net/blog/
> Email and hosting: http://www.lavandeira.net/services/
>
>
>


phk at phk

Jul 30, 2012, 9:52 AM

Post #3 of 4 (288 views)
Permalink
Re: Child constantly crashes in Mac OS X [In reply to]

In message <A1FE9D80-4D75-4450-AB9B-96C55E914973 [at] lavandeira>, Javi Lavandei
ra writes:

Can you check the manual pages and see if it mentions how long timeouts
you can specify to setsockopt(SO_SNDTIMEO) ?

>Child (7681) died signal=6
>Child (7681) Panic message: Assert error in VCA_Prep(), cache_acceptor.c line 185:
> Condition(VTCP_Check(setsockopt(sp->fd, 0xffff, 0x1005, &tv_sndtimeo, sizeof tv_sndtimeo))) not true.


--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk [at] FreeBSD | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.

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


javi at lavandeira

Jul 30, 2012, 10:06 AM

Post #4 of 4 (298 views)
Permalink
Re: Child constantly crashes in Mac OS X [In reply to]

Hi phk,

> In message <A1FE9D80-4D75-4450-AB9B-96C55E914973 [at] lavandeira>, Javi Lavandei
> ra writes:
>
> Can you check the manual pages and see if it mentions how long timeouts
> you can specify to setsockopt(SO_SNDTIMEO) ?
>
>> Child (7681) died signal=6
>> Child (7681) Panic message: Assert error in VCA_Prep(), cache_acceptor.c line 185:
>> Condition(VTCP_Check(setsockopt(sp->fd, 0xffff, 0x1005, &tv_sndtimeo, sizeof tv_sndtimeo))) not true.

Let's see if this helps:

From setsockopt()'s manpage:

[...]
Most socket-level options utilize an int parameter for option_value. For setsockopt(), the
parameter should be non-zero to enable a boolean option, or zero if the option is to be dis-
abled. SO_LINGER uses a struct linger parameter, defined in <sys/socket.h>, which specifies
the desired state of the option and the linger interval (see below). SO_SNDTIMEO and
SO_RCVTIMEO use a struct timeval parameter, defined in <sys/time.h>.
[...]
SO_SNDTIMEO is an option to set a timeout value for output operations. It accepts a struct
timeval parameter with the number of seconds and microseconds used to limit waits for output
operations to complete. If a send operation has blocked for this much time, it returns with a
partial count or with the error EWOULDBLOCK if no data were sent. In the current implementa-
tion, this timer is restarted each time additional data are delivered to the protocol, imply-
ing that the limit applies to output portions ranging in size from the low-water mark to the
high-water mark for output.
[...]

And I can see this in the header files:

/usr/include/sys/_structs.h:

#define _STRUCT_TIMEVAL struct timeval
_STRUCT_TIMEVAL
{
__darwin_time_t tv_sec; /* seconds */
__darwin_suseconds_t tv_usec; /* and microseconds */
};

/usr/include/sys/types.h:

typedef __darwin_time_t time_t;
typedef __darwin_suseconds_t suseconds_t;

/usr/include/sys/_types.h:

typedef __int32_t __darwin_suseconds_t; /* [???] microseconds */

Hope it helps.

--
Javi Lavandeira
Twitter: @javilm

Blog: http://www.lavandeira.net/blog/
Email and hosting: http://www.lavandeira.net/services/

Varnish misc 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.