Asi tak mesic zpatky se mi na dvou strojich s lighttpd stava, ze proces segfaultne. Vetsinou jde znovu spustit a pak zas nejaky cas bezi (dny az tydny), ale uz potreti se mi stalo, ze kdyz ho pustim, za chvili zase chcipne. Zjistil jsem, ze ho shodi request na interni statistiku, tedy URL /server-status (to je podobne, jako ma na tehle URL i Apache). No a jelikoz tuhle URL checkuje monitoring, ktery z toho pak dela nejake grafy, tak pri kazdem checku z monitoringu mi ted Lighttpd segfaultne. Na serveru se v poslednich tydnech nic neupravovalo / nainstalovalo a dneska od 5 hodin rano se deje tohle segfaultovani s zeleznou pravidelnosti. Kdykoliv Lighttpd spustim a prijde request na /server-status, tak to segfaultne.

Posledne, kdyz se mi tohle delo, tak zabralo to, ze jsem udelal "pkg upgrade -f lighttpd", cimz doslo k reinstalaci na identickou verzi (identickou instanci baliku z vlastniho repozitare).
Jakou to s tim muze mit souvislost nemam tuseni.

Napada nekoho, cim to muze byt a jak to vyresit?

Mam tu zaznam z truss

kevent(14,0x0,0,{ },2049,{ 1.000000000 })        = 0 (0x0)
clock_gettime(13,{ 1555064436.000000000 })       = 0 (0x0)
kevent(14,0x0,0,{ },2049,{ 1.000000000 })        = 0 (0x0)
clock_gettime(13,{ 1555064438.000000000 })       = 0 (0x0)
kevent(14,0x0,0,{ },2049,{ 1.000000000 })        = 0 (0x0)
clock_gettime(13,{ 1555064439.000000000 })       = 0 (0x0)
kevent(14,0x0,0,{ },2049,{ 1.000000000 })        = 0 (0x0)
clock_gettime(13,{ 1555064440.000000000 })       = 0 (0x0)
kevent(14,0x0,0,{ },2049,{ 1.000000000 })        = 0 (0x0)
clock_gettime(13,{ 1555064441.000000000 })       = 0 (0x0)
kevent(14,0x0,0,{ 4,EVFILT_READ,0x0,0,0x1,0x0 },2049,{ 1.000000000 }) = 1 (0x1)
accept4(0x4,0x7fffffffe760,0x7fffffffe71c,0x30000000) = 15 (0xf)
getsockopt(15,IPPROTO_TCP,TCP_NODELAY,0x7fffffffe734,0x7fffffffe730) = 0 (0x0)
ioctl(15,FIONREAD,0x7fffffffa724)                = 0 (0x0)
read(15,0x801874000,4095) ERR#35 'Resource temporarily unavailable' kevent(14,{ 15,EVFILT_READ,EV_ADD,0,0x0,0x0 },1,0x0,0,{ 0.000000000 }) = 0 (0x0) accept4(0x4,0x7fffffffe760,0x7fffffffe71c,0x30000000) ERR#35 'Resource temporarily unavailable'
clock_gettime(13,{ 1555064441.000000000 })       = 0 (0x0)
kevent(14,0x0,0,{ 15,EVFILT_READ,0x0,0,0x18d,0x0 },2049,{ 1.000000000 }) = 1 (0x1)
ioctl(15,FIONREAD,0x7fffffffa794)                = 0 (0x0)
read(15,"GET /server-status HT"...,4095) = 397 (0x18d)
SIGNAL 11 (SIGSEGV) code=SEGV_MAPERR trapno=12 addr=0x0
process killed, signal = 11


A stejny zaznam o par minut pozdeji z ktrace

 62872 lighttpd RET   kevent 0
62872 lighttpd CALL openat(AT_FDCWD,0x43daa5,0x108002<O_RDWR|O_NOCTTY|O_CLOEXEC>)
 62872 lighttpd NAMI  "/dev/null"
 62872 lighttpd RET   openat 15/0xf
 62872 lighttpd CALL  close(0xf)
 62872 lighttpd RET   close 0
 62872 lighttpd CALL  clock_gettime(0xd,0x7fffffffe808)
 62872 lighttpd RET   clock_gettime 0
 62872 lighttpd CALL  kevent(0xe,0,0,0x801938540,0x801,0x7fffffffe810)
 62872 lighttpd STRU  struct kevent[] = {  }
 62872 lighttpd STRU  struct kevent[] = {  }
 62872 lighttpd RET   kevent 0
 62872 lighttpd CALL  clock_gettime(0xd,0x7fffffffe808)
 62872 lighttpd RET   clock_gettime 0
62872 lighttpd CALL __sysctl(0x7fffffffe7e8,0x2,0x7fffffffe7f0,0x7fffffffe7e0,0,0)
 62872 lighttpd SCTL  "vm.loadavg"
 62872 lighttpd RET   __sysctl 0
 62872 lighttpd CALL  kevent(0xe,0,0,0x801938540,0x801,0x7fffffffe810)
 62872 lighttpd STRU  struct kevent[] = {  }
 62872 lighttpd STRU  struct kevent[] = {  }
 62872 lighttpd RET   kevent 0
 62872 lighttpd CALL  clock_gettime(0xd,0x7fffffffe808)
 62872 lighttpd RET   clock_gettime 0
 62872 lighttpd CALL  kevent(0xe,0,0,0x801938540,0x801,0x7fffffffe810)
 62872 lighttpd STRU  struct kevent[] = {  }
62872 lighttpd STRU struct kevent[] = { { ident=4, filter=EVFILT_READ, flags=0, fflags=0, data=0x1, udata=0x0 } }
 62872 lighttpd RET   kevent 1
 62872 lighttpd CALL  accept4(0x4,0x7fffffffe760,0x7fffffffe71c,0x30000000)
 62872 lighttpd STRU  struct sockaddr { AF_INET, 62.24.76.131:19122 }
 62872 lighttpd RET   accept4 15/0xf
62872 lighttpd CALL getsockopt(0xf,IPPROTO_TCP,TCP_NODELAY,0x7fffffffe734,0x7fffffffe730)
 62872 lighttpd RET   getsockopt 0
 62872 lighttpd CALL  ioctl(0xf,FIONREAD,0x7fffffffa724)
 62872 lighttpd RET   ioctl 0
 62872 lighttpd CALL  read(0xf,0x801874000,0xfff)
 62872 lighttpd GIO   fd 15 read 423 bytes
       "GET /server-status HTTP/1.1\r
        Host: XXX.YYY.ZZZ\r
        User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; aaaa bbbb ccccc\r
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r
        Accept-Language: cs,cs-CZ;q=0.8,en-US;q=0.5,en;q=0.3\r
        Accept-Encoding: gzip, deflate\r
        DNT: 1\r
        Connection: keep-alive\r
        Upgrade-Insecure-Requests: 1\r
        Cache-Control: max-age=0\r
        \r
       "
 62872 lighttpd RET   read 423/0x1a7
 62872 lighttpd PSIG  SIGSEGV SIG_DFL code=SEGV_MAPERR

Mirek
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem