Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "stacktrace"
> installs devRant app on my iPhone
> too lazy to type my 18-char random password on mobile
> password manager app not on App Store yet
> dig up my old Macbook
> install XCode & homebrew package manager
> install 2 other package managers using homebrew
> install App deps from the 2 package managers
> query stackoverflow for why my deps fail to install
> open App in XCode
> setup Apple provisioning profile
> trust my certificate on my iPhone
> dig up an old router & setup a local WiFi network
> start a server on my laptop to serve my PGP keys
> download my PGP keys to my iPhone
> app crashes
> open an issue on github with steps to reproduce & stacktrace
> type my 18-char random password
> rant on how I wasted an entire afternoon13
User: "it stopped working"
Me: "ok. Could you be more specific?"
User: "it just closed"
Me: "could you give me the stacktrace/error message?"
User: "can't find it"
With a long conversation and some frustrating debugging it turned out that, ironically enough, the crash reporter crashed...2
Coworker asking for my help on a crm framework I have never seen before. She was banging her head on the monitor by 1 hour. I read the stacktrace of the error (Java), and 30 seconds later I solved her problem.
Guess who is going laid tonight?
Not me, because she's engaged.6
tl;dr: Bossmang blaming my code for a database connection issue thrown from outside of my code. Bossmang doesn’t listen. Bossmang doesn’t want to believe it’s a connection issue.
Bossmang: The code you wrote is causing insane spec failures in the release branch! It’s hard to follow because it’s so insane, but the cause is your code not properly handling undefined settings! Look at this! <spec>
Me: Specs pass on my machine. I ran it with both a set and nil value. <screenshots>
Bossmang: It works when you set it to nil.
Me: But a setting that doesn’t exist returns nil? <screenshot>
Bossmang: Not seeming to.... So this is the spec failure from the release: “No connection pool with id primary found. <stacktrace that starts outside of my code>”
Me: ... That’s a DB connection error. It’s also being thrown outside of my code, and from a `super` call to Rails.
Bossmang: But <unrelated> and <unrelated> and <other spec> is failing, and if I set the version, it has <other failure> instead! That calls your code first.
Me: It’s a database error. Also: <explains probable, unrelated cause of other failures, like someone didn’t mock a fucking external api call>
Bossmang: But if I restore a DB backup, it fails again.
Me: Restoring uses a dB connection, which could be exhausting the pool depending on the daemons you have running.
Bossmang: I still think it’s related to spec ordering.
This is tiring.12
I am extremely particular about writing good READMEs in my repositories. I make sure that it has everything from prerequisites to run the code and tests on a new machine to how to actually run it (and the tests) and everything in between.
Despite all that I was asked questions that should have been avoided if you had seen the README.
One of these times was by a junior DevOps asking me about an error which was clearly due to him running the code without a virtual environment. Pings me with the entire stacktrace, I go to his desk and tell him to install the environment, which he does. 3 minutes later, another error message.
He was running the wrong script. I go to his desk again. Open the repository. Show him the README. Show him the section titled "To run the pipeline"!
There's a reason they're called README. You're supposed to READ them! 😑3
When you work hard on building frontend and suddenly, you realise whenever you restart your localhost, some URLs don't work. And it's random. Error logs also seem meaningless as the latest error report keeps changing the error location from file to file. Wasted hours to identify the abnormal behaviour.
I always had the mentality to keep its programmers fault in order to always consider all possible flaws.
But realised later that it was the OS setting issue. Did a stacktrace about 300 lines and found out the root cause(hopefully as no issues till now). The bug was related to total allowed open files at a time.5
*Senior Dev:* Ah yes, we need to put try-catch in every function to handle errors and Logger.Log() at the beginning.
*Me:* Is not better to define a global error handler and use the stacktrace instead of doing all that?
*Senior Dev*: ...
*Senior Dev*: Is a rule here, do what I'm telling you.3
"less is more" ... except on a FUCKING STACKTRACE, HOW THE FUCKSHIT FUCK SHITFUCK AM I SUPPOSED TO DEBUG YOUR SHITTARDFUCKED BULLSHIT CODE
Cocktail for disaster:
- Averagely well written, testable code
- All tests pass
- One test methods still shows some vague stacktrace in a worker thread ❌ but the test passes ✅
- Run only that test method and no stacktrace.
So I've been pulling my hair for the last two days trying to figure out what was throwing in that test method. Turns out that thanks to the multithreading going on, some other, similar method threw the exception in parallel. And apparently a different test method was already running when the exception was finally caught.
When I discovered that, it was fixed in a minute. 😭1
Sometimes, after devRant makes a new notification, the app crashes with the following stacktrace: http://pastebin.com/yyKL80nB3
More adventures in fixing specs.
This particular failing spec is in an included spec helper; I cannot run the spec itself because rubymine is stupid and doesn't know how. Not kidding. I also don't know the codepath it's actually testing because it's fucking convoluted, so I need (rather: want) a debugger to progress. I put breakpoints everywhere I thought it could be, and... nothing.
The stacktrace shows the calling spec in the helper module, a generic `process` method that just calls `super` (from where? who knows!), and a `wrap_every_action` in the ApplicationController. in other words: absolutely nothing helpful. I stepped through the code for most of an hour and didn't get anywhere; just saw lots of rails internals.
I'm going to keep bashing my head against this, but what the fuck, why can't you give me something goddamn useful!?5
C++ developer: alright, this should finally fix it. Please just compile so I can go to sleep
GCC: I'm sorry Dave. I can't let you do that.
THEN THERES THE USUAL SEGFAULT WITH NO STACKTRACE AND I SPEND THE REST OF MY NIGHT VALGRINDING2
>Discovers a new low level profiling tool that could help us at work with stuck process debugging and gets all hyped
>Installs on test machine, tool doesn't work
>Wonders why. Oh. Needs a kernel module to work, compiled and loaded
>"Well, its my test machine... Guess that's no problem..." but... my hype died down a bit. Kernel module installation just for a new tool that aggregates all other commonly used tools? eh... Maybe it will blow me out of my shoes still
>Installs and loads the module
>Tool works. Turns out its just a htop-like tool, with shortcuts to launch specific other profiling tools like strace/ltrace/lsof/netstat/ss etc...
"Oh... That's boring. Maybe it has all those tools built in at least?"
>Tries to run ltrace - tool exits as ltrace is not installed
>Installs ltrace and launches tool again. Tries to ltrace a process and
>Nothing. Nothing happens. For seconds... Then kicks me off of SSH
>Tries to ping machine... silence
Did... our net go down again? (Having issues due to a storm going over our area these few days)
>Pings google and... gets instant reply
>Pings the hypervisor the machine was running on
Works like normal
Oh... Oh no. Please tell me it didn't!
>Logs into the hypervisor UI, checks machine state
>Opens machine console aaaaand... Yep. Stacktrace as well as a lot of kernel mumbo-jumbo... It took the machine down to kernel panic.
I never went so quick from "We need this tool deployed everywhere" to "Omg I need to get rid of this crap as soon as possible" lol.
And just for those wondering, it was sysdig.1
Working with a SOAP endpoint. I know it is some .NET server due to the style of stacktrace on exceptions. Nice, a framework where I can expect some type safety granted by static types. I build some xsl to transform the SOAP wsdl files into classes and structs to interact with the endpoint. Works out perfectly.
Elements which are defined in the xsd/wsdl with maxOccur=unbounded and minOccur=0 should represent a simple collection of this type. Therefore does my implementation expect a collection of this type. But no. The shipped SOAP client in my stack ignores the definition and simply deserializes the SOAP response into T and not a collection of T.
Where the duck are the types when they are defined all over the place?2
I decided to upgrade my intellij ultimate from 2019.3 to 2020.2 and I saw there is update button.
I clicked on it.
As I expected it didn’t work and it was 30 minutes waiting looking at progress bar going back and forth couple of times before I decided just to download latest version and drag and drop it to applications folder ( took me 5 minutes) - I use mac so it replaces all crap ( I think ).
I cleared the old cache that growed to 2 gigabytes leaving some configuration files.
Next as always crash on startup cause of incompatible plugins with long java stacktrace - at least I could click the close button or popup closed itself I can’t remember ( one version I remember this button couldn’t be clicked cause it was off the screen and you need to do some cheating to launch ide )
The font has changed and I see that it at least work a little faster - that is nice. Indexing is finally fixed after all those years - probably thanks to visual studio code intellisense pushing those lazy bastards to deal with this.
But the preloader on first logo disappears so I think they decided to remove it cause it’s so fast - no it loads the same time or maybe little longer when I launch it on my old macbook.
After that as always I looked at plugins to see if there’s something interesting, so to find ability to scroll over whole plugins I needed to click couple of times. I think they assume I remember all the nice plugins in their marketplace and I only type search.
Maybe I should be type of user who reads best 2020 plugins for your best ide crap articles filled with advertising or even waste more time to watch all of this great videos about ide ( are there any kind of this stuff ? )
After a few operations I unfortunately clicked apply instead of restart ide and it hanged up on uninstalling some plugin I’m no longer interested in for 5 minutes so I decided to use always working ‘kill -9’ from command line.
Launched again and this time success.
Fortunately indexing finished for this workspace and I can work.
I’m intellij ultimate subscriber for 7+ years and I see those craps are not changing from like forever.
What’s the point of automate something that you can’t regression test ?
I started thinking that now when most people are facebook wall scrolling zombies companies assume that when new software comes out everyone is installing it right away and if not they’re probably not our customers cause they’re dead.
What a surprise they have when I pay for another year I can only imagine ( to be fair probably they even don’t know who I am ).
Yeah for sure I am subscribed to newsletters and I have jetbrains as a start page cause I shit myself with money and have nothing better to do then be grupie ( is there corporate grupies already a big community? )
Well I am a guy who likes to spend some time when installing anything and especially software that is responsible for my main source of income and productivity speed up.
Anyway I decided to upgrade cause editing es7 and typescript got to be pain in the ass and I see it’s working fine now. I don’t know if I like the font but at least the editor it’s working the same or maybe faster then the original that is huge improvement as developers lose most of their time between keyboard and screen communication protocol.
I don’t write it to discourage intellij as it’s great independent ide that I love and support for such a long time but they should focus on code editor and developers efficiency not on things that doesn’t make sense.
Congratulations if you reached this point of this meaningless post.
Now I started thinking that maybe it’s working faster cause I removed 2 gigs of crap from it.
Well we’ll see.1
Bug on trouble ticket system:
"I get a Nullpointer when i call this REST API *stacktrace*"
- It's not a Nullpointer
- It's a problem on your client http
- *Copy message exception, paste on google, first result is the solution"
And he's a DEV!!!!!
What the hell happened to the dotnet ecosystem in terms of stacktraces and async.
You used to be able to pin down your issues to the freaking exact line number using a stacktrace, but now im building a azure function and this is the crap im served when it blows up: How do you debug this?8
Is part of being intermediate/fluent in a tool, language or framework that you've just unwillingly memorized all the error messages you've come across?
'Hey I got error X' -> Just change Z and C and it will work
'Do you know what this stacktrace is trying to tell me?' -> Yeah you forgot a space
'What does this mean?' -> Just add the host to the hostfile
Not that it immediately makes you an expert ofcourse3
FML!!!!!! I FUCKING HATE THE COMBINATION OF XAMARIN FORMS AND MY COWORKERS.
I had to refactor all of our views because my coworkers did anything in the code-behind file from the views but the code should be in the viewmodels.
I had an "Unhandlex Exception" without any stacktrace or error message for a hour. What was the error? In the xaml file of the view was still an OnClicked-handler of a button but i removed the method from the view-code-behind-file.
Universe.SolarSystem.Earth.Microsoft.Dynamics.Platform.Integration.Services.OData.Query.DataAccessor.GetQueryableCollection(Type instanceType, Boolean isCrossCompany)1
Isn't it fun when you are given a library or framework and that in order to debug it you have to use some hacky way of hooking the code to a special instance of the project?
Even more fun: the developers by default don't debug the project with tools, but rather with logic. Ok, that's a good way to debug but it shouldn't be the only way to debug. I don't want to go back to the age of coding on paper. At least give me a stacktrace that's halfway clear on what's happening there. Even worse is when the framework doesn't document its own problems! stacktrace.someMagicalMethodNoOneKnowsWhatItDoes(). Having to read the even more mystic and overly verbose documentation! You're just left there trying and guessing shit, even for the senior devs!
And do you know what's more fucked up?! Fucking using println() to debug!! And they take this shit seriously! I don't understand how these people call themselves programmers. No breakpoints? What the fuck, man!
Just give me Visual Studio for fuck's sake. I don't want to code in a broken IDE with a broken framework. Development on its own is already hard enough, so don't make it harder by giving me crappy frameworks and crappy IDE's that only work half the time.
Debugging without a debugger, with broken IDE's, with broken frameworks, I'm sorry but that's just not for me. And then the framework dares advertise that it 'lets the developer focus on business code!' (how many times have you heard this crap before?). Right, the only thing I focus on constantly is trying to figure out why their broken framework doesn't work.
Going through the stacktrace of my 30 line of Tensorflow code, made me surf almost 20 different library source codes.1
One time, i would put a random stacktrace / error log containing fake server credentials/ card info etc on a page/ action letting those "hackers" waste their time digging into it.. only to found out that the server is just a repo of (i would like to say porn butthats still a win situation) useless things1
I'm very sad.
I don't pretend to work on the next Facebook, Google search engine or something else.
I would to be part of something useful.
But i work in a shitty company where quality, architecture planning and TDD are underrated.
Only to build very simple webapplications, where things you take for granted like server side input or a simple error page without java stacktrace are missing or not planned properly.
We have functional analysts, but worst specs ever.
I hate all of this...
Why does Angular keep failing silently / with a stacktrace that doesn't say anything?
Oh, I remember! It's corporate crap.9
Made a wonderful and good working module for a server. A few days later the jar file got renamed to a .BAK file. From the stacktrace I figured out itd be the configuration file (Json) that was crashing. Guy wouldnt send the config. Told him the problem but he ignored me.
Three days later he came up to me that he forgot a comma at the line end.
Any remote crash reporter for angular 7 apps u suggest guys ? I will go live soon with a web app and need to see stacktrace or whatever usable info if anything goes wrong.3
Anyone here experienced with Travis-CI? I am getting this error. Please help me out.
ERROR: LoadError: syntax: invalid escape sequence
 include at ./boot.jl:317 [inlined]
 include_relative(::Module, ::String) at ./loading.jl:1038
 include(::Module, ::String) at ./sysimg.jl:29
 top-level scope at none:2
 eval at ./boot.jl:319 [inlined]
 eval(::Expr) at ./client.jl:399
 top-level scope at ./none:32