Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Not so weird after all
Search
Jeroen Leenarts (AppForce1)
June 04, 2013
Programming
0
44
Not so weird after all
A presentation I gave at Xebia about some root cause analysis.
Jeroen Leenarts (AppForce1)
June 04, 2013
Tweet
Share
More Decks by Jeroen Leenarts (AppForce1)
See All by Jeroen Leenarts (AppForce1)
Building a Vapor Swift backend integration with authentication and authorization
jeroenleenarts
0
590
The developer’s manual: working with and managing software developers
jeroenleenarts
0
41
PassKeys and WebAuthN: What you want to know
jeroenleenarts
0
570
Being a Lead Software Developer
jeroenleenarts
1
340
SECONDARY SKILLS AS A DEVELOPER
jeroenleenarts
0
1.1k
Try Swift intro
jeroenleenarts
0
14
Micro Frameworks: What, why and how?
jeroenleenarts
0
22
mDevcon 2015: See the time on your wrist
jeroenleenarts
0
130
A inspirational presentation at a company's hackathon
jeroenleenarts
0
95
Other Decks in Programming
See All in Programming
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
300
Honoとフロントエンドの 型安全性について
yodaka
6
830
Software Architecture
hschwentner
6
2.1k
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
36
14k
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
220
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
46
17k
Ruby on cygwin 2025-02
fd0
0
140
時計仕掛けのCompose
mkeeda
1
290
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
170
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
Featured
See All Featured
The Invisible Side of Design
smashingmag
299
50k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Why Our Code Smells
bkeepers
PRO
336
57k
Optimizing for Happiness
mojombo
376
70k
Practical Orchestrator
shlominoach
186
10k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Embracing the Ebb and Flow
colly
84
4.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Facilitating Awesome Meetings
lara
51
6.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Transcript
Weird things can happen A tale on understanding documentation and
undefined behavior
Just imagine •Your project is doing great! •Apple rolled out
new language features •Lets use those features •Stuff just breaks (but only in production)
What’s going on here? •New release rolled out •Sudden increase
by XXX % of “3 times wrong pin” occurrences •Sh#t hit the fan! Lots of users not happy!
Reproduction steps •Get a new or “factory reset” device •Install
App •Register as usual •Logout •Login •Why is my pin not working? !$#%
Initial suspicions •It must’ve been a change we introduced in
this release, right? •Right!?
None
Finding the problem •Well, sort of... it seems. •No joy
during debugging. •Doesn’t crash on simulator •Doesn’t crash on our test devices when debugging
How can this break? •Why didn’t we see this before?
•Why does it break now? •Putting back the old code “solves” it. •So that’s our initial bug fix.
Having that bad feeling •This doesn't feel right •This should
not break!
Let’s go line by line
Let’s read some docs
Call in the cavalry •Some guy said to enable optimizations..
;) •Let’s try that then...
None
Click, click, BOOM!!
What we learned
None