Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "stack trace"
-
School time, programming class:
Girl: Hey, Can you help me?
Me: Sure, what's up?
G: I have an error but I don't know why
M: *looks at error stack trace* You're missing a semicolon in line 133 *puts comma, run... 27 more errors* Well, you have more issues up there, why don't you try to fix them?
G: Oh, Ok, thanks
-- 1 hour later --
G: Hey, can you come? I already fixed the other issues but I still have one I can't fix
M: *checks code, same mistake I fixed, missing semicolon, same line* Why did you erase the semicolon?
G: Oh, because if I erase it, I only have 1 error, but if I leave it, I have 27 so....
M: *turn around, walk away*19 -
So my coworker just got this error on production server, and well, the stack trace stood out to us all...5
-
Heck yes!
I implement a stack trace in my embedded systems!
Whenever a device crashes, it makes a stack dump in an unused part of ram.
After it has rebooted and is connected to the server again, it uploads the stack dump.
The server then opens the correct firmware elf file, walks the stack and associates the debug info from the elf.
The result? A beautiful stack trace with file names, function names and line numbers.
No more guessing where random crashes come from.12 -
To all newbie developers,
Before you ask a doubt about an issue to someone else,
Try doing an initial investigation to find the root cause,
Look into the logs,
Find the stack trace,
Google things,
Have breakpoints and try to debug.
You come to me with a weird NullPointerException and ask me why,
Without even looking into the logs once? We ain't God bro.13 -
People on github opening issues saying shit like "aye, your extension crashes. Please fix or I'll uninstall. Thanks.". How am I supposed to fix an error I know nothing about? Error message? Extension list? Stack trace? Steps to reproduce? Nope. Nothing.
Don't be like this, please.5 -
I'm afraid of getting dumped and it's not because i fear rejection or being alone, it's just because the stack trace will be HUGE!4
-
Legacy code.
Honestly though, this is some of the better legacy code I've worked with at this company. It's a nifty alert system wherein you can trigger sending messages to subscribers of that alert via whatever means (phone/email) they've entered.
I'll save you the technical analysis of its internals, but suffice to say it's actually pretty nice, with good separation of concerns, internal logic hidden away, dead-simple public interface, etc. documentation is kinda crap, but it exists (!), so that's a nice change.
but.
For some unknown and bloody bizarre reason, the thing breaks when a user wants both sms AND email notifications. Either by themselves work totally fine, but both together? nonono. Email alerts give ArgumentErrors, so something internal isn't correct, and SMS alerts complain about uninitialized Twilio::Error constants.
but.
they both work fine otherwise?
also, the two notification preferences aren't stored on the same object anywhere. if a user wants both, the user creates two AlertContact objects with different info, and when performed, the Alert basically iterates over these and does its thing for each, so there is no knowledge shared between them. totally should work the same regardless.
idfgi.
ALSO.
AND THIS PART REALLY PISSES ME OFF.
WHEN THERE'S AN ERROR, THIS THING DOESN'T LOG IT. IT STRINGIFIES THE ERROR OBJECT (basically just extracting the message) AND INSERTS THAT INTO THE DATABASE INSTEAD. WHAT THE CRAP.
So, I don't get a stack trace, line number, or anything. just the basic error message. instead of my alert text. because of course that makes sense and totally helps debugging.
aklsjfak;sldfj.
legacy code.5 -
I hate that, not only did this error happen, but they weren’t smart enough to hide the MySQL stack trace13
-
FUCK! agshdklgdahgisdahl;k!
I just spent 45 FUCKING MINUTES debugging try to figure out WHY THE HELL a function that is supposed to return either a pointer to a valid object OR ZERO if a valid object is not found, was RETURNING FUCKING EIGHT!
Then I saw it... I typed:
nodeList[index];
instead of:
return nodeList[index];
It took me looking at a stack trace and a disassembly of the function to realize this.
Can't wait for this three-day weekend...18 -
Thanks java! FAILURE :java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack trace available5
-
Fatal Exception: java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack trace available4
-
I was pressued to shift the blame.
We received an angry email from a customer that some of their data had disappeared. The boss assigns me to this task. This feature is relatively new and we've found some bugs in the past in here. I go through request logs, search the database, run some diagnostics, etc. for about 5 hours and I cannot find the problem. I focus on the bugs that we've had before but they don't seem to be the problem.
I tell the boss "sorry but I checked XYZ and I can't find the problem. I'm out of ideas." But the boss wanted answers by the end of the day. They did not want to admit to the client that we couldn't figure out what's wrong.
By now I was more pressured to find an answer, find something or someone to blame it on, not exactly to find the real solution. So I made up some BS:
"Sometimes, in HTML forms, the number inputs allow you to change the number by scrolling. We have some long forms where the user has to scroll. Perhaps the focus remained on the number input, so when they scrolled down they accidentally changed the number they meant to input."
The boss was happy with that. We explained this to the customer, and there's now a ticket to change type="number" to type="text" in our HTML forms and to validate it in th backend.
A week later another customer shows us a different error. This one is more clear because it had a stack trace, but I realise that this error is what caused our last error. It was pretty obscure, mind you, the unit tests didn't detect it.
I didn't tell the boss that they were connected tho.
With two angry clients in two weeks, I finally convinced the boss to give us more time to write more unit tests with full coverage. -
OutfofMemoryError thrown while trying to throw OutfofMemoryError; no stack trace available.
What the.... ????
😒4 -
Gonna make a pull request for Project!
"How to Project:
npm install
npm test
npm run start"
npm install: warning, warning, deprecation, warning
npm test: 30 tests, 15 failed
npm run start: error, C stack trace
Pull request status: on hold3 -
Still dealing with the web department and their finger pointing after several thousand errors logged.
SeniorWebDev: “Looks like there were 250 database timeout errors at 11:02AM. DBAs might want to take a look.”
I look at the actual exceptions being logged (bulk of the over 1,600 logged errors)..
“Object reference not set to an instance of an object.”
Then I looked the email timestamp…11:00AM. We received the email notification *before* the database timeout errors occurred.
I gather some facts…when the exceptions started, when they ended, and used the stack trace to find the code not checking for null (maybe 10 minutes of junior dev detective work). Send the data to the ‘powers that be’ and carried on with my daily tasks.
I attached what I found (not the actual code, it was changed to protect the innocent)
Couple of hours later another WebDev replied…
WebDev: “These errors look like a database connectivity issue between the web site and the saleitem data service. Appears the logging framework doesn’t allow us to log any information about the database connection.”
FRACK!!...that Fracking lying piece of frack! Our team is responsible for the logging framework. I was typing up my response (having to calm down) then about a minute later the head DBA replies …
DBA: “Do you have any evidence of this? Our logs show no connectivity issues. The logging framework does have the ability to log an extensive amount of data regarding the database transaction. Database name, server, login, command text, and parameter values. Everything we need to troubleshoot. This is the link to the documentation …. If you implement the one line of code to gather the data, it will go a long way in helping us debug performance and connectivity issue. Thank you.”
DBA sends me a skype message “You’re welcome :)”
Ahh..nice to see someone else fed up with their lying bull...stuff. -
I've started to do some time tracking and just after one day of doing it I noticed that I can't get more that 10 mins working without someone interrupting me.
I love to help and hate to say no, but this is killing my productivity and delaying my work.
Most of the time my help isn't really needed too. "Did you clear the cache?" "Did you run yarn install after pulling?" "Let me look at the stack trace/error message." Sentences like these are all I need to say most of the time.
Did my coworkers get lazy because I'm there to help? Should I start say "not now" more often? Or should I just look for a better team somewhere else?5 -
App fails, Check logs...No error logged. Check source code and debug....
And then you see following piece of code....
try{
//Code to hit an API
}catch(Exception ex){
/*DO NOTHING. Not even log stack trace*/
}7 -
So I'm tryna register for classes using my college's portal, and I click on "add/drop classes", and an entire Java stack trace gets dumped on my screen, with a warning at the bottom not to expose these errors to production in order not to let potential attackers know about how your backend works. I guess nobody at the college ever read that message.3
-
Part two of: a day off an iOS developer life:
1. App crashed and stack trace gives no info in which file it happened, I have a generic table view cell that is used in so many places and Xcode just wrote: xcell does not support key value.
2. Mac freezing when Xcode is creating IPA file thanks to a new feature in Xcode 9 (Mac freezing is the new feature, even mouse pointer doesn't move -.-)
3. Let's check the value of this class property, Xcode: fuck off and either print it in console (after hitting a break point) or expand that shitty tree at the bottom to reach your class property!
An advice: never click jump to definition when Xcode is indexing, it will either freezing Xcode or crash it.
Part 1 link: https://devrant.com/rants/1137208/...1 -
fuck my school. all i had to do was log in to see my grades and what do i get? the fucking stack trace. security? i think not. seriously though, why the fuck would my county want to make their own grading website when the one we had worked just fine? it looks like it was written terribly, the cause was just a bad socket connection and it even gave me the server name and version. i copied it to a google doc (it was already shortened) and it took up seven pages. jesus.2
-
I gleefully await the day that languages are so high level that stack traces can be generated simply for unintended behavior, not just errors2
-
Microsoft's new dialog messages in their software are pretty annoying. "Want to save your changes?". "Oops, something went wrong!". "Your PC ran into a problem it couldn't handle...".
I feel these messages are unprofessionally written and that they lower the bar for acceptable computer (and English) literacy in this day and age.
Its not like I think they should give a stack trace everytime something happens but just don't dumb it down any more!7 -
- They had an error in production
- Almost one year without looking in this codebase
- Last backend dev in the building
- 1h debugging and reading the Stack Trace
- Had a feeling, and changed the place of a single asterisk (groovy's spread operator in the wrong place)
- Now everything is working, our PM is happy, and the client didn't even noticed
- Probably the shortest commit I've ever done
It was a good day :D -
There should be a competition for java developers where they compete to generate the longest stack trace.
#javasucks1 -
I swear to god this industry needs some serious purging. I was trying to google the parameter to Node that crashes on unhandled promise rejections so that I can get a stack trace and debug it properly, and literally all relevant SO questions were asking how to _prevent node from crashing on unhandled promise rejections_. In what realm is that preferred behavior?7
-
What is worse than React native? A crash in flutter ....
They need to work on their stack trace all it's errors lead to framework assertion failed, but which fucker in my code caused it....
No one knows, time to play cat and mouse with this thing 😒3 -
Man, I love how G++ (and every other Gnu tool for that matter) makes 0 effort to understand what you fucked up, and they only tell you where they got stuck. What am I supposed to do with this error that doesn't contain a single reference to my project?7
-
Right now. It's happening. I'm sitting on one of those seemingly impossible issues. I'm reading the exception and can't fathom how it can be true. I mean, the evidence is right there! The error message must be wrong! But that's the thing, it never is. It's always something stupid and obvious. After you figure it out, you shake your head and laugh at yourself for not seeing it. It's all shits and giggles after you figure it out, but that's not where I'm at right now. Right now I'm being laughed at by this stack trace. It's mocking me even!
Jokes on you though, because I'm coming for you!!2 -
Below is a transcript from work Slack today. Only the names and some code are changed. It ended up causing a bit of drama. DevRanters, what do you take from this?
---
Delivery Lead:
Hey Gang. What's the blocker for FEATURE-123?
Dev1:
FEATURE-122 crashed on iOS app when viewing Feature Introduction page.
Teach Lead:
I've talked about this with Dev1 on a side channel.
And diagnosed the stack trace.
It looks like there is/was some bad handling of a List in the Feature Introduction view logic.
But this is confined to changes that Dev2 is still working on.
(It's not present in master)
Dev2, what's your current position on this?
Dev2:
I have tested at my end with Dev1 but it seems to be working fine
Tech Lead:
There is a race condition related to the use of someList.first()
My guess is that theres a Flow of those lists defined, with an initial value of emptyList
And that on your machine, that Flow is updating with a new value quickly enough that it doesn't matter.
But on Dev1's, for whatever reason, it doesn't get there in time, hits the empty list and falls over.
The logic that's performing the first() needs to gracefully handle empty lists as well.
Dev2:
Where is that logic called?
Tech Lead:
Here's the stack trace Dev1 provided in our conversation earlier:
Caused by: kotlin.NoSuchElementException: List is empty.
...
at 3 iosApp 0x00000000 kfun:kotlin.NoSuchElementException#<init>(kotlin.String?){} + 00
at 4 iosApp 0x0000000 kfun:kotlin.collections#first@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0 + 000
...
at 9 iosApp 0x0000000 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 0000
This line:
kfun:kotlin.collections#first@kotlin.collections.List<0:0>()
...says that it's first() being called on an empty list.
Dev1:
FYI: Dev3/Dev4/myself are seeing the same issue with the same stack-trace above.
Tech Lead:
So Dev2, have you introduced such a call?
Because I checked master branch and there isn't one, in that version of the file.
Ok, I'll check your working branch Dev2
...
Yes you have here:
var processed1 = someList.first()
var processed2 = someList.first()
...
Lines 123, 124.
Solution looks really straightforward guys.
Dev2:
Okay, I will fix that and push the change
Tech Lead:
Check if someList is empty and allow for generating / handling null processedValues in the view.
Now; I'm going to be straight with you here.
This issue has been discussed over several hours today.
I expect that either one of you could have gone through the process I did in the last 10 minutes above, and resolved it in the same way :point_up:
Dev2:
I went on a break and it's not reproducible on my machine
Tech Lead:
I didn't reproduce it on mine either.
Dev1:
Dev2 and myself are now on sharing screen to sort this issue out. Hope to update back later.
Tech Lead:
<Screen shot of diff with changed code>
:point_up: That change should do it.
Dev2:
Already have pushed the change.
Tech Lead:
...just seen it, is good - same approach :ok_hand:
Dev1 please let us know when tested on your machine.
Dev1:
That does it. It fixes the issues. Thank you, Dev2. I will pick it off from here.
Tech Lead:
Glad to hear it guys.
Dev1:
I have to say this that it is not because we are not working on the issue - Dev2 and myself (together with Dev3/Dev4) have been on this issue all this morning. It just difficult to connect the dot when it wasn't reproducable on Dev2's machine. I brought the issue up because I wanted to switch to working on other tickets while waiting for this to resolve. Still thank you largely for Dev2's work and your keen eyes that spot and resolve the issue quickly.
Tech Lead:
Noted Dev1.
I think the take-away has to be to read the stack-trace carefully... don't worry - we've all been guilty of not reading the error in full, at some point.
The stack trace said that the 'first' element is being referenced from an empty list - that's just logically impossible, right?
Looking for that call to first, we saw it wasn't in the code before, and is after (two of them, in fact).
So then we ask ourselves, how can we deal with an empty list - and then solution almost presents itself.
It didn't really take reproduction of the error to resolve.
Maybe working with a new tech stack creates an anxiety that every issue faced will have a complex solution related to that stack; but I think you'll agree, this particular issue really just required a deep breath and your trusty 'debugging skills 101'... don't lose them! :smiling_face:4 -
We basically don't unit test at work. I write some tests for my code and honest to God people complain I'm wasting time saying a test bed and manual tests are good enough. We don't write test beds for about half of our production code and rely on integration tests for the rest. We only test release builds which have been symbol stripped, I get handed a crash report with no stack trace that I'm unable to reproduce and expected to stay late to fix it for some arbitrary internal deadline.
I've since moved to R&D where basically I'm left to do my own thing so it's better.
We don't project manage. Project leads take time estimates and double them so management might cut them some slack. This doesn't matter because management made up time estimates before the project started. Last project I was on had a timeline of 3 months and took a year.
We have released broken products. Not that any of the above really matters, our software products have made about 50k revenue in 2 years. There are 6 people on software. Fortunately hardware has made about 3 mill. That said our hardware customers are getting frustrated with us as we keep fucking up, shipping broken products and missing deadlines.
I've been working there about a year and a half and will be looking for a job at the end of the current project.
I joined devRant about when I was most pissed off with my job, my rant frequency has definitely gone down since I moved over to R&D. -
Why the hell are senior engineers coming to me me to debug and figure out issues? I don't even own this code..why should I care? Does your brain stop working as soon as you see the stack trace leave the code you have written? You are getting paid more than I do so go figure it out yourself. Why are you asshats even getting paid more than me? How did you even get there if you can't debug? Again why am i getting paid less than these asshats7
-
A dev in the team just found out about JavaScript promises. Now he is putting them everywhere but never handling errors, so it's impossible to tell where the app is actually failing because the error points to the Babel polyfill and the stack trace is not long enough.1
-
I really hate PHP frameworks.
I also often write my own frameworks but propriety. I have two decades experience doing without frameworks, writing frameworks and using frameworks.
Virtually every PHP framework I've ever used has causes more headaches than if I had simply written the code.
Let me give you an example. I want a tinyint in my database.
> Unknown column type "tinyint" requested.
Oh, doctrine doesn't support it and wont fix. Doctrine is a library that takes a perfectly good feature rich powerful enough database system and nerfs it to the capabilities of mysql 1.0.0 for portability and because the devs don't actually have the time to create a full ORM library. Sadly it's also the defacto for certain filthy disgusting frameworks whose name I shan't speak.
So I add my own type class. Annoying but what can you do.
I have to try to use it and to do so I have to register it in two places like this (pseudo)...
Types::add(Tinyint::class);
Doctrine::add(Tinyint::class);
Seems simply enough so I run it and see...
> Type tinyint already exists.
So I assume it's doing some magic loading it based on the directory and commend out the Type::add line to see.
> Type to be overwritten tinyint does not exist.
Are you fucking kidding me?
At this point I figure out it must be running twice. It's booting twice. Do I get a stack trace by default from a CLI command? Of course not because who would ever need that?
I take a quick look at parent::boot(). HttpKernel is the standard for Cli Commands?
I notice it has state, uses a protected booted property but I'm curious why it tries to boot so many times. I assume it's user error.
After some fiddling around I get a stack trace but only one boot. How is it possible?
It's not user error, the program flow of the framework is just sub par and it just calls boot all over the place.
I use the state variable and I have to do it in a weird way...
> $booted = $this->booted;parent::boot();if (!$booted) {doStuffOnceThatDependsOnParentBootage();}
A bit awkward but not life and death. I could probably just return but believe or not the parent is doing some crap if already booted. A common ugly practice but one that works is to usually call doSomething and have something only work around the state.
The thing is, doctrine does use TINYINT for bool and it gets all super confused now running commands like updates. It keeps trying to push changes when nothing changed. I'm building my own schema differential system for another project and it doesn't have these problems out of the box. It's not clever enough to handle ambiguous reverse mappings when single types are defined and it should be possible to match the right one or heck both are fine in this case. I'd expect ambiguity to be a problem with reverse engineer, not compare schema to an exact schema.
This is numpty country. Changing TINYINT UNSIGNED to TINYINT UNSIGNED. IT can't even compare two before and after strings.
There's a few other boots I could use but who cares. The internet seems to want to use that boot function. There's also init stages missing. Believe it or not there's a shutdown and reboot for the kernel. It might not be obvious but the Type::add line wants to go not in the boot method but in the top level scope along with the class definition. The top level scope is run only once.
I think people using OOP frameworks forget that there's a scope outside of the object in PHP. It's not ideal but does the trick given the functionality is confined to static only. The register command appears to have it's own check and noop or simply overwrite if the command is issued twice making things more confusing as it was working with register type before to merely alias a type to an existing type so that it could detect it from SQL when reverse engineering.
I start to wonder if I should just use columnDefinition.
It's this. Constantly on a daily basis using these pretentious stuck up frameworks and libraries.
It's not just the palava which in this case is relatively mild compared to some of the headaches that arise. It's that if you use a framework you expect basic things out of the box like oh I don't know support for the byte/char/tinyint/int8 type and a differential command that's able to compare two strings to see if they're different.
Some people might say you're using it wrong. There is such a thing as a learning curve and this one goes down, learning all the things it can't do. It's cripplesauce.12 -
Yesterday was a horrible day...
First of all, as we are short of few devs, I was assigned production bugs... Few applications from mobile app were getting fucked up. All fields in db were empty, no customer name, email, mobile number, etc.
I started investigating, took dump from db, analyzed the created_at time stamps. Installed app, tried to reproduce bug, everything worked. Tried API calls from postman, again worked. There were no error emails too.
So I asked for server access logs, devops took 4 hrs just to give me the log. Went through 4 million lines and found 500 errors on mobile apis. Went to the file, no error handling in place.
So I have a bug to fix which occurs 1 in 100 case, no stack trace, no idea what is failing. Fuck my job. -
Complete bug reports for devs: Error name, stack trace, what did you do when it happened and all that stuff
Complete bug report for users: it crashed help1 -
"Exception has been thrown by the target of an invocation"
This error message pisses me off. I know the SSIS Script component is capable of catching exceptions, you can wrap all your code in a try/catch (please don't) and get an exception. So would it be so hard that if the Script Component throws an exception that it tells me what it is instead of sending me on a goddamn scavenger hunt?
The whole bullshit system of errors is why I hate SSIS. Just tell me what went wrong.
I did what I wasn't supposed to do, wrapped it in a try catch and it gave me a stack trace and an error message and all sorts of actionable shit. But why the hell can't it just do that on its own?
There is literally nothing worse, except maybe Hitler, than a goddamn vague error message.4 -
Returning back to the C# with NET Core was a mistake.
Currently working on a simple web project and I'm already stuck with the simplest problem: cannot connect to the local PostgreSQL instance.
"Cannot resolve host", bull-fucking-shit, localhost is not resolvable, 127.0.0.1 is not resolvable.
Better enough, tried to run Dns.GetHostEntry (which failed from the stack trace) on same localhost and... It's working... Why it's not working on the fucking Npgsql, why it's not working in the lib.
Now I totally understand that I don't get Microsoft's way of solving problems.13 -
Fixed a 9 month old bug today which couldn't be reproduced in debug and the stack trace from the release was utterly useless.
Total fix..... 4 lines of which two with only brackets1 -
When I say "error in an async function" you say "no stack trace"!
"Error in an async function"!
"No stack trace"!
"No stack trace"!
"Error in an async function"!
"Unhandled promise rejection DEPRECATION WARNING Unhandled promise rejections will be shoved up your ass in node v7.coffee.9.10.666."3 -
You are stuck in a PM meeting, and all you can think of is that error message from the last stack trace.1
-
Only in React packages...
When you follow the documentation to the exact dot and you get an error and nothing works.
And the stack trace gives you an error coming out of some deep async call, made many calls before the error.
Therefore the stack trace has nothing to tell you.
Equivalent of a brick falling on your head, just bad luck, who said programming should be deterministic anyway...1 -
error stack trace so fucking long you can't see the relevant part that matters of the unset environment variable you need to set
fuck you spring (boot), and gradle
even with the info flag on it doesn't show me the relevant part , fuck you4 -
"hey, can you please help me out with this, it isn't working"
"What's it say?"
"I dunno, It's giving (not throwing) some exception/error" (no clear distinction between them)
Well, shit. Did NOT expect Java to do that in case of some undesirable flow in code! Stack trace, error message, what was happening when the exception (or actual error) occurred as inferred from logs... Nope.
Great! -
PHP: "Full functionality changes? It's okay bro, just save me - I'm ready to rock and roll!"
Reload page: Beautiful.
ASP: "Changed the width of my div? Please recompile my entire solution. Thank you."
Compile.
ASP: "Hold on! There were build errors, compile anyway?"
Yes.
ASP: "Great! We're good to go and everything checks out!"
Reload page: Error. Stack Trace.3 -
After brute forced access to her hardware I spotted huge memory leak spreading on my key logger I just installed. She couldn’t resist right after my data reached her database so I inserted it once more to duplicate her primary key, she instantly locked my transaction and screamed so loud that all neighborhood was broadcasted with a message that exception is being raised. Right after she grabbed back of my stick just to push my exploit harder to it’s limits and make sure all stack trace is being logged into her security kernel log.
Fortunately my spyware was obfuscated and my metadata was hidden so despite she wanted to copy my code into her newly established kernel and clone it into new deadly weapon all my data went into temporary file I could flush right after my stick was unloaded.
Right after deeply scanning her localhost I removed my stick from her desktop and left the building, she was left alone again, loudly complaining about her security hole being exploited.
My work was done and I was preparing to break into another corporate security system.
- penetration tester diaries2 -
I just learned the hard way not to recklessly daemonize stuff; I ran into a case where my Python script crashes Python itself.
The issue was that one of the query that “requests” package makes for OS was not fork safe, thus causing a segfault. Since Python drops dead as soon as it receives SIGSEGV, all I had was macOS crash log (which is oftentimes hard to decipher). I spent like good one hour before I found “faulthandler” package which enabled me to log the stack trace to stderr and see what the f*<k was going on.
I mean, I’ve seen quite a lot of occurrences of thread safety issues, but now it’s fork safety!?
Maybe I should be sticking to Docker or something unless the situation *really* requires me to daemonize something lol2 -
Seeing an exception with no stack trace , emailing every1 how dumb it is , a week later another 1 , i already found where they were thrown and who did it after revealing history and I'm going to call chuck Norris on him
-
User: your python script is giving me error, <insert stack trace indicating a missing directory on the system path>
Me: Did you add the directory to the path
User: yes
Walks over to desk checks path, finds a space after the semicolon separator before the directory.
Removes space, problem fixed
Why Windows, why can't you just strip the white space.
Returns to desk, hides underneath and waits out the end of the day 😿 -
Worst experience this week: bad_alloc in my C++ program in 5 out of 10 executions (all with the same arguments) without a stack trace. FML.
-
When our app encounters an error, it shows an alert with an option to copy the error details to the clipboard, that includes the full stack trace, broadcasting to the world that we are coding in C#. Also, our page URLs show .aspx at the end, so anyone using it can see details of our implementation. Not exactly world-stopping since the desktop portal is only available on customer servers and the ipad app requires username/password AND pin authentication. But still....
-
This guy keeps insisting there’s a bug in my code, on a specific line. The stack trace shows that a NPE is thrown in his code, before that line is reached, but he won’t be persuaded by this argument and won’t send me the class.
Somehow he’s certain that Java would throw a NPE on trying to iterate through an empty list, as if his code was even returning an empty list. Can you imagine the chaos.1 -
Is it just me or is python community's dependency management a bit unreliable?
I just can't seem to easily install any python programs without missing dependencies. Updates have caused libraries to become incompatible, which in turn causes the application that used to work to just produce a stack trace.
Is this the state of python or am I doing something wrong.3 -
Upgrade some spring.jar files as per ticket.
Bumble fuck cargo program your way into getting the project to be runnable again after fucking with gradle.properties and build.gradle.
Find out that shit doesn't work and now you gotta dug around to see where the fuck logs might be.
Thanks for providing no stack trace or useful information to help me debug spring.2 -
Please do not send an entire stack trace asking how to fix something unless you've absolutely made the effort to solve or atleast google it.
-
Writing down some general frustration.
softwareDevelopmentIndustry.pace = true ? manager.rush(employee) : fictionalLand.takeItEasy();
Stack trace: most recent call last
StressException occurred at line 1: employee too stressed
.keepPushing()
.manager.push(employee)
.industry.demand()
Later on:
StressOverloadException:
nested exception is: PaceIndexOutOfBounds10 -
Why is iOS debugging so fucking useless? Instead of having a normal stack trace which takes you to the line of code that went wrong it just takes you to the bootstrap line in AppDelegate with a random code and basically says "Fuck you, figure it out yourself". Their stack traces are just as useless. IS THIS WHAT SOME PEOPLE CALL THE PREMIERE DEVELOPMENT EXPERIENCE, GODDAMNIT? at least Swift is nice tho, unlike Objective-C4
-
Top 12 C# Programming Tips & Tricks
Programming can be described as the process which leads a computing problem from its original formulation, to an executable computer program. This process involves activities such as developing understanding, analysis, generating algorithms, verification of essentials of algorithms - including their accuracy and resources utilization - and coding of algorithms in the proposed programming language. The source code can be written in one or more programming languages. The purpose of programming is to find a series of instructions that can automate solving of specific problems, or performing a particular task. Programming needs competence in various subjects including formal logic, understanding the application, and specialized algorithms.
1. Write Unit Test for Non-Public Methods
Many developers do not write unit test methods for non-public assemblies. This is because they are invisible to the test project. C# enables one to enhance visibility between the assembly internals and other assemblies. The trick is to include //Make the internals visible to the test assembly [assembly: InternalsVisibleTo("MyTestAssembly")] in the AssemblyInfo.cs file.
2. Tuples
Many developers build a POCO class in order to return multiple values from a method. Tuples are initiated in .NET Framework 4.0.
3. Do not bother with Temporary Collections, Use Yield instead
A temporary list that holds salvaged and returned items may be created when developers want to pick items from a collection.
In order to prevent the temporary collection from being used, developers can use yield. Yield gives out results according to the result set enumeration.
Developers also have the option of using LINQ.
4. Making a retirement announcement
Developers who own re-distributable components and probably want to detract a method in the near future, can embellish it with the outdated feature to connect it with the clients
[Obsolete("This method will be deprecated soon. You could use XYZ alternatively.")]
Upon compilation, a client gets a warning upon with the message. To fail a client build that is using the detracted method, pass the additional Boolean parameter as True.
[Obsolete("This method is deprecated. You could use XYZ alternatively.", true)]
5. Deferred Execution While Writing LINQ Queries
When a LINQ query is written in .NET, it can only perform the query when the LINQ result is approached. The occurrence of LINQ is known as deferred execution. Developers should understand that in every result set approach, the query gets executed over and over. In order to prevent a repetition of the execution, change the LINQ result to List after execution. Below is an example
public void MyComponentLegacyMethod(List<int> masterCollection)
6. Explicit keyword conversions for business entities
Utilize the explicit keyword to describe the alteration of one business entity to another. The alteration method is conjured once the alteration is applied in code
7. Absorbing the Exact Stack Trace
In the catch block of a C# program, if an exception is thrown as shown below and probably a fault has occurred in the method ConnectDatabase, the thrown exception stack trace only indicates the fault has happened in the method RunDataOperation
8. Enum Flags Attribute
Using flags attribute to decorate the enum in C# enables it as bit fields. This enables developers to collect the enum values. One can use the following C# code.
he output for this code will be “BlackMamba, CottonMouth, Wiper”. When the flags attribute is removed, the output will remain 14.
9. Implementing the Base Type for a Generic Type
When developers want to enforce the generic type provided in a generic class such that it will be able to inherit from a particular interface
10. Using Property as IEnumerable doesn’t make it Read-only
When an IEnumerable property gets exposed in a created class
This code modifies the list and gives it a new name. In order to avoid this, add AsReadOnly as opposed to AsEnumerable.
11. Data Type Conversion
More often than not, developers have to alter data types for different reasons. For example, converting a set value decimal variable to an int or Integer
Source: https://freelancer.com/community/...2 -
Saw my colleague debugging. He's got a try-catch, then I asked, "Why aren't you logging the stack trace?". He answered, "I don't cause it will be a security risk". So there he was having a hard time debugging.🤯
Can you guys confirm if what he said is true?4 -
Had to rewrite all of my ORM services just to get a proper stack trace for an error I was getting. I finally got an actual error... just to realize that it's a bug in the backend server.
-
The problem with Java errors is you ask for the error of a banana and you get the stack trace of the past 100M years of evolution.4
-
when the stack trace wasn't included in the error logging
fuck me, how the fuck am i supposed to know where the exception occurred
perhaps i've taken it all for granted thinking that the default toString implementation of an exception would've included that5 -
What's the worst part about testing React components? Using the equivalent of fucking stone tools to do your component integration tests! We got errors with no context and errors with no stack trace, just spewing out bullshit! A sample:
The classic "Can't access .root on unmounted test renderer"
The unforgettable and ALWAYS visible "Warning: An update to YourShittyComponent inside a test was not wrapped in act(...)."
We do love it! -
That second when you scan the stack trace, spot the line in error and just think to yourself "wtf just happened"
-
vue errors impossible to know where it caused
https://pasteboard.co/E5ynqes5IISK....
when I click on vue.js?3de6:634
it just gives some inside file. No stack trace to my file. Are you thinking what you are creating? Or are you making it to make it more difficult to debug vue creators?
https://pasteboard.co/geCmKtufSmQI....3 -
Due to budget cuts all the contractors in my team where let go by the end of last year. My two remaining colleagues can't read a stack trace right and take a week to try that maybe the repo that isn't building correct should be cloned again. I'dont consider myself a great developer by any stretch. I'm pretty willing to support anyone. Those two incidents left me speechless. I'm so tired sometimes.