Case
Casestudy: een crash na langdurig bedrijf teruggebracht tot een handle-lek
Technische case over een crash die pas na ongeveer een maand bedrijf optreedt: met geordende meetpunten en uitgebreidere logging is het onderzoek teruggebracht tot een handle-lek.
Overzicht van de case
Deze case gaat over een Windows-applicatie die alleen na ongeveer een maand onafgebroken bedrijf plotseling crashte. Wij begonnen met het ordenen van de meetpunten en hebben het onderzoek uiteindelijk toegespitst op een handle-lek. Het gaat hier niet alleen om de oorzaak zelf: het belangrijkste was dat werd bepaald welke observaties als eerste op orde moesten zijn.
Symptoom
- Het probleem treedt niet binnen enkele dagen op, maar alleen na langdurig bedrijf
- Op basis van de uitzondering alleen is moeilijk te beoordelen of er sprake is van een lek
- Het treedt alleen op de werkvloer op; op ontwikkelmachines moet de reproductie worden teruggebracht tot een korter scenario
Randvoorwaarden
- Maandenlang wachten op een reproductie is niet realistisch
- Omdat het opnieuw verbinden van de camera en foutpaden een rol spelen, volstaan logs van het normale verloop niet
- Het moest mogelijk zijn om voortdurend te volgen welke resources toenemen
Wat wij hebben waargenomen
- Een heartbeat van
Handle Count,Private BytesenThread Count - Grenslogs voor het begin van een sessie, het opnieuw verbinden en het einde
- Lifecycle-logs met bij elkaar horende paren:
create/open/registerenclose/dispose/unregister
Hoe wij het probleem hebben geïsoleerd
Wij zijn niet meteen de “crash bij langdurig bedrijf” zelf gaan najagen, maar hebben de reproductie eerst teruggebracht tot de foutpaden rond opnieuw verbinden en timeouts. Daardoor konden wij concluderen dat een handle-lek aannemelijker was dan een geheugenlek, en konden wij de observatie daarop concentreren.
Hoe wij het hebben verbeterd
- Wij hebben meer te bewaken items toegevoegd, zodat niet alleen het moment van de crash, maar ook de groeitrend zichtbaar is
- Wij hebben de grenslogs verbeterd, zodat gemakkelijker te volgen is welk onderdeel een handle opende en welk onderdeel die weer sloot
- Wij hebben de onderzoeksresultaten zo geordend dat ze eenvoudig aansluiten op een latere testinfrastructuur voor foutscenario’s
Diensten waar deze case bij aansluit
Deze case sluit aan bij zowel Foutanalyse en oorzaakonderzoek, waarmee wij storingen isoleren die pas na langdurig bedrijf optreden, als Windows-applicatieontwikkeling, waarmee wij logging, opnieuw verbinden en observatie tijdens bedrijf vanuit de implementatie op orde brengen.
Vraag ons om advies
Heeft u een vraagstuk dat aansluit bij de inhoud van deze pagina? Bespreek het dan met ons en laat ons weten wat de huidige context is en welke ondersteuning u nodig hebt.