The Daily WTF: Curious Perversions in Information Technology
Welcome to TDWTF Forums Sign in | Join | Help
in Search

It's the 29th February. Time for a poll: Whose software just broke?

Last post 03-13-2008 4:08 PM by Carnildo. 44 replies.
Page 1 of 1 (45 items)
Sort Posts: Previous Next
  • 02-29-2008 4:46 AM

    • Squiggle
    • Not Ranked
    • Joined on 07-20-2006
    • Leeds, UK
    • Posts 28

    It's the 29th February. Time for a poll: Whose software just broke?

    Ours did.

    Bad date processing fails badly.

    Any sufficiently gross incompetence is nearly indistinguishable from malice.
  • 02-29-2008 5:08 AM In reply to

    • Daid
    • Top 100 Contributor
    • Joined on 01-30-2007
    • Posts 282

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    And that's why you do not store time in the way you intent to display it to the end user. Timestamps for storage all the way.
  • 02-29-2008 5:20 AM In reply to

    • Squiggle
    • Not Ranked
    • Joined on 07-20-2006
    • Leeds, UK
    • Posts 28

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Truth. Our problem stems from a calculation which tries to get the date a year from now. The developer thought it would be safe to just get the current day, month and year add construct a new date after adding 1 to the year.

    Fail :(

    Any sufficiently gross incompetence is nearly indistinguishable from malice.
  • 02-29-2008 5:23 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Our phone system is completely dead- internal and external. Not ideal. We didn't even write that! 

  • 02-29-2008 5:56 AM In reply to

    • Squiggle
    • Not Ranked
    • Joined on 07-20-2006
    • Leeds, UK
    • Posts 28

    Re: It's the 29th February. Time for a poll: Whose software just broke?

     On a similar note...

    Epoch Fail

    Any sufficiently gross incompetence is nearly indistinguishable from malice.
    Filed under:
  • 02-29-2008 6:10 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Feb 29 broke our software early; in the first week of January. It's supposed to do some calculations with the longest running contracts for a customer. This particular customer had a couple of short contracts and two full year contracts; 2007 and 2008. Yet our software only picked 2008 and seemed to ignore the 2007 contract. It turned out, of course, that the length of the contract was calculated in days, which made the 2008 contract slightly longer that the 2007 one.

  • 02-29-2008 6:20 AM In reply to

    • ammoQ
    • Top 10 Contributor
    • Joined on 04-13-2005
    • Vienna.Austria.Europe.Earth
    • Posts 3,332

    Re: It's the 29th February. Time for a poll: Whose software just broke?

     Minor problem with one test system here. A table is supposed to contain one entry per day, but on the test system, my coworker just copied last year's data. Of course today's entry is missing. Of course exactly today we had a meeting with a customer and showed him the application.

    beanbag girl 4ever
  • 02-29-2008 7:04 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    I'm running PointUI (www.pointui.com) on an iPaq. Today, it decided that it was 12:00AM 1/1/1601 until I quit the app, then it completely refused to run until I set the date back to yesterday.

  • 02-29-2008 7:44 AM In reply to

    • Cian
    • Not Ranked
    • Joined on 02-29-2008
    • Posts 4

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Ours is fine here, but a few of my colleagues had problems with their contactless payment cards for the trams on the way to work - they let you 'tag on' but gave an invalid date error on tagging off. Meaning you got charged as if you went from one terminus of the line to another.

     

    www.luas.ie being the offenders ehre. 

  • 02-29-2008 8:34 AM In reply to

    • BPFH
    • Not Ranked
    • Joined on 11-27-2005
    • Posts 6

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Ah, leap day... when CmpDates() returns 0 for CmpDates(2292008, 3012008).

    Well, actually, CmpDates() would return 0 in that case anyway...

    (And yes, CmpDates() and our date representation are WTFs.)

  • 02-29-2008 8:57 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    MetalPig:

    Feb 29 broke our software early; in the first week of January.

    Same here. A routine for calculating the first (part-month) payment on a new mortgage was failing for January - but not February - of a leap year. The method involves subtracting months and then subtracting days, (including an extra day to ignore Feb 29). Trouble is, Feb 29 might already have been skipped by the subtract-months part, making the result one day short of what it should be.

    The code's been like that for well over 4 years. Seems no-one spotted the problem in January 2004.

    The real WTF is the number of different calculation options for this routine - or maybe it's when one of our users queries the calculation because they've been given some simple documentation from 9 years ago that no longer matches the way it works.

     

    "Who is General Failure and why is he reading my disk?"
  • 02-29-2008 8:57 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

     Ours did, although I have a feeling it was human error last night rather than computer error this morning. ("28th Feb? Oooh monthend! Best run all those processes!") 

  • 02-29-2008 9:11 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Not a tech WTF but here goes.

    I signed the lease for my apartment February 1, 2007.  It was a 13 month lease, ending on Feb 28, 2008.

    I signed a new lease in January.  It'a 13 month lease going from March 1, 2008 to March 31, 2009.  

    Today, they have no contractual obligation to let me stay there.  I also have no contractual obligation to pay to live there today. 

    Since they're not kicking me out, I get a day for free*! 

    free = not free 

    I guess I'm back.

    Please continue to spam the addresses below.

    PLEASE SPAM:
    jtobin@ohioinstituteofhealthcareers.edu
    jtobin@ohiobusinesscollege.edu
  • 02-29-2008 9:29 AM In reply to

    • Squiggle
    • Not Ranked
    • Joined on 07-20-2006
    • Leeds, UK
    • Posts 28

    Re: It's the 29th February. Time for a poll: Whose software just broke?

     Is that all?

     Keep 'em coming!

    Any sufficiently gross incompetence is nearly indistinguishable from malice.
  • 02-29-2008 9:46 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

     I don't have anything.

    Everything works. 

    — Flurp.
  • 02-29-2008 10:13 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Mine didn't break, but somebody else in the company did.  They were using a SimpleDateFormatter to parse a date in "MM/DD" format without considering the year.....

    The email bounced around through several layers of management before wwasting an hour of my time checking our code.  I did, however find a similar bug in the CSWDateTime class which....basically does the same stuff java.util.Date does, only in a halfassed way....

     


        public static long calcWaitMillis(String endDateTime) {
            Date endDate = getDate(endDateTime);
            return endDate.getTime() - new Date().getTime();
        }

        public static Date getDate(String dateTime) {
            SimpleDateFormat dateFormatter = null;
            if (dateTime.length() > 8) {
                    // assume a date-time has been passed in
                dateFormatter = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
            }
            else {
                // just a time has been passed in
                dateFormatter = new SimpleDateFormat("HH:mm:ss");
            }

            ParsePosition pp = new ParsePosition(0);
            Date date = dateFormatter.parse(dateTime, pp);
                // date should correspond to 1st Jan 1970 hh:mm:ss
            if (date == null) {
                date = new Date(0); // 1st Jan 1970 00:00:00
                Trace.log(1, "Invalid date <" + dateTime + ">, setting to " +
                          date.getTime());
            }
            return date;
        }



    so getWaitMillis can be called with either "yyyyMMdd HH:mm:ss" or "HH:mm:ss".  So in the latter case it will always tell us the amount of milliseconds between now and HH:mm:ss on January 1st 1970!

     Good thing nobody actually uses it....

  • 02-29-2008 10:24 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

     *ding*

     As an added bonus, since it's a Friday, and we don't normally run production operations on a Friday unless we're behind schedule, nobody would have noticed for another four years.

    "The world of technical support is like a reflecting pool. To those who exist outside, it appears to be a deep, mystical place; bottomless, terrifying, foreign. The truth, however, is that the pool is only about three feet deep, and the bottom is grainy silt over sharp, hurty rocks."
    Filed under:
  • 02-29-2008 10:30 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    belgariontheking:

    I signed the lease for my apartment February 1, 2007.  It was a 13 month lease, ending on Feb 28, 2008.

    I signed a new lease in January.  It'a 13 month lease going from March 1, 2008 to March 31, 2009.

    My lease on my old apartment started December 15th, 2006, and ended on December 15th 2005.  I saw the error but signed it anyhow, just incase.  As luck would have it, I had to move out of town mid-2006.  Good thing I wasn't contractually obligated to keep paying rent or pay the "early termination" fee.

  • 02-29-2008 10:51 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    belgariontheking:

    Not a tech WTF but here goes.

    I signed the lease for my apartment February 1, 2007.  It was a 13 month lease, ending on Feb 28, 2008.

    I signed a new lease in January.  It'a 13 month lease going from March 1, 2008 to March 31, 2009.  

    Today, they have no contractual obligation to let me stay there.  I also have no contractual obligation to pay to live there today. 

    Since they're not kicking me out, I get a day for free*! 

    free = not free 

     

     

    Kinda ironic how the guy who keeps saying I'm 12 years old still rents while I have a mortgage. *snicker* 

    http://www.thebestpageintheuniverse.com
  • 02-29-2008 10:53 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Maybe that's just the apartment he uses to keep his wife from finding out about his mistress.

    P.S. If you have an adjustable rate mortgage, you're really not making a good case for yourself.

  • 02-29-2008 11:30 AM In reply to

    • KenW
    • Top 50 Contributor
    • Joined on 07-19-2005
    • Posts 422

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Lysis:
    Kinda ironic how the guy who keeps saying I'm 12 years old still rents while I have a mortgage. *snicker* 
     

    Yeah, but his rent is on an actual apartment, while your "mortgage" is what you pay the other bums under the bridge to stay away from your box.

    Back to /., script kiddie, and let the grownups talk. 

  • 02-29-2008 11:31 AM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    vt_mruhlin:

    Maybe that's just the apartment he uses to keep his wife from finding out about his mistress.

    P.S. If you have an adjustable rate mortgage, you're really not making a good case for yourself.

     

     

    Uhhh no. Just no. 

    http://www.thebestpageintheuniverse.com
  • 02-29-2008 12:04 PM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Squiggle:

    Ours did.

    Bad date processing fails badly.

     

    You knew about the three year life cycle in 2004 when you guys wrote it. You need to work on your AutoObsolete functionality. 

    There are three kinds of people: those who make things happen, those who watch things happen and those who wonder what happened.
  • 02-29-2008 12:12 PM In reply to

    • Squiggle
    • Not Ranked
    • Joined on 07-20-2006
    • Leeds, UK
    • Posts 28

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    medialint:

    Squiggle:

    Ours did.

    Bad date processing fails badly.

     

    You knew about the three year life cycle in 2004 when you guys wrote it. You need to work on your AutoObsolete functionality. 

     

    We were since bought out by a company that expected our product to actually work.

    On a similar note, today has been SO MUCH FAIL:

    • The live software broke due to a leap year bug.
    • The coffee machine broke
    • The Internet was down for half the day (a city-wide outage for one of the main ISPs)
    • I got rained on at lunchtime and now I have a very soggy left foot
    • The project we've been working on for the past 9 months just got cancelled (technically "put on hold", but we all know how that pans out...).

    Wonderful.

    I need a beer.

    Any sufficiently gross incompetence is nearly indistinguishable from malice.
  • 02-29-2008 12:18 PM In reply to

    Re: It's the 29th February. Time for a poll: Whose software just broke?

    Squiggle:
    The Internet was down for half the day
     

    Oh crap! When was someone going to tell me the tubez were broken???

    Wait... What?

    Filed under:
  • 02-29-2008 12:32 PM In reply to