Como faço para depurar o Varnish não sendo iniciado corretamente? [fechadas]

1

Estou tentando executar o Varnish, mas parece que um processo filho está morrendo na inicialização. Alguém pode sugerir a melhor maneira de eu depurar o que está errado?

Plano de fundo

Eu tenho um pi de framboesa no qual eu instalei o Debian, que estava rodando bem. Recentemente, decidi instalar o Raspbian (um sistema operacional baseado no Debian, mas otimizado para o raspberry pi). Para fazer isso, eu fiz uma instalação nova e usei o fantoche para ter certeza de que eu tinha as mesmas configurações que fiz anteriormente.

A única diferença substancial entre as duas configurações que posso pensar é que o Raspbian usa uma versão mais recente do Debian (Wheezy) do que eu estava usando anteriormente (Squeeze), então veio com o Varnish 3, ao invés de 2. >

Tentativas de depuração até o momento:

Eu olhei em / var / logs / syslog e encontrei o seguinte:

Sep 21 22:26:28 interceptor varnishd[15056]: Platform: Linux,3.1.9+,armv6l,-smalloc,-smalloc,-hcritbit
Sep 21 22:26:28 interceptor varnishd[15056]: child (15064) Started
Sep 21 22:26:28 interceptor varnishd[15056]: Pushing vcls failed:#012CLI communication error (hdr)
Sep 21 22:26:28 interceptor varnishd[15056]: Stopping Child
Sep 21 22:26:28 interceptor varnishd[15056]: Child (15064) died signal=11
Sep 21 22:26:28 interceptor varnishd[15056]: Child (-1) said Child starts
Sep 21 22:26:28 interceptor varnishd[15056]: Child cleanup complete
Sep 21 22:26:28 interceptor varnishd[15056]: Manager got SIGINT

Eu tentei pesquisar o erro, mas não consegui encontrar nada útil.

Eu também executei o strace -f enquanto reiniciei o verniz, mas obviamente isso gerou muitos resultados e não sabia ao certo o que procurar. Busquei o pid do processo infantil (15064), mas isso não parecia corresponder a nada. O strace continha muitas linhas como

[pid 15114] close(131072)               = -1 EBADF (Bad file descriptor)                                                                                                                                  
[pid 15114] close(131071)               = -1 EBADF (Bad file descriptor)                                                                                                                          
[pid 15114] close(131070)               = -1 EBADF (Bad file descriptor)                                                                                                                                  
[pid 15114] close(131069)               = -1 EBADF (Bad file descriptor)                                                                                                                                  
[pid 15114] close(131068)               = -1 EBADF (Bad file descriptor)                                                                                                                                  
[pid 15114] close(131067)               = -1 EBADF (Bad file descriptor)                                                                                                                                  
[pid 15114] close(131066)               = -1 EBADF (Bad file descriptor)

mas não tenho certeza se isso é normal ou talvez um resultado do meu problema, e não a causa disso.

Qualquer conselho sobre como devo proceder é muito apreciado.

    
por lucas 22.09.2012 / 00:18

2 respostas

2

A melhor saída de falhas durante o início é stdout / stderr - mas os scripts init padrão impedem que essa saída seja exibida.

Tente executar apenas varnishd -f /etc/varnish/default.vcl - isso deve mostrar erros ao carregar seu VCL.

    
por 22.09.2012 / 02:14
2

Tente anexar o verniz em execução com alguns sinalizadores muito simples:

arquivo varnishd -l 8m, / tmp, 8m -b localhost: 8080 -a 0.0.0.0:80 -w 2

e, em seguida, anexe o depurador gdb e veja se você pode descobrir porque o filho está se separando

    
por 05.10.2012 / 15:29