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
620
The developer’s manual: working with and managing software developers
jeroenleenarts
0
51
PassKeys and WebAuthN: What you want to know
jeroenleenarts
0
590
Being a Lead Software Developer
jeroenleenarts
1
350
SECONDARY SKILLS AS A DEVELOPER
jeroenleenarts
0
1.2k
Try Swift intro
jeroenleenarts
0
18
Micro Frameworks: What, why and how?
jeroenleenarts
0
26
mDevcon 2015: See the time on your wrist
jeroenleenarts
0
130
A inspirational presentation at a company's hackathon
jeroenleenarts
0
100
Other Decks in Programming
See All in Programming
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
490
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
270
エラーって何種類あるの?
kajitack
5
120
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
16
3.7k
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
240
FastMCPでMCPサーバー/クライアントを構築してみる
ttnyt8701
2
130
iOSアプリ開発もLLMで自動運転する
hiragram
6
2.3k
無関心の谷
kanayannet
0
160
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
200
ワンバイナリWebサービスのススメ
mackee
10
7.7k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
290
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
150
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
4 Signs Your Business is Dying
shpigford
183
22k
Optimizing for Happiness
mojombo
379
70k
RailsConf 2023
tenderlove
30
1.1k
Producing Creativity
orderedlist
PRO
346
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
How STYLIGHT went responsive
nonsquared
100
5.6k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
The Cult of Friendly URLs
andyhume
79
6.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
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