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
51
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
680
The developer’s manual: working with and managing software developers
jeroenleenarts
0
74
PassKeys and WebAuthN: What you want to know
jeroenleenarts
0
630
Being a Lead Software Developer
jeroenleenarts
1
390
SECONDARY SKILLS AS A DEVELOPER
jeroenleenarts
0
1.3k
Try Swift intro
jeroenleenarts
0
31
Micro Frameworks: What, why and how?
jeroenleenarts
0
54
mDevcon 2015: See the time on your wrist
jeroenleenarts
0
140
A inspirational presentation at a company's hackathon
jeroenleenarts
0
110
Other Decks in Programming
See All in Programming
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
1.6k
Ruby x Terminal
a_matsuda
7
580
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
410
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
200
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.4k
文字コードの話
qnighy
43
17k
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.4k
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
7.6k
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
160
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
230
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
160
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
690
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
68
What's in a price? How to price your products and services
michaelherold
247
13k
Designing Powerful Visuals for Engaging Learning
tmiket
0
260
Facilitating Awesome Meetings
lara
57
6.8k
Evolving SEO for Evolving Search Engines
ryanjones
0
150
The Cost Of JavaScript in 2023
addyosmani
55
9.7k
So, you think you're a good person
axbom
PRO
2
1.9k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
130
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Are puppies a ranking factor?
jonoalderson
1
3.1k
Done Done
chrislema
186
16k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
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