So I took a Marlin firmware for my 3d printer and just changed values like the bed size and added a BL Touch by uncommenting the specified line and the Visual studio errors out. I don’t get it
ugh… this reminds me of a compilation error I got that complained about an unknown character. Looked through the file, didnt notice anything, passed it around for other people to check and no one noticed anything until one person noticed that the quotes were being autocorrected to the straight quotes instead for some fucking reason. I didnt see it because 1) why would that even be a thing and 2) I am almost legally blind without my contacts.
Yep. I use a piece of software that lets me drag components onto a stage and will auto generate code in the back end. We can then add our own code to customize the components.
I ran into a super cryptic error message while working on a time sensitive project and I was ripping my hair out trying to figure out what the hell was wrong. Turns out someone had pasted some code in from an email and the custom code editor displays the straight quotes and angles quotes exactly the same but the back end code generation fortunately displays them differently. The program didn’t like the character set for the quotes used in Outlook but didn’t give me the proper line number, the error made zero sense, and looking at the code didn’t show that anything was wrong.
Learned the hard way that anything copied from a MS product gets pasted to a plain text editor first. I especially love how SharePoint sprinkles “zero with space” characters liberally throughout.
Debugging Typescript without proper tools, in a nutshell. The original file might have 72 lines, but the transpiled JS file it’s debugging is like 3 times that many
Honestly, you don’t want production to tell users what your exact errors are, and especially not what the source code looks like and where to find the problem exactly.
Production errors should mostly go “Well, this was on (y)our side, sorry about that” and nothing more.
If it’s in the minified front end code it’s already client side, of course you don’t show it to the user but they could find out if they wanted to. Server side errors are where you really have to watch out not to give out any details, but then logging them is also easier since it’s already on the server.
If you have optimizations enabled this can easily occur due to code being moved around behind the scenes. For example the body of a small function can be inserted where it is called. For example in c# if you get a null ref exception in such inlined code it will actually direct you to the place where the function is called from, rather than its body.
So if you know, you probably can find the issue. In the worst case just go to debug mode with opti off, or use an attribute on the function to force it not to inline.
When I forget a semicolon (in languages that like those), it gives the the error on the next line instead of the one that I forgot the semicolon on. It makes sense once you think about it but, man, it trips me up sometimes
I assumed we weren’t talking “expected semicolon” since that ones pretty explanatory and would never appear on a blank line. That said, it does provide an opportunity to talk about the worst code style I ever saw. A dude decided he wanted semicolons at the start of lines so that compiler error always mapped to the line he would have put the semicolon on
Doesn’t rust-analyser have the code suggestions that do fix it for you? It’s not fixing automatically, but it does know where it needs to go and it’s giving you a button that you click and it automatically fixes it
Oh yeah, it does. I’m not really complaining about fixing it myself. Mostly, I was joking that I felt like I’m unneeded. Rust-analyzer actually being able to fix it on its own, doesn’t help in that sense either. 🙃
See, it’s this trying to be overly friendly nonsense I hate about JS. If you need semicolons, demand them. Don’t make it seem like you don’t then make your code break because it hudes that you do. My first orogramming job was at large multinational japanese motor company and they had a hard rule over no in house exe’s or opensource software. So the compromise was doing everything in JS. JS refused to listen to me on doing a single threaded for loop, just run the loop, wait a moment, run the next one, wait a moment…
For certain language features, you have to declare functions as inline.
And when you do that, as far as I can tell, it basically just templates that function at the end of the files where that function is to be used.
Because well, it suddenly starts to report line numbers in exceptions, which are beyond the end of the file. Which is not helpful, at all.
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !programmerhumor@lemmy.ml
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
Posts must be relevant to programming, programmers, or computer science.
No NSFW content.
Jokes must be in good taste. No hate speech, bigotry, etc.
Sometimes I get this when I have unsaved changes to the file or the binary is not in sync with the code PEBKAC, and sometimes its the compiler 🙄
Yeah me too. It’s the compiler. 😏
Instant PTSD. Only beaten by an error in, say, Line 84 in a file that has 72 lines only
So I took a Marlin firmware for my 3d printer and just changed values like the bed size and added a BL Touch by uncommenting the specified line and the Visual studio errors out. I don’t get it
ugh… this reminds me of a compilation error I got that complained about an unknown character. Looked through the file, didnt notice anything, passed it around for other people to check and no one noticed anything until one person noticed that the quotes were being autocorrected to the straight quotes instead for some fucking reason. I didnt see it because 1) why would that even be a thing and 2) I am almost legally blind without my contacts.
Yep. I use a piece of software that lets me drag components onto a stage and will auto generate code in the back end. We can then add our own code to customize the components.
I ran into a super cryptic error message while working on a time sensitive project and I was ripping my hair out trying to figure out what the hell was wrong. Turns out someone had pasted some code in from an email and the custom code editor displays the straight quotes and angles quotes exactly the same but the back end code generation fortunately displays them differently. The program didn’t like the character set for the quotes used in Outlook but didn’t give me the proper line number, the error made zero sense, and looking at the code didn’t show that anything was wrong.
Learned the hard way that anything copied from a MS product gets pasted to a plain text editor first. I especially love how SharePoint sprinkles “zero with space” characters liberally throughout.
Long inline assembler.
Might as well just delete it all and start again.
Debugging Typescript without proper tools, in a nutshell. The original file might have 72 lines, but the transpiled JS file it’s debugging is like 3 times that many
That when the file isn’t minified, no shit it’s on line 1 there is only one line
Production errors at their finest
Honestly, you don’t want production to tell users what your exact errors are, and especially not what the source code looks like and where to find the problem exactly.
Production errors should mostly go “Well, this was on (y)our side, sorry about that” and nothing more.
No, not all error have security implications
Not only that, but with JS you by definition have no code obfuscation. Minifying it just saves some bandwidth
Yeah, if one really wants obfuscation for JS, then it requires an extra build step. E.g. this: JavaScript-obfuscator
If it’s in the minified front end code it’s already client side, of course you don’t show it to the user but they could find out if they wanted to. Server side errors are where you really have to watch out not to give out any details, but then logging them is also easier since it’s already on the server.
Ah you’re right, I’m thinking too much like a backend dev!
Enable sourcemaps
I’ve seen errors on line 0 in the past
Yes! Does anyone actually know why this happens!?
deleted by creator
If you have optimizations enabled this can easily occur due to code being moved around behind the scenes. For example the body of a small function can be inserted where it is called. For example in c# if you get a null ref exception in such inlined code it will actually direct you to the place where the function is called from, rather than its body.
So if you know, you probably can find the issue. In the worst case just go to debug mode with opti off, or use an attribute on the function to force it not to inline.
Some thoughts based on personal experience:
It depends on what you’re using. I see it most often with TypeScript when the source maps are incorrect
When I forget a semicolon (in languages that like those), it gives the the error on the next line instead of the one that I forgot the semicolon on. It makes sense once you think about it but, man, it trips me up sometimes
I assumed we weren’t talking “expected semicolon” since that ones pretty explanatory and would never appear on a blank line. That said, it does provide an opportunity to talk about the worst code style I ever saw. A dude decided he wanted semicolons at the start of lines so that compiler error always mapped to the line he would have put the semicolon on
At least there’s at least some benefit there :P
Error: Unexpected the after the.
Definitely also depends on the language. Here’s e.g. Rust, the goddamn overachiever, pointing arrows and everything:
![](https://feddit.de/pictrs/image/3d8b5273-6547-4499-a454-50b344952e56.png)
Often feels like, if you know where it needs to go, why ask me?
Doesn’t rust-analyser have the code suggestions that do fix it for you? It’s not fixing automatically, but it does know where it needs to go and it’s giving you a button that you click and it automatically fixes it
Oh yeah, it does. I’m not really complaining about fixing it myself. Mostly, I was joking that I felt like I’m unneeded. Rust-analyzer actually being able to fix it on its own, doesn’t help in that sense either. 🙃
deleted by creator
See, it’s this trying to be overly friendly nonsense I hate about JS. If you need semicolons, demand them. Don’t make it seem like you don’t then make your code break because it hudes that you do. My first orogramming job was at large multinational japanese motor company and they had a hard rule over no in house exe’s or opensource software. So the compromise was doing everything in JS. JS refused to listen to me on doing a single threaded for loop, just run the loop, wait a moment, run the next one, wait a moment…
JS, don’t help me, just do as I say
The error is usually with the line before
Kotlin is quite …special in this regard.
For certain language features, you have to declare functions as
inline
.And when you do that, as far as I can tell, it basically just templates that function at the end of the files where that function is to be used.
Because well, it suddenly starts to report line numbers in exceptions, which are beyond the end of the file. Which is not helpful, at all.
Try putting a
please;
statement in therealmost funny INTERCAL joke
Even worse: “Error on line 1, column 8,653.”
Laughs in source map file.
Ha. I’ve just got a report of “UnknownError at foo in line 162”.
Line 162:
bar();
Of course, there’s a foo() nearby, and yeah the error is there. C# also has a problem with sourcemaps.
Anyway, the “UnknownError” is literal from the problem. And also, nothing has any problem at all, but foo() is from a proprietary 3rd party library…
https://giphy.com/gifs/foo-fighters-xCzJNW011jWIo
deleted by creator
“Sourcemaps, what’s that?”
Haha preprocessor goes brrrrrrrrrrrrrrr
Tears from async JS or transpiled without sourcemaps
This can actually be caused by using mixed line endings. Which is a whole new class of horrible.
You should configure git to checkout and commit specific types of line endings.
My money is on a nonprinted char
Curse you, teams!!!
deleted by creator
:LspRestart