- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
The funny thing is the spam filter is right. These messages are junk.
Admin
The second one isn't a WTF - this probably happened because he said "throw new Win32Exception()" for no real reason, so GetLastError() returned 0.
captcha: bathe - probably good advice for some potential commenters
Admin
Ha, never saw that before, but I think it only shows it to you after a fresh install anyways and not an upgrade...
The "The operation completed successfully" exception is probably due to the .NET framework not immediately storing the error code that caused the exception. Then it went off and did something else successfully, causing the GetLastWin32Error code (or whatever it's called) to change to SUCCESS, which it then picked up for use in the exception.
I'm only thinking of this because I read a blog post on normal Win32 stuff which described how the error code must be stored immediately or else it will be overwritten (someone was puzzled when they got error code 0 after an operation failed... they were doing other stuff before getting the error code).
Of course the .NET framework shouldn't fall prey to such a bug, especially since it's impossible to fix it!
Addendum (2007-11-02 12:30): Kelly: It's a SocketException... although he could have thrown it himself, it wouldn't have been much of a WTF then. I suppose one of the lines below could assign a new exception to e, but that also wouldn't make this a WTF.
Though I suppose it could be like those people who send in a video to America's Funniest Home Videos*, without mentioning it took them 20 takes to get right.
AFHV keeps all the clips you send them (they become AFHV property) so when they get several new videos with a similar theme they can also pull out older footage and string them together (IE 6 short clips of people falling off jetskis in various ways). And out of all the new clips shown, one is chosen as the funniest (it's NEVER the one you as a viewer at home would choose though) and they get a large cash prize.
Admin
Dammit! I hate when an operation completes successfully. It's always hell figuring out what went wrong.
Admin
You can have good reasons to want to block LAN IPs.
And though I can't imagine exactly when, it seems to me that the ability to block localhost could come in handy in some situations. Regardless, good software acts as your nanny optionally.
Admin
There's a separate GetLastError for Winsock (WSAGetLastError, I think...). Could it be a call to the standard GetLastError by mistake?
Admin
Forum cat is not amused. More stories please. kkthx.
Admin
Rumor has it that if you access yourself too much you could go blind. This prevents blindness in computers. :-)
Admin
On the other hand, if we irrevocably block all access to 127.0.0.1, a lot of spam and virus problems would just go away...
Admin
or pinpointing the exact line where it went right.
Admin
3rd may not be a WTF... many software firewalls have rules for connecting to localhost to prevent pinging itself infinetly
Admin
PLEASE write 'ie' in lower case. Seeing 'IE 6' gave me a nasty turn.
Admin
I'd be much more upset if my firewall did not attempt to stop applications from using TCP/UDP to create loopback connections.
Admin
Admin
Last time I read the Win32 docs, WSAGetLastError() was there only for API compatibility.
As it was said, the code probably detected an error, but called another Win32 function before calling GetLastError(). I see this kind of thing a lot in both Win32 and unix worlds:
People forget that malloc(), printf(), even strerror() are also system calls that override errno.
Admin
Don't they have a networked Bayseian filter? I'm betting that many of the users who open their first email message and see "Welcome to Thunderbird" report it as spam, so the spam blocker is indeed correct.
Admin
These just keep getting lamer by the day
Admin
I was also left wondering what 'Internet Explorer 6' had to do with AFHV. Better than 'ie'--use 'e.g.,'.
ie means id est/'That is to say'. eg means exempli gratia/'For example'.
Correct uses: Let me tell about my favorite drink, ie root beer. I enjoy many other drinks, eg water or juice.
Admin
FIST!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Admin
there's a forums.microsoft.com post by a forums moderator that explains
"The generic explanation for a www.thedailywtf.com error message like that..."
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=602258&SiteID=1
Even they know its banged up.
Admin
Is the wtf the fact that he is catching all types of exceptions?
Admin
Admin
Sweet Christ, will you people learn how to spell infinitely correctly? in + finite + ly
Admin
If this really came from System.Net.Sockets, it's typically due to not having the SetLastError property of the DllImport attribute set to 'true'. .NET Framework calls many Windows APIs in order to actually perform a P/Invoke so comes with a warning: trying to P/Invoke GetLastError is not reliable, you must use the SetLastError property. You have to opt in to getting the last Windows error code because it obviously adds some overhead and so, for speed, the default is not to.
As far as I can see, every system call that .NET 1.1 and 2.0 make to Winsock is decorated appropriately. So I'm not sure where this has come from.
In general Windows APIs don't overwrite the last error code with 0 when they succeed. Also, Windows APIs that return an error code (rather than a BOOL) generally don't overwrite the last error code at all. But there are a few which don't follow these rules (can't find a list right now).
Admin
Throwing an exception for no real reason isn't a WTF?
Admin
Ok, but how is it not a WTF again?
Admin
I've always thought that the error system in windows was a WTF by itself. The fact you can do something completely innocuous as part of your error handling code, and then lose the error completely, just seems like bad API design
Admin
CAPTCHA=stinky
Is that better?
Admin
The real WTF is Visual Studio's debugger. Specifically, I'm talking about how needlessly difficult it is to examine the values in your object variables. Half the time, even if you're willing to drill down, it's impossible to know where your values are hidden. Static members? Non-public members? Base class? WTF?!
Admin
Admin
Lies and shenanigans. Reproted.
Admin
Admin
Except that the punctuation should be: Let me tell about my favorite drink, i.e., root beer.
Admin
If malicious software is already on localhost, it's too late.
I can't really think of a case where a program would connect to localhost to talk to itself or another program... it would be a WTF. I am not including programs that can by design connect to ANY address. Just ones that would ONLY connect to localhost. A non-WTF program which wanted to talk to itself or another process would most certainty use some other method which can't be blocked by firewall.
Or maybe these methods are all harder than simply using sockets, I dunno, I don't work with inter-process communication much. I wrote a MapFileToView thing for a mIRC DLL I made once to talk to mIRC, but that's about it.
I suppose a program which connects to localhost to perform some annoying task you don't want could be improved by blocking it (assuming you NEED to use other features it offers) but I can't come up with an example of one.
Admin
I was on the verge of sending a similar WTF to the "success on error" this week ... one part of what I do at the day job is work with a legacy mainframe system, with request and response strings going back and forth, screen scrape via gu3270 emulation. One of the mainframe transactions for paying insurance claims returned an error status code even when the message turned was "CLAIM SUCCESSFULLY PAID" (paraphrasing) which tricked the .NET code wrapped around it into throwing an exception.
Admin
Admin
127.0.0.1 is the most evil EVIL EEEEVIL place on earth... GOD FORBID SPYWARE SENDS YOUR PERSONAL INFORMATION TO 127.0.0.1!!! YOU WILL BE IN 1337 H4X0RZ 7R0U8L3!
Admin
127.0.0.1 is a nasty guy. Hack him!
Admin
Admin
The real WTF is that copywriting isn't misspelled, for once.
Admin
http://c-faq.com/stdio/printferrno.html:
Sinan
Admin
Admin
What I tried to point out was: before doing anything else (maybe even before testing for error) is to save that global, extremely volatile GetLastError()/errno value, before you use it for anything else.
Admin
Oh, but I have. That makes it a bit easier because it lets you use Intellisense. However, you still run into the same problem when you want to click-and-drill.
Basically, the way they designed their click-and-drill interface is utterly useless and retarded. Intellisense is your only friend in this scenario.
Admin
Ramble much?
Admin
CAPTCHA:tacos <-- now I am hungry!
The WTF is people spelling Copyright as Copy Write. Remember it is a "right" you exercise not something you "write" home about.
Admin
LOL The Thunderbird department responsible for spam filtering is jealous of the copywriting department..
Admin
Nope, it's you who's wrong.
Copyright: "The exclusive right given by law for a certain term of years to an author, composer, designer, etc. (or his assignee), to print, publish, and sell copies of his original work." ~OED
Copywrite: "(rare) To write the copy (or text) of an advertisement; to have a job as a copywriter." ~Wiktionary, OED doesn't have Copywrite included.
They are different words, the former is much more common than the latter. A copywriter writes copy (as in text), a copyrighter claims the (exclusive) right to copy (as in duplicate) something.
There's only one reason I can think of to block access to 127.0.0.1: $malicious_program has altered your system so it actually connects to a remote machine when a program tries to connect to 127.0.0.1 (perhaps only on the specific port it uses). Unlikely but not THAT unlikely, it would be a clever way for $malicious_program to try and evade a software firewall.
Admin
OK, the Thunderbird error is a WTF but it's not the spam filter detecting a built-in "welcome" message as spam.
The message being displayed is the default message shown in the preview pane when you open Thunderbird but haven't selected any email. Once you've selected an email, it gets replaced, and there's supposed to be no way to get back to it - if you manage to select nothing again (by, for example, selecting a new folder to view) it reverts to a blank view.
If it were an actual email, the email headers would be displayed under the "thinks this message is junk" bar. (E.g., the subject, from, date, to, and CC headers.)
So the WTF isn't that Thunderbird identified a "welcome" email as spam, it's that it identified something that isn't actually an email message - or really any "message" since Thunderbird also does news groups and RSS feeds - as spam. Presumably this is because the theme the user was using is broken. (And, yes, a themeable email client is a bit of a WTF on its own.)
Admin