I’m a contractor at a rocket launch service provider. The final build of the ground control software is compiled and deployed to the launch pad with debug flags enabled because of a “fly like you test” mandate.
Millions of dollars and tons of time invested by brilliant people are riding on rockets that are launched using software with debug flags because of an “if it ain’t broke don’t fix it” mentality and archaic test strategies.
I’ve worked on ground systems and it’s actually come in handy two times in five years, usually where we had a hard-to-reproduce bug. Getting the info when the problem happens can occasionally be all the difference.
Addendum: And usually we didn’t care about performance. Basically never.
heisenbug
One of the worst words in the English language is “intermittent.”
Just run your prod env in debug mode! Problem solved.
You can imagine how many node projects there are running in production with
npm run
. I have encountered js/ts/node devs that don’t even know that you should like, build your project, withnpm build
and then ship and serve the bundle.i have absolutely seen multiple projects on github that specifically tell you to do “npm run” as part of deploying it.
I just died a little inside. Thank you.
Lol my workplace ships Angular in debug mode. Don’t worry though, the whole page kills itself if a dubious third-party library detects the console is open. Very secure and not brittle at all!
Please send helpBlink-blink-blink. Blink. Blink. Blink. Blink-blink-blink.
No, I don’t have something in my eyes, I swear I’m fine looks nervously at boss.
Hang tight help is on the way.
Now I’m curious how this detection would work.
I’ve seen some that activate an insane number of breakpoints, so that the page freezes when the dev tools open. Although Firefox let’s you disable breaking on breakpoints all together, so it only really stops those that don’t know what they’re doing.
Heisenbugs are the worst. My condolences for being tasked with diagnosing one.
Behold, https://rr-project.org/
this happens with so many scripts I’ve tried to debug with strace because strace requires to run as root or sudo which elevates the niceness of process which prevents certain errors from occuring when the script is run with root permissions and so it runs flawlessly without bugs and you sit wondering wtf
I always thought it was Cary Elwes.
He worked for the gaming site/podcast “Giantbomb” years ago. Pretty sure the image macro is pulled from one of their podcast videos.
Ya, fuck legacy aggrid
I once had a bug in a C# program I wrote. It made a HTTP request and if the user agent was left to default (whatever that was), the server just gave back an empty string as a reply. I took way to long until I understood what was going on and I kept chasing async, thinking I had messed it up some how.
Heisenbug. Nasty buggers, especially in my domain: Embedded Engineering. When you are in the debugger, the whole processor is stopped, missing tons of data coming in, missing interrupts, getting network timeouts, etc. More often than not, resuming makes no sense, and you have to get straight to reboot.
“You don’t debug embedded” ~my brother, who’s been working in embedded for almost 15 years
Fear kepts the bits in line
Clearly you should just ship it with the debugger and call it a day
Exactly, who would put a rebugged version into production anyway?
The most cryptic status code I’ve received is 403: OK, while the entire app fails to load
That means you’re not allowed in, and that’s OK 😂
Probably should be redirected to a login page or something though 😅
“Shhh, it’s okay”