And the worst part is when it actually does and you have no fucking idea what went wrong before.
The pc had the hiccups and now it’s fine. Problem solved!
Some times my game engine needs a wake up run, then an actual run.
Yeah happens from time to time.
deleted by creator
Blame cosmic rays.
That’s step zero: rule out black magic
Those damn cosmic rays flipping my bits
Please tell me you look skyward, shake your fist and yell damn you!!!
That feeling when it is, in fact, computer ghosts.
Me: “Hmm… No… No the code is good, it’s the compiler that’s wrong.”
runs again
deleted by creator
It’ll be done soon, then I can go home. TGIF, am I right?
Yeah. And I can send a quick email to update the team after I get home from my 45 minute commute, then log off and go to the cottage in that cell signal dead spot by the lake.
Yeah, but sometimes it works.
It’s even worse then: that means it’s probably a race condition and do you really want to run the risk of having it randomly fail in Production or during an important presentation? Also race conditions generally are way harder to figure out and fix that the more “reliable” kind of bug.
Or it was an issue with code generation, or something in the environment changed.
Good luck figuring out why it sometimes doesn’t work 🙃
There was that kind of bug in Linux and a person restarted it idk how much (iirc around 2k times) just to debug it.
This is 100% valid when dealing with code generation sometimes and I hate it
Legit happens without a race condition if you’ve improperly linked libraries that need to be built in a specific order. I’ve seen more than one solution that needed to be run multiple times, or built project by project, in order to work.
Isn’t that the definition of a race condition, though? In this case, the builds are racing and your success is tied to the builds happening to happen at the right times.
Or do you mean “builds 1 and 2 kick off at the same time, but build 1 fails unless build 2 is done. If you run it twice, build 2 does “no change” and you’re fine”?
Then that’s legit.
Yup, it’s that second one. 0% chance of success until all dependencies are built, then the final run has a 100% chance to work.
We call this sort of test “fuzzy”. If it’s really bad they call it by my own personal identifier of “unstable”.
deleted by creator
The first is a surprise; the second is testing.
could be a race condition
Hmm…you may be right. I’ll get my Hispanic friend to run it and see if he gets the same result.
It works on my machine
ok, then we ship your machine.
Removed by mod
i sometimes do that so i can inspect the error messages on a cleared terminal
Sometimes I forget what I was looking for and have to restart the mental loop when doing this.
One of my old programs produces a broken build unless you then compile it again.
Some code has bugs.
Some code has ghosts.
Just had that happen to me today. Setup logging statements and reran the job, and it ran successfully.
I’ve had that happen, the logging statements stopped a race condition. After I removed them it came back…
Thank you for playing Wing Commander!
======== 37/37 tests passing ========
That’s when the real debug session begins
Great time to find out your tests are useless!
They’re not completely useless. They’re conditionally useless, and we don’t know the condition yet.
If that doesn’t work, sometimes your computer just needs a rest. Take the rest of the day off and try it again tomorrow.
The crazy thing is that sometimes this just works…
I often do this, but I always hit Ctrl-S before running it again. Shamefully, this probably works about 10% of the time. Does that technically count as changing nothing?
That and a make clean can work wonders.
Autosave on focus loss dude.
Well, duh! You need to use the right incantations!
Removed by mod
Something something motive force.
I actually did this earlier today
I’ve only recently joined the dev world and I saw this post in the morning. Late this afternoon I’m doing a deployment that fails, couldn’t determine the cause as I’m a noob, before bothering a more senior dev for help I run it again… It worked.