我试图运行清漆,但似乎是一个儿童进程在启动时死亡。 任何人都可以build议我去debugging出了什么问题的最佳途径?
背景
我有一个树莓派,我已经安装了Debian,它运行的清漆很好。 最近,我决定安装Raspbian(一个基于Debian的操作系统,但是对于覆盆子pi进行了优化)。 要做到这一点,我做了一个全新的安装,并使用puppet来确保我的设置与之前所做的一样。
我能想到的两个设置之间唯一的实质性区别是Raspbian使用的是以前版本的Debian(Wheezy),而不是以前使用的(Squeeze),所以使用了Varnish 3而不是2。
debugging到目前为止的尝试:
我查看了/ var / logs / syslog,发现如下:
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
我试图用Googlesearch错误,但找不到任何有用的东西。
我也运行strace -f,同时重新启动清漆,但显然返回了很多输出,我不知道要找什么。 我为subprocess(15064)的pid擦了擦,但是这似乎没有匹配任何东西。 strace确实包含了很多行
[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)
但我不确定这是否正常,或者可能是我的问题的结果,而不是它的原因。
任何意见,我应该如何进行,非常感谢。
在启动过程中失败的最佳输出是stdout / stderr – 但是默认的init脚本停止显示这个输出。
尝试运行只是varnishd -f /etc/varnish/default.vcl – 这应该会显示你加载你的VCL的任何错误。
尝试使用一些非常简单的标志附上运行清漆:
varnishd -l 8m -s文件,/ tmp,8m -b localhost:8080 -a 0.0.0.0:80 -w 2
然后附加gdbdebugging器,看看你是否可以找出为什么孩子是残疾人