back to article Techie found an error message so rude the CEO of IBM apologized for it

Oh, bother, it's Monday. But rather than curse about another working week rolling around, The Register welcomes it with another instalment of Who, Me? It's the reader-contributed column in which you confess to workplace whoopsies and reveal how you survived them. This week, meet a reader we'll Regomize as "Saul" who shared a …

  1. anonymous boring coward Silver badge

    Running "strings" on software can reveal a lot of things.

    1. jake Silver badge

      Yep. For decades it was one of the first things I did with commercial software, and I usually got around to it on any other software that I used day-to-day. Not just good for error messages, but also for "undocumented" command-line switches and the like.

      1. Alan Brown Silver badge

        It's depressingly common to find GPL structures in commercial "proprietary" code when you do that

        The more devious ones will ROT13 it

    2. b0llchit Silver badge
      Joke

      Running "strings" on software...

      That is premeditated and extremely illegal reverse engineering. You have been reported to the proper authorities for re-education.

      /s

      1. Peter Gathercole Silver badge

        Saw the joke icon, but I wanted to point out that "strings" existed a long time before the Digital Millennium Copyright Act existed.

        Although most times the English error messages are hard-coded into the binaries as a fall-back default (often under the"C" locale, whatever that really means), a lot of multilingual applications put the localised messages into external message catalogues, which somewhat blunts the value of running strings. Also, UTF-8 can make some messages difficult to spot, and now null-terminated strings are frowned upon because of buffer over-run problems it means that "strings" may not pick out all of the messages anyway.

        1. Doctor Syntax Silver badge

          I don't think it minds if strings are null terminated or not. IME it just prints out any sequences of printable characters greater than some minimum length.

          1. GNU Enjoyer
            Angel

            Why indeed I love GNU strings

            The default is 4 printable characters;

            strings --help

            strings --version

        2. Robert Carnegie Silver badge

          UTF-8 is just ASCII with pretensions - but recently I've only used "strings" on video files to find metadata which for whatever reason isn't otherwise available, and that's not the same thing as examining executable binaries.

    3. ABugNamedJune

      We made Amiga, they fucked it up.

      1. David 132 Silver badge
        Thumb Up

        Remember the B-52s references that abounded on the PCBs? "Rock Lobster", "Planet Claire" and so on.

        Ah, good old days.

        And then Microsoft's devs had to go and push it just that bit too far with the infamous "flight simulator hidden in Excel" thing, and Easter Eggs were promptly banned industry-wide by managers who feared lawyers more than they loved whimsy.

        1. Strahd Ivarius Silver badge
          Coat

          Fortunately, Easter eggs are back with the AI generated answers...

          1. Derezed

            “ Fortunately, Easter eggs are back with the AI generated answers...”

            Known in AI speak as “Christmas Cross Buns” though.

        2. C R Mudgeon Silver badge

          "Remember the B-52s references that abounded on the PCBs?"

          Not to mention the many devs' signatures on the inside of the A1000's case.

          1. Anonymous Coward
            Anonymous Coward

            I had a device called a PiNT server once. Inside was a little plastic elephant. Because of the old joke - what's grey and comes in pints? Elephants.

  2. Korev Silver badge
    Facepalm

    I once worked somewhere that left the o out of a select count(*) statement - it somehow escaped testings and a customer found it...

    1. Korev Silver badge
      Pirate

      The same place had a bug report from a customer saying "If you see this then talk to 'Pete'".

      The customer had a sense of humour and rang the switchboard and asked for him

      1. Valeyard Silver badge

        "If you see this then talk to 'Pete'".

        I've seen this in-house once or twice. with nothing else to do i'm like "may as well send x a message see if he still cares"

        only to have the dev run to my desk to find out how I managed to trigger it as it's been wrecking his brain that something that should be impossible is occasionally happening

        1. Bryan W

          Dude.. A programmers entire life is filled with these kinds of errors haunting us in our dreams. Unsolvable problems because we can't figure out the why of it. All documentation tells you it's fine. It is obviously not. This does not settle well with our type of brains, but we have to plod on anyways, don't we? No one's paying us to unfuck quirky software. They want new shiney things.

          OFC if one of you techies find a way to reliably recreate one of these we will drop all and come running. It's a chance to quickly end what was likely a long running failure on our part; Perhaps we may even learn to slay a new type of demon in the process!

          1. David 132 Silver badge
            Facepalm

            To my shame, I have more than once in my life spent minutes/hours/days trying to figure out why a software bug stubbornly refuses to go away, and why all the breakpoints and status-messages ("Made it to function _validate() OK..." etc) I coded didn't appear.

            Only to belatedly realize that the code I was editing, and the binary I was building each time ("C:\project\app.exe"), weren't actually the binary I was running ("C:\project_last_build\app.exe").

            Ooooops.

            1. A.P. Veening Silver badge

              Every serious programmer has experienced something like that at least once (the first time usually happens before becoming a serious programmer).

      2. Peter Gathercole Silver badge

        I know I've seen error messages in source code like "You should never see this message", or "Should never get here".

        I'm sure there is at least one in the Edition 6 UNIX kernel source (printf in the kernel - stopped the system dead while the message was printed to the 2400 baud hardcopy console; urhhhhhh!)

        1. Antron Argaiv Silver badge
          Thumb Up

          My fave

          The famous Unix source comment: "You are not expected to understand this", followed by an extremely clever use of PDP-11 register features, IIRC

          1. Scene it all

            Re: My fave

            I was using the Bliss-16 compiler for a project. The Bliss compiler was really good at optimization for memory usage. I once saw it generate the instruction "MOV @PC,4(R2)". That stores a literal 4 at 4 bytes beyond where R2 points but takes one word less than the more straightforward "MOV #4,4(R2)".

            1. I Am Spartacus
              Pint

              Have a pint for the reference to BLISS

              The post is required, and must contain letters.

        2. DropBear
          Devil

          To be honest, every time I place a "this should never happen" comment in my source code, I'm still roughly 50% sure the damned thing will find some impossible way to happen anyway. Which is the entire point of me putting code in there that would justify such a comment in the first place.

      3. Ian Johnston Silver badge

        Many (35?) years ago I had to use a PDP-11 running a copy of Unix so old that one man page I looked up simply said: "If you need help with this see Dennis Ritchie in Room 1305".

      4. r00ty

        I fully expect it to have been something like this. An assert or similar error that had no business happening. I've used silly messages like "There must be a glitch in the matrix" in asserts that should not be possible to trigger (but we secretly fear one day might be). But not in production business software, and even in the 80s I don't think I'd include something like the subject of the article in the binary at all.

    2. longtimeReader

      The Roland DR-660 drum machine (early 1990s) has a set of pre-progammed rhythm patterns. Which have to be 6 chars or less to fit in the LCD display. And one of those would have been called "Country", except they had to choose a letter to remove ...

      1. Ken G Silver badge
        IT Angle

        so it mistakenly became 'County'?

      2. jake Silver badge

        It could have became "counry", as in Oi'm a counry bumpkin ... "

        1. Ian Johnston Silver badge

          City dwellers are called "gentry" and an individual city dweller is a "gent". Landowners are called "country" and an individual landowner is called

          1. TeeCee Gold badge
            Coat

            ..a vampire?

          2. PerlyKing
            Joke

            I heard it as, "a kingdom is ruled by a king; a principality is ruled by a prince; the USA is a country..."

    3. Anonymous Coward
      Anonymous Coward

      select c[o]unt(*) from staff where role = manager;

      Pardon my rusty 4 decade old sql but did the shorter output selector work ?

      In most places select * .... would produce identical output.

    4. Anonymous Custard Silver badge
      Facepalm

      I saw something similar just last week.

      A document where "customer" was spelled correctly all but once, unfortunately that one had the s/n typo that you were all expecting.

      At least we have a new official description for some of our more difficult clients, and to be fair the authors of the document weren't native English speakers/typers...

      1. Admiral Grace Hopper

        We used to call that sort of person a "Custard".

        1. Anonymous Custard Silver badge
          Trollface

          We used to call that sort of person a "Custard".

          Ah, but were they anonymous...?

        2. AlbertH
          Facepalm

          Difficult ones were always described as a "Class A" customer - sometimes to their face - but we didn't let on which bodily part the "A" referred to..... Some of them were proud to be considered thus....

      2. DancesWithPoultry Bronze badge
        Headmaster

        > spelled

        *spelt

        This place is becoming infested with Yank grammar.

        1. Eecahmap

          That cuts across the grain. . . .

          1. David 132 Silver badge

            OK, that got a rye chuckle from me.

            1. HappyDog

              You must be a gluten for punishment

        2. jake Silver badge

          "Spelt is a type of grain; use the regular form for the past tense of spell." —My English A level teacher in Yorkshire, 1970s.

          He went on to rant about idiots also still using the archaic dreamt, learnt and smelt, with examples (which sadly I can't remember) ... I stuck my hand up and asked "what about burnt"?, his reply was that the Yank should keep quiet lest he burn his fingers ... I always did like that guy. Good teacher! :-)

          1. hx

            Your teacher seems like they were a real cuned.

        3. C R Mudgeon Silver badge

          Why yes, many of us here are from the left side of the pond. What would you have us do?

        4. Alan Brown Silver badge

          And here I was thinking spelt was a kind of wheat.

          (Both are acceptable in British English)

      3. Vincent Ballard

        My local airport used to have a sign informing costumers about their rights if their flight was cancelled.

        1. Alan Brown Silver badge

          Given that TSA is performance art that's probably appropriate

          1. jake Silver badge

            Security theater, perhaps ... but ART? Nah. Not in the eye of any beholder that I know ...

    5. C R Mudgeon Silver badge

      Leaving aside the rude-word aspect, how did that error ever make it through testing? "count" is a reserved word in that context. I'd have expected "select arbitrarystring(*) from..." to fail utterly.

      1. Robert Carnegie Silver badge

        If it executes, then the user probably won't see the SQL code, either. I could guess:

        - It's in exception handling code which was not invoked during testing, e.g. "customer has more than 100 children" is an error, actual customer is a boarding school.

        - Microsoft SQL (maybe others too) allows both "CHECKSUM(*)" and also user-defined function programming. I don't know if that stretches to writing "myfunction(*)" but if it does, then I suppose that a developer who had a habit of leaving out letter o could write a function with the altered name which calculates the correct result anyway.

        - Since count is a reserved word, you also might want to write something like "SELECT CustomerName, COUNT(*) AS Counts GROUP BY CustomerName ORDER BY CustomerName" and actually it was "Counts" that was misspelled.

  3. 45RPM Silver badge

    I used to do that too. Except that I encoded the messages such that they wouldn’t be revealed by such a trivial search.

    1. b0llchit Silver badge
      Happy

      Yeah, ROT13 to the rescue.

      1. petef
        Happy

        For even more obfuscation I use double ROT13.

        1. DancesWithPoultry Bronze badge
          Windows

          That joke is so old it predates the invention of ROT13.

        2. Someone Else Silver badge

          So ROT26, then....

          1. David 132 Silver badge

            In this era of quantum computing we should all be using ROT52 at a minimum.

            1. Someone Else Silver badge

              So ROT52-more-or-less?

  4. An_Old_Dog Silver badge

    Triggering a Specific Error Message

    It could be that the sexually-celebrative error message could never be triggered the way the program was written.

    If it was merely an unused entry in the error message table, with no error condition mapped to it, it would have just sat there.

    Back when I was writing COBOL programs, I used to include a visually-distinctive string at the beginning and at the end of the string literal pool, so that it was easy to find when visually-scanning a dump printout.

    1. longtimeReader

      Re: Triggering a Specific Error Message

      Also in IBM software ... a colleague set an message to "Merde!" for one of those impossible to reach error conditions. When the condition proved to be not quite as impossible as he'd imagined, the only real complaint from the customer was that they weren't actually running in the French locale.

      1. Anonymous Coward
        Anonymous Coward

        Re: Triggering a Specific Error Message

        MEMS

      2. chivo243 Silver badge
        Trollface

        Re: Triggering a Specific Error Message

        I hear the missus use that word quite often when perplexed!

    2. Nugry Horace

      Re: Triggering a Specific Error Message

      Even if an error message can't happen, they sometimes do. The MULTICS error message in Latin ('Hodie natus est radici frater' - 'today unto the root [volume] is born a brother') was for a scenario which should have been impossible, but got triggered a couple of times by a hardware error.

    3. StewartWhite Silver badge

      Re: Triggering a Specific Error Message

      VAX/VMS BASIC had an error message of "Program lost, sorry" in its list. Never could generate it but I liked that the "sorry" at the end made it seem so polite.

      1. John Brown (no body) Silver badge

        Re: Triggering a Specific Error Message

        TRS-90 Level 1 BASIC only had three error messages. How, What and Sorry. :-)

        IIRC the entire ROM was only 4K, so meaningful error messages were out.

        1. RGH2121

          Re: Triggering a Specific Error Message

          As I recall BBC basic had "Silly!" as an rttot message. Can't remember what generated it, but it was relatively easy to get

  5. Michael H.F. Wilkinson Silver badge

    Nothing offensive, just impossible

    Working on a parallel program for simulations of bacterial interaction in the gut micro-flora, I got an "Impossible Error: W(1) cannot be negative here" (or something similar) from the NAG library 9th order Runge-Kutta ODE solver on our Cray J932. The thing was, I was using multiple copies of the same routine in a multi-threaded program. FORTRAN being FORTRAN, and the library not having been compiled with the right flags for multi-threading, all copies used the same named common block to store whatever scratch variables they needed. So different copies were merrily overwriting values written by other copies, resulting in the impossible error. I ended up writing my own ODE solver

    Having achieved the impossible, I felt like having breakfast at Milliways

    1. Gene Cash Silver badge

      Re: Nothing offensive, just impossible

      Multi-threaded FORTRAN. Alrighty, then. There's a nightmare I didn't know was possible. I'm going to need something a bit stronger than tea.

      1. Darkedge

        Re: Nothing offensive, just impossible

        I'd need a Pan-Galactic Gargle Blaster before going back to Fortran in any shape or form...

        1. jake Silver badge

          Re: Nothing offensive, just impossible

          It's that kind of attitude from kids like yourself that makes coding in Fortran and COBOL the lucrative thing that it is today. Lots of money coding in the pair of them.

      2. Peter Gathercole Silver badge

        Re: Nothing offensive, just impossible

        Most modern Fortran implementations have OpenMP implementations to allow code to be thread safe.

        1. DancesWithPoultry Bronze badge
          Gimp

          Re: Nothing offensive, just impossible

          Any discussion of Fortran (sorry, FORTRAN) is inevitably dominated by those who once saw some F77 code as a kid, or are old enough to have used punchcards.

          Yet Fortran 90 was a major overhaul of the language, and modern Fortran versions are actually rather spiffing. Not to mention they can be used with the old libraries which are utterly bombproof.

          There is a reason Fortran is still in use for mathematical modelling. It's simple to use and you can really trust it.

          1. John Sager

            Re: Nothing offensive, just impossible

            Snap! FORTRAN IV for me- a 1 term course at uni and some punch-card bashing for a new ICL1904 where they were letting us have some free time. I left FORTRAN almost behind but the antenna modelling s/w Nec2 is written in it and I've hacked on that a bit in the past.

          2. An_Old_Dog Silver badge

            Re: Nothing offensive, just impossible

            Uhhh ... for me, it was FORTRAN IV, FORTRAN66 and a tiny bit of FORTRAN77.

      3. I Am Spartacus
        Childcatcher

        Re: Nothing offensive, just impossible

        CRAY has a special form of FORTRAN to support the parallel array processing that the hard ware was famous for.

    2. GlenP Silver badge

      Re: Nothing offensive, just impossible

      I had something similar (albeit a trivial context) switching LEDs on a model railway in Python on a Pi. I merrily multi-threaded the provided routines for the I/O chip not realising they did a read-before-write to establish the current state, which of course then changed between read and write. The flashing light show wasn't quite what I had in mind for my simulated fluorescent tubes starting up, although it was easy enough to fix by writing my own routines that used a global variable for the current state,

      1. EddyM

        Re: Nothing offensive, just impossible

        Ah that reminds me of my very first dabblings in PHP. I didn't yet know what MySQL was at that point, but I wanted to add a basic visitor counter to my website. So I made it read the current number from a file, increment it, and then overwrite the file with the new number.

        Simples. And it worked fine, or so I thought, until sometime much later (after accumulating a lot of visits) when I realised it must have reset at some point, as the number was much lower than the last time I'd looked...

        (I guess when two visits happened to occur simultaneously, that was effectively equivalent to multiple threads running the same code and trying to access the same file, and the second read must have occurred just as it was in the middle of being overwritten)

        1. Pete Sdev Silver badge
          Boffin

          Re: Nothing offensive, just impossible

          flock() would have been your friend for this.

    3. ComicalEngineer Silver badge

      Re: Nothing offensive, just impossible

      Have an up vote merely for doing something as complex as a 9th order Runge-Kutta.

      I never got beyond a 4th order solver in F77 or BBC Basic. I think we had something like 40 simultaneous differential equations in the model. Too a while to solve on a BBC even with the maths co-processor, but that didn't matter as we had about a dozen beebs and used to leave them running overnight.

  6. blu3b3rry Silver badge
    Coat

    A message from the CEO resolving things must mean

    Saul Goodman.

    Yet to find anything explicit but I have come across internal software that had such things as "Greg's super hacky script starts here" come up in the debug logs.

    One wag among the devs had a habit of putting <Applause> after the log message for a finished test run.

    My favourite was the pop-up that had the title of "Oops" with the explanation text of "This should never happen or be possible, the program will now close."

  7. Admiral Grace Hopper

    "You can't be here. Reality has broken if you see this"

    Reaching the end of an error reporting trap that printed a message for each foreseeable error I put in a message for anything unforeseen, which was of course, to my mind, an empty set. The code went live and I thought nothing more of it for a decade or so, until a colleague that I hadn't worked with for may years sidled up to my desk with a handful of piano-lined listing paper containing this message. "Did you write this? We thought you'd like to know that it happened last night".

    Failed disc sector. Never forget the hardware.

    1. Doctor Syntax Silver badge

      Re: "You can't be here. Reality has broken if you see this"

      Your message should have said "Reality has won".

      1. Admiral Grace Hopper

        Re: "You can't be here. Reality has broken if you see this"

        GPWM

        1. Anonymous Custard Silver badge
          Boffin

          Re: "You can't be here. Reality has broken if you see this"

          No instruction about rebooting the universe to reset reality?

  8. Steve K

    Disk Insertion?

    I wonder whether it was triggered by the floppy (oo-er missus, fnar,fnar) disk insertion event?

    I recall back in the very early 1990s as a trainee Accountant I was assigned to a piece of work in a department using Macs, which had that particular event set up with a similar sound file triggered.

    One of the other things I learned about Macs that day was where the volume control was.....

  9. Mishak Silver badge

    Intelligence test

    One place I worked at (though this was nothing to do with me) received a call from a confused customer.

    Customer: "I was trying to get your software to do X, but I wasn't sure how to do it so had to play about".

    Support: "That's ok, it won't let you do anything bad".

    Customer: "Yeah, I know that. However, it just told me "9 out to 10 intelligent people would have worked this out by now"".

    Turns out someone had put some code in that spat this out if the same error occurred 10 times in a row.

    Luckily, the customer just thought it was amusing and was calling to say "well done".

    1. Robert Carnegie Silver badge

      Re: Intelligence test

      Saying "9 out of 10" is (nearly) a good save. It lets the customer be the 1 in 10 who does know what he's doing, but the software doesn't know what he's doing.

  10. Mishak Silver badge

    Another one

    Friend was working for a large corporation during his vacations at uni.

    Task was to process large amounts of data from the command line using a very, very under-powered PC (so the job took a long time to run).

    He decided that some sort of progress indicator was needed, so he added various "helpful" messages to indicate where the processing had got to in the various loops and procedures.

    "Tum, tee-dum, de-dah, ta-ta".

    His manager was not impressed - even though the program satisfied all of its functional requirements.

    1. jdiebdhidbsusbvwbsidnsoskebid Silver badge

      Re: Another one

      I've done that sort of thing many times when similarly, running data processing tasks that were going to take several hours. Nothing as elaborate as a proper progress indicator, but make it spit out some random message every now and again so you know it's still running rather than just quietly crashed.

      And yes, to relieve the boredom, I probably did include random messages that were for my eyes only.

    2. Caver_Dave Silver badge

      Re: Another one

      I just print in turn |/-\ to the same place (i.e. with a terminal backspace between) on a regular period during the main loop of the code.

      If it is a particularly long run that is still occasionally crashing then I use an incrementing count instead, so that I at least have an idea where and why the crash occurred.

      1. Doctor Syntax Silver badge

        Re: Another one

        Those not as clever as they think they are sometimes decide the more stylish way of doing this it to use an animated GIF.

      2. An_Old_Dog Silver badge

        |/-\

        I hope you realise that on an impact printing terminal, your spinny thing will eventually cut a hole in the paper.

        1. C R Mudgeon Silver badge

          Re: |/-\

          Waaaay back when I was at university, I received an email that had an ASCII-art airplane, with several of those as its propellers. And yes, they did a good job of drilling through the hard copy.

          1. PB90210 Silver badge

            Re: |/-\

            More recently, after ANOTHER company rebrand, and against the brand dept's orders, someone in the transport divn created an animated GIF of the new logo being transported by truck, then a plane and then ship (ignoring the fact that the last 2 would have been outsourced).

            A simple email that would have been a couple of kB was now a couple of hundred kB!

      3. Someone Else Silver badge

        Re: Another one

        Did the same on an old (read: old) IBM PC-AT. Actually picked a character position in the upper-left corner of the screen, and changed the background color of that location, cycling through the 16 (er...20, counting the 4 grayscale colors) every so often (probably every clock tick...too long ago to remember the details). If the corner of the screen was flashing about, all was well...

    3. Robert Carnegie Silver badge

      Re: Another one

      "Narcissus" performed by Norman Wisdom and Joyce Grenfell comes to mind for this.

      Alternatively you could write a carefully worded limerick - output one word at a time - and make just inside the bounds of acceptability. (But, include a safety margin.)

      Include several different versions, and either cycle through them or choose randomly.

      Let's see -

      The famous "Mechanical Turk"

      Took longer than this for its work.

      In fact there would hide

      An accomplice inside.

      So sit and be patient, you see it will get done eventually.

  11. Admiral Grace Hopper

    Ancient memory dredged up from the murk

    All of sudden I am reminded of the VME order code 33552 - UM_HO_HUM_NOTHING_TO_DO which indicated that there was no instruction waiting to be processed.

    1. Antron Argaiv Silver badge

      Re: Ancient memory dredged up from the murk

      I think I can top that.

      The CDC 3800 (and/or 3600) console had a 4x4 square for status (of something) display. Normally, these lights flickered on and off as the machine ran. When the processor was in "pause" mode, the 4x4 became a character generator, showing, sequentially, the letters, P-A-U-S-E. But that 's not all, each letter started out "small" in the center of the grid and became larger, until it used the entire 4x4 display.

      I'm quite fuzzy on the details as it was 1973 when I saw this and the machine was replaced the next year with a CDC CYBER74. But I thought it was clever.

  12. I don't know, stop asking me.

    I remember snooping around in the executable for WordStar on CP/M. The string "Nosy, aren't you?" was what caught my attention.

    There was also some obscure error in one of Oracles packages some decades ago. I don't recall the exact message, but it was something like "It looks like you don't know what you are doing."

    1. Anonymous Coward
      Anonymous Coward

      Prophetic ?

      Oracles packages some decades ago - "It looks like you don't know what you are doing."

      Running anything from that infernal pit today pretty much confirms the prophesied incompetence.

  13. Flocke Kroes Silver badge

    What was so embarrassing about six?

    Was anyone from New Zealand?

    1. hoofie2002

      Re: What was so embarrassing about six?

      Sex in Kiwi is what potatoes are delivered in

      1. David Newall

        Re: What was so embarrassing about six?

        no, sex was what we were having for dinner that night, according to one of my Kiwi housemates. True story.

        1. The answer is 42

          Re: What was so embarrassing about six?

          I thought sex was what posh people had their coal delivered in…

  14. Ikoth

    Spicy Error Message = New Job?

    I once worked with a chap who, in a previous life, had been a developer for an AIX based accounting system.. He recounted the story of being called into his manager's office to discuss a recently received complaint. A customer using the software suddenly found himself kicked out of the screen he'd been using and was instead presented with a screenful of code, the final line of which read "What the fuck are you doing in here...?"

    Neither the customer nor the manager were best pleased, which apparently contributed to the career change.

  15. Anonymous John

    "The other was that despite his efforts, he never did manage to trigger the error!"

    Probably because it was impossible. Including an error message that can't be triggered isn't difficult. Or the programmer would never have included it. *

    * Not unless he/she was leaving.

  16. hoofie2002

    Birthday message

    In about 1994/1995 I worked for a market research company then in Epsom who specialised in reporting on pharmacy medication dispensing.

    There was an Oracle DB and some reports that ran off it written in C. When I joined the outfit I had to review some of the code.

    The twat who wrote it originally put "Happy Birthday to me" messages on all the report outputs if they were run on the appropriate date. Luckily it had not been triggered yet so I cut it out asap.

    Apparently he only got the job because his Mum was a Director and my colleagues despised so if he is reading this - you are a huge twat and sue me please.

    1. Doctor Syntax Silver badge

      Re: Birthday message

      All marketing reports should be taken with a pinch of salt.

      1. David 132 Silver badge
        Coat

        Re: Birthday message

        Even a marketing report about the dangers of salt consumption?

  17. BinkyTheMagicPaperclip Silver badge

    Impossible error in DOS

    In the early 90s I received an 'impossible error' in a DOS program. It was a very flaky PC, and I suspect the memory was bad with certain bits wired to specific values, so in addition to a lot of instability 'an impossible error has occurred!' in fact occurred.

    There's a reason in space with all the cosmic radiation, there are multiple computers cross checking results! Even at ground level you'll get parity/ECC correction notes occasionally.

  18. Xyzzy_jp

    A unusual Abend

    In the old days I used to be a systems programmer for smaller IBM mainframe4341, 438. A different programmer writing code for a new application was annoyed with a senior systems analyst, who in those days write specifications for programmers for code. So he added a new feature to his program. When the analyst used the code to test, it crashed with an Abend. The Abend which mean "Abnormal end" was a 4 letter code and commonly used for OS crashes which produced a dump of memory, so a systems programmer could debug and work out what fix was needed. So the programmers Abend was software generated and did not cause the OS to crash, but he came and told me anyway.

    So the Analyst tested, the program crashed, Abend ASOL. which was an abbreviation for AS***OL*. Hopefully you can work it out. The analyst reported the Abend and the program was "fixed" with much laughter amoung the programing team..

  19. evadnos nibor

    aaaaarrrgh

    Working for a small oi'n'gas exploration software company in the 90s, devs did support as well.

    Bill: Hi Dave, it's Bill from $LARGE_OIL_CO in Aberdeen, I'm hoping you can help me

    Me: I'll have a go, Bill, we can call in someone else if it's proper geophysics ...

    Bill: No need, I'm fairly sure you can help me with this one

    Me: Ok, so what's going on?

    Bill: We've had a long running job stall with $SEISMIC_SURVEY_PROCESSING_TOOL and I've been looking at the logs. Can I read you what I've found?

    Me: Of course, let me get the code up and I can see where it's spinning >tappity<

    Bill: It says >clears throat< "aaaaaaarrgghh! aaaaaaarrgghh! DAVE DAVE we're fucked and I'm for the chop"

    Me: Oh

    Bill: Oh?

    Me: It's not as bad as it sounds ...

    Bill was a shrewd guy and a very good customer and we managed to work out what to do to save the job (and mine) in an hour or so on the phone. It utimately led to a decent improvement in processing times for which I got a bonus. Later support calls with Bill would classify how far a problem was along the "DDWF scale", which we never told anyone else the meaning of.

    Thanks, Bill.

    1. UCAP Silver badge
      Happy

      Re: aaaaarrrgh

      Dammit - you owe me a new keyboard

    2. Antron Argaiv Silver badge

      Re: aaaaarrrgh

      Bill sounds like someone who's been where Dave was at some time in the past. Anyhow, he seems like a good bloke.

      1. The Oncoming Scorn Silver badge
        Pint

        Re: aaaaarrrgh

        He's dead, Dave. Everybody is dead. Everybody is dead, Dave

        1. Antron Argaiv Silver badge

          Re: aaaaarrrgh

          Dave's not here, man.

    3. Anonymous Coward
      Anonymous Coward

      Re: aaaaarrrgh

      Oi'n'gas?

  20. Lord Baphomet

    What's the joke?

    I don't understand the problem with that error message. All my error messages are like that. I once wrote a handler for dB errors that said, "it's not my fault, Kevin fucked up the database again"

    1. AnAnonymousCanuck
      Devil

      Re: What's the joke?

      I would return a sleep 5 minutes to your code/connection instead of the real database error.

      Yes, I was/am and always will be an Oracle DBA.

      I don't ever remember using the name Kevin, but I ......

      YMMV

      AAC

  21. MiguelC Silver badge

    "if you reached this point you're fucked"

    As I've told here before, in the late 90's I was tracking a mainframe bug report and got a message on my terminal stating that "if you reached this point you're fucked".

    Although the original coder was no longer working with us, I eventually confirmed his prescient statement.

  22. Don Bannister

    Unusual error message

    Some years ago, was using a bit of software that worked with a hardware emulator. We knew the chap who'd written it - a bit of an eccentric might be a fair description.

    So it wasn't a great surprise to be greeted one day with the error "Pointer fucked" :-)

    1. Benegesserict Cumbersomberbatch Silver badge

      Re: Unusual error message

      Was he from New Zealand, in pointer fucked?

  23. Marty McFly Silver badge
    Pint

    Sure it was an error? Maybe an Easter Egg

    The big yellow security company I used to work for had to put a stop to that in the late 1990's. Previously there had been a hidden picture of all the Devs and a movie screen style credits list that would scroll on the screen. Some special key combination on the About page would trigger it.

    Then the corporate and government worlds got stuffy and no such undocumented functions could be permitted. That language got slid in to one of the big contracts and that was the end of that.

    The Wild West days of tech were a lot more fun when we could still laugh together.

  24. ColinPa Silver badge

    Impossible code

    I remember someone who had some code like

    if bit0 = 0 then ...

    else if

    bit0 = 1 then ....

    else

    Phone George on 0196281....

    10 years later George got a phone call. A developer had carelessly changed the field from a one bit field to a 2 bit (or integer) field and so his else clause was fired.

  25. Steve Hersey

    Defensive use of profane user dialogs

    Many years ago, when I wrote a thoroughly annoying remote access program for a portable flowmeter, I had the problem that Sales insisted on testing the unreleased beta versions, but ALSO refused to abide by the "don't give out the beta test version to customers" requirement. Even adding a big splash screen with "INTERNAL TEST ONLY, NOT FOR CUSTLMER RELEASE" didn't help.

    Plagued by complaints that the beta didn't do X or Y (which, of course, weren't implemented yet!), I added a profane version of the "NOT FOR CUSTLMER RELEASE" warning to the splash screen.

    Naturally, a sales rep immediately gave it to a customer, and complained bitterly on his return to the office. I calmly explained to management that Sales had been repeatedly warned not to distribute unreleased versions, the salesman thus knew he was not supposed to do so, and therefore the consequences were entirely his own fault.

    I had to remove the profanity from the message, but the point was made and Sales behaved themselves for a while thereafter.

  26. zeos

    I hope he framed and saved that letter.

  27. dmesg Bronze badge

    Pagemaker

    Back when I worked phone tech support for Aldous Corp, I recall one of the devs saying he'd put such a message into Pagemaker for an impossible-to-trigger error. It was along the lines of "If you get this message, call Joe at <phone number> and he'll send you a case of <one of Seattle's finest brews>".

    This was in the days when microbreweries were just catching on in other cities. They'd been there for decades in Seattle*, so this was a fine prize indeed. I never heard of anyone claiming it, though.

    * Microbreweries arose in the Pacific Northwest out of necessity. At some point in the past, there had been a conflict between the Teamsters and the brewers' union over who would drive the beer trucks in the U.S. The Teamsters lost, and in a snit they closed off their home turf (Seattle and thereabouts) to the trucks of out-of-region breweries.

  28. Fruit and Nutcase Silver badge

    "S*x feels so f***ing good, I just can't stop."

    That wouldn't have been out of place in one of Jilly Cooper's bonkbusters

    RIP Jilly Cooper

    https://www.bbc.co.uk/news/articles/cd190zlmz3xo

  29. Someone Else Silver badge

    Death by...

    Had one such message in an embedded system created back in the early 80's. At a point in the home-brew task scheduler we created, there was an error message we created at the end of a rather complex if-else if cascade that read "Death by <redacted>"* which would scroll across the 8-character 7-segment LED display of the device. We tested the living snot out of it, and were convinced that the conditions that would raise this message really could not happen.

    Enter Murphy's Law of Demos.

    A potential customer came into the office to get a demo of a beta version of the device. We ran it through its paces, and all went surprisingly well. Up to, of course, the final act of the demo, where, this message started to scroll across the screen. The potential customer had looked away as the message started scrolling, and when we saw the message start, we surreptitiously and quickly rebooted the machine, deftly explaining away the reboot as the result of an odd previously identified beta problem that would not occur in the actual release. The potential customer was satisfied with the explanation, and IIRC, ordered several of the devices.

    Naturally, we were subsequently unable to re-create the problem. But, we came to understand that there is not such thing as an "impossible" error, and rewrote the error message to be more "customer friendly". Don't think that the message (in any form) ever did show up on production boxes.

    *"Death by <redacted>" was the punchline of a particularly racist, homophobic joke that made the rounds of our dev team at that particular point in time. This was the 80's, and such stuff was tolerated back then (as was smoking in the office...). Nowadays, one could get summarily dismissed for circulating such stuff around the office. So I won't.... (Hence, the redaction.)

  30. Anonymous Coward
    Anonymous Coward

    IBM DOS

    I remember back in the day using the DOS debug app and loaded cmd.com from IBM DOS 2.0 and came across 'Microsoft rules ok'

  31. Boris the Cockroach Silver badge
    Devil

    In

    writing macro commands, I do put in error messages such as "No negative hole depths allowed" or "Movement out of bounds"

    I suspect the next macro will have the usual list of error messages plus an impossible to reach condition reading "If you see this error message , you will die in 3 seconds time"

    Although going by most of the day's comments, that will be the first one shown........

  32. Anonymous Coward
    Anonymous Coward

    THis reminds me some of the good old days and "God Only Knows" errors ;-)

  33. PRR Silver badge

    Before desktop PCs I worked with schematic drawings. There was often a NOTES field. Notes like "all resistors 10%" or "measured at 117VAC line voltage". But one had a note "Why do dogs run so fast in the Arctic? Because the trees are so far apart."

    Google tells me this is a Bob Hope joke re-worded.

    The Gibson Fortune guitar amp's plan has "5. The man who knows what he is talking about can afford to use words everybody understands."

    1. NITS

      MIL-TFD-41

      one of our draftsmen put this note on a mechanical drawing. It stands for "Make it like the f*cking drawing for once". It got a chuckle, then the electric eraser treatment.

  34. Stevie Silver badge

    Bah!

    You can't type "Sex" in an El Reg article now?

    1. doublelayer Silver badge

      Re: Bah!

      I think the implication is that the asterisks were in the original message, possibly to evade something scanning the code for certain words. I'm not sure when the first such tool was created, but I've seen a bunch of those things with their own lists of words you're not supposed to put in comments or messages at various companies, sometimes with prohibitions that don't make sense and nobody can give an explanation for.

    2. Anonymous Coward
      Anonymous Coward

      Re: Bah!

      No Sex Please, We're British.

      1. Tim99 Silver badge

        Re: Bah!

        Thanks for making me feel my age - I saw it at the Strand Theatre when Linda Thorson was in it...

  35. Anonymous Coward
    Anonymous Coward

    Burroughs MCP Source Code

    This comment was (once) in the source code for the Burroughs MCP (Master Control Program). The MCP did multitasking before it was cool. Names are in UPPERCASE 'cause everything was in UPPERCASE back then.

    I met someone who claimed that when they started working at Burroughs, one of their jobs was to clean up the source code before it was released publicly.

    FATHERFORKER first checks to see if it is going to fork TERMINATE. If so,

    it checks to see if TERMINATE is trying to terminate itself in which case

    its stack is marked as not being used (it is a dedicated stack) and then

    FATHERFORKER exits. If the job was not TERMINATE, it is entered into the

    TERMINATEQ. If the Independentrunner is not one which "has only one

    index", that is that it is defined below STATUS, or that particular

    Independentrunner is not running, it is entered into the fork queue. The

    fork queue is not a "regular" queue but is merely a list of two-word

    entries whose head and tail are contained in the variable FORKQUEUE. If an

    entry was made into the fork queue (denoted by PLACE begin greater than

    zero), the event FORKEDUP is caused which wakes up MOTHERFORKER to start

    execution of the Independentrunner. Otherwise, the space that PLACE has

    been allocated is forgotten.

    1. Vincent Manis

      Re: Burroughs MCP Source Code

      I am compelled to put this here. https://www.youtube.com/watch?v=0CmaLgxLDE0

  36. Drishmung

    IBM Mainframes and character sets

    A friend of mine, in his misspent youth, worked for a multinational as a programmer. He wrote a report on (as I recall) lubricants. t was written in COBOL on an IBM mainframe, but for ease of formatting, he linked in some subroutines written in FORTRAN. COBOL and FORTRAN used different character set encodings! He hid an Easter egg in the code.

    IBM would do a core dump upon any error. A compilation error was an error and produced a core dump. No-one ever made a change without making at least one programming error.

    The lubricant report used imperial units. He knew that it was going to need to be updated to support metric.

    About a year later, he heard that they were trying to work out why the text "AND NOW, FOR SOMETHING COMPLETELY DIFFERENT" had appeared in a core dump (when they updated the code, and it had a compilation error), when said string did not appear anywhere in the COBOL or FORTAN source (it was in a FORMAT statement, but in characters that looked like nonsense, but would produce the desired string when printed using the COBOL character encoding).

  37. Strahd Ivarius Silver badge

    my favorite error message is still...

    "This label is the target of a goto from outside of the block containing this label AND this block has an automatic variable with an initializer AND your window wasn't wide enough to read the whole error message"

    (A compiler for Apple, before it went into rounded corners)

  38. LessWileyCoyote

    I recall some excitement at work when a government system emitted the response "Error 4036: Some day they're going to specify this message".

  39. Sequin

    Working on a system for a government department, me and my boss were gathering requirements and were told that certain functionality should be retricted to certain ,anagement users. "What should we do if somebody unauthorised tries to access those options?" "Tell them to bugger off!" was the response

    When we built the system my boss took them at their word, but took it a bit far. I had been on an 8086 assembler course a few months previously and the programming exercise was to write an executable that played Sousa's "Liberty Bell" (Monty Pythontheme) - he borrowed this and added to it - the screen (this was in DOS days) slowly disolved and a message in large ASCII art appeared - filling the screen it proudly exclaimed "BUGGER OFF!"

    They got a bit sniffy when he demonstrated the system and we had to change it to a beep and a small "You do not have permission to access this option" message

    1. Alan Brown Silver badge

      Call me cruel, but I'd have just changed the wording. Drawing local attention to the unauthorised usage is a good thing in most cases

  40. Anonymous Coward
    Anonymous Coward

    I installed some solar panels 10 or so years ago. I wanted to read out the data coming out of the converters and did not want to use the cloud interface for that but grab the numbers from the locally installed metering unit instead.

    Unfortunately the password of the metering unit was unknown. But luckily someone had figured this out and decompiled (?) the installer software to determine how the installer software would get the password of a random metering unit. In cleartext a hardcoded key was found in the software that read "911wasaninsidejob".

  41. wimton@yahoo.com

    A friend demonstrated a piece of software inadvertedly compiled with DEBUG defined.

    When showing a little used feature a message popped up: "Malloc first, you di*khead!"

    The customer (who had an IT background) took it with a laugh.

    1. werdsmith Silver badge

      A long time ago when a firmware upgrade was a service engineer in company car turning up at various client sites to open the machine and pull out the Eproms and replacement with ones containing the updated version. 27128s etc with a sticky label over the window. Occasionally these eproms would accidentally get blown with the debug build, which was never meant to escape. Full of expletives, even when there was no error there were markers in the code. I sometimes had to do the follow up trip to replace the eproms a second time. Was usually a good laugh.

  42. wimton@yahoo.com

    Linux suggested as part of an error message about a stuck MySQL server: ".... or kill children"

    1. werdsmith Silver badge

      That would be normal an understandable terminology, to do with child processes.

  43. MacGuffin

    Wannabe

    One of my early DB programs (1997) still running to this day displays the message "Do you really want, do you really, really want to delete this?"

    1. PB90210 Silver badge

      Re: Wannabe

      Someone at Cisco decided that the 'reload' command needed a bit more security against accidental use and added a 'buffer clear' between the 'confirm y/n' and 'do you really mean this?', meaning you could no longer type 'reload' then 'y', hammer the return key half a dozen time and wander off for a break when the box reloaded (/upgraded)

      The number of times I returned from a teabreak to to find the smirking cursor blinking away at 'are you sure you remembered to answer my question before disappearing?'

  44. Kurt 5

    Tok'n Ring

    Many years ago (let's not discuss how many) I wrote the IBM 4/16 Token Ring driver for UnixWare. I had a debug message for when I received the first token -- "We be Tok'n" or something like that. It managed to make stay enabled on a release. Fast forward months. Support comes to me saying a customer called in -- he'd been perusing his system log and found my message. He was offended. "Fixed in the next release."

  45. ComicalEngineer Silver badge

    Debugging someone else's code

    We used BBCs to write F77 mathematical routines. Mostly we used the Beebs to run parts of the code for debugging development versions of the software but on occasions we would run the full model which was fairly large (in BBC terms). One of my predecessors on the job had his contract terminated due to a number of complaints from project members regarding his unhelpful attitude towards several customers and misogynistic attitude towards female secretarial staff.

    Our development code was, of necessity, heavily commented but as BBC Basic was notoriously slow in handling heavily commented code, we had the comments code ("REM" IIRC) and the version with the REMs removed. After "H" departed I was told to crack on with the partly completed model code and was given a floppy with both versions of the code.

    On detailed examination I found a selection of REM statements that left me in no doubt as to what "H" thought of his supervisor (a certain Dr W), and lurking within the code a set of buried "PRINT" statements which would have resulted in an extremely offensive message being displayed on the screen had the code been run. The code for this had split up the letters of the message within various subroutines and would then have displayed the message on screen one letter at a time.

    Fortunately I ran the code in the privacy of my office before stripping out the offending messages.

    That said, Dr W was indeed a proper grumpy sod to work for.

  46. andrewmo

    I used to work for Psion Dacom the modem company (remember them). When we manufactured PCMCIA cards, the IBM Thinkpad would actively discriminate against the Psion Dacom Gold card and disable it. Eventually, our developers worked out what IBM was doing and it took the intervention of the CEO to get the Gold Card working on the IBM Thinkpad. It had nothing to do with the fact that IBM was pushing their own (inferior) PCMCIA card :-)

  47. OllieJones

    Front panel prohibits "P00f"

    Years ago I worked at a company making hardware. They had a primitive front panel display device that displayed the letter "P" followed by three hex digits.

    The VP of Engineering sent a memo to all the firmware hackers (of whom I was one) instructing us never to write any code, even in jest or for testing purposes, that displayed "00f" in those three digits.

    I believe we all complied. Sadly it didn't keep that company from going P00f and vanishing.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like