lighttpd, uid 80: exited on signal 11

Dan Lukes dan at obluda.cz
Sun Apr 14 20:29:36 CEST 2019


Miroslav Lachman wrote:
>> Poustej rovnou
>>
>> gdb --args /usr/local/sbin/lighttpd -D -f 
>> /usr/local/etc/lighttpd/lighttpd.conf
>>
>> pak
>>
>> break mod_status_handle_server_status
>>
>> (jenze to mozna bez prekladu s debugovacimi informacemi nepujde)
> 
> Ne jen ze to nejde (Function "mod_status_handle_server_status" not 
> defined.), ale navic to pri spusteni pres gdb nesegfaultuje a v poklidu 
> vraci spravnou status stranku

V kazdem malem problemu se skryva nejmene jedne dalsi podproblem, ktery 
je vetsi.

Z neceho, co vypadalo snadno debugovatelne se razem stalo neco 
debugovatelneho velmi obtizne.

Vilem Kebrt wrote:
> vidim: read(15,0x801874000,4095)                        ERR#35 'Resource temporarily unavailable'

35 je EAGAIN a to se u read() vyskytuje v jedinem pripade - deskriptor 
otevreny jako neblokujici a pokus o cteni v dobe, kdy nejsou pripravena 
zadna data.

Miroslav Lachman wrote:
> nevim, co je to za Resource, ktery tomu nejde precist

O deskriptoru 15 vime, ze se na nej volalo  getsockopt(15,IPPROTO_TCP 
...) coz ho umoznuje identifikovat s vysokou jistotou. Je to deskriptor, 
ktery reprezentuje sitove spojeni mezi klientem a serverem. Server se 
pokousi cist data, ktera jeste nedorazila - dorazi za chvili a on je 
normalne precte. Takze tohle skoro jiste nic zajimaveho neznamena.

Ani na vadu fyzicke pameti bych to pri takhle deterministickem chovani 
netypoval (i kdyby to nebezelo ve virtualu).

Jestli ale cekate, ze kdyz jsem vam pomluvil vsechny vase napady, ze se 
ted vytasim s nejakym vlastnim jednoduchym resenim, tak to nemuzu slouzit.

Program bez gdb pada, ale s gdb ne, takze problem je nedebugovatelny. To 
samo o sobe o pricine problemu sice neco rika, ale neni prilis jasne co 
presne. Lehce to favorizuje timing jako pricinu potizi, ale u 
single-threadoveho programu je timing spise mene pravdepodobnou pricinou 
potizi. Takze tezko rict.

Pokud pri abendu vznikne alespon coredump, mohli bychom se o analyzu 
pokusit alespon z nej. Ale to je docela hard task ...

Pokud problem uz jednou vyresila reinstalace, lze vyslovit hypotezu, ze 
to vyresi i podruhe. Pred tim bych vyuzil pkg info -l lighthttp k 
ziskani seznamu vsech souboru, ktere jsou soucasti balicku a k nim 
ziskal hashe:

sha1 $( pkg info -l lighttp )

Po reinstalaci, pokud tedy problem vyresi, udelat totez a zjistit jaky 
soubor se zmenil (mozna se neochodi puvodni verze zazalohovat at apk 
muzeme zjistit rovnou jak se zmenil).

Otevrene ale pripoustim moznost, ze reinstalace problem vyresi ANIZ se 
podari najit jakoukolvi zmenu. V takovem pripade zustane pricina 
problemu neznama - a protoze problem zmizi - nadale neanalyzovatelna ...

Dan


More information about the Users-l mailing list