Slashdot Mirror


Swedish Stock Exchange Hit By Programming Snafu

New submitter whizzter writes "I was reading the Swedish national news today and an image in a stock exchange related article struck my eye. An order had been placed for 4 294 967 290 futures (0xfffffffa or -6 if treated as a 32-bit signed integer), each valued at approximately 16,000 USD, giving a neat total of almost 69 trillion USD. The order apparently started to affect valuations and was later annulled, however it is said to have caused residual effects in the system and trading was halted for several hours."

3 of 136 comments (clear)

  1. SNAFU..... by m.shenhav · · Score: 4, Insightful

    ..... the word is being abused here.

  2. Stop annulling these trades. by Anonymous Coward · · Score: 5, Insightful

    The way to prevent this kind of mistaken (or even malicious) trade is to stop protecting the trader by canceling the trade as soon as the mistake is realized. If you issue a trade order, you should be liable for paying for it. If you can't, normal bankruptcy laws should apply.

  3. Re:Good Point Here by gstoddart · · Score: 4, Insightful

    This is why you always use dynamic storage like a link list when you potentially have to deal with numbers bigger then the address bus width.

    A linked list of digits? Seems a little much given that there's data types meant to handle really big numbers.

    At a minimum someone should be bounds/sanity checking their inputs before it goes anywhere past the user interface -- you have to assume your users will type all sorts of random stuff into your fields.

    Then again, I am often surprised when testing new software that when I do something completely random I often see issues.

    I remember a developer saying to me once "but nobody is ever going to do that" -- the reality is, unless you actively prevent it, sooner or later they will; and in the case of many users, it's more like within the first 5 minutes. They don't know or care what you think is 'normal' inputs -- they're going to do what they do no matter what.

    --
    Lost at C:>. Found at C.