Slashdot Mirror


Bethesda Investigates Shivering Isles Bug

Gamespot reports on a glitch in the recently-released Shivering Isles expansion to Elder Scrolls IV: Oblivion. It's unclear at this time if the Xbox 360 version of the title also has it, but on the PC side of things a game-breaking snafu can arise after 50-120 hours of gameplay post-Isles installation. "The bug apparently starts affecting the game as soon as the expansion pack is installed for the PC version of Shivering Isles. The problem arises because the game generates a huge number of identification numbers internally for objects, and once the allotted space for those numbers becomes exhausted, newly created objects will disappear from the gameworld and the game could simply crash ... It appears that the more frames per second the game runs at, the faster that space of identification numbers fills up."

11 of 54 comments (clear)

  1. News from the future... today! by Clever7Devil · · Score: 4, Funny

    This happens in World of Warcraft: The Burning Crusade as well. It occurs when a character casts too many beneficial spells in a short period of time. Blizzard is reporting that it is a Buffer overload.

    --
    "By the time they had diminished from 50 to 8, the other dwarves began to suspect 'Hungry.'" -Gary Larson
  2. Deja vu by hansamurai · · Score: 4, Funny

    Hey, this kinda reminds me of the time Slashdot hit the comment limit in its database.

  3. Seen it Myself by DG · · Score: 5, Informative

    I'm armpit-deep in Oblivion these days, and Niner bought me the SI expansion for my birthday.

    When I saw the announcement about the bug, I tested it for myself, and it is very real. Happily, there is a community-produced script patch that disables the problem.

    Interestingly, the root cause of the problem isn't so much the broken scripts that consume ObjectIDs, but rather that some intelligence was baked into the ID instead of it being just a raw counter.

    The ObjectID is prefixed with "FF" and the remaining bytes are the counter values. When the counter hits FFFFFFFF it rolls over, and the "FF" prefix no longer applies. *That* is the problem - the game code no longer recognizes the ObjectID as valid without the FF prefix.

    It seems that the code that generates the next ObjectID is smart enough to skip IDs that have been assigned; hacks that reset the ObjectID counter back to FF000000 appear to do the right thing. If the counter had no prefix, the bug wouldn't affect the game - the counter would roll over, but any objects that had been around since the start of the game (with low ObjectIDs) would be properly skipped and all would be well. Unless you managed to have FFFFFFFF objects extant in the game world, there'd never be a way to run out.

    Happily, my counter was at FF4xxxxx so my game save is OK. I feel for the guys who discovered they were at FFFxxxxx.

    DG

    --
    Want to learn about race cars? Read my Book
    1. Re:Seen it Myself by SatanicPuppy · · Score: 3, Insightful

      Wow, that's incredibly short sighted of them...I've seen crap like that before, working on databases built by amateurs. Like a lookup table that doesn't have a "flag" to tell the query which dataset the entries belong to, but instead a situation where the original designer just incremented the key by an arbitrary amount, e.g Rate codes are 1-999, product_codes are 1000-1999, etc, so when the 1000th rate code is added, it writes over the first product code, and chaos ensues.

      You should never make the "size" of a variable part of it's identifying factor.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
  4. Official patch (beta though) is available already by DogFacedJo · · Score: 3, Insightful

    A tested patch is clearly only a short way away.
        This story broke about 4 or 5 days ago... and the longer you put off patching the more likely the problem is to hit.

    http://www.elderscrolls.com/downloads/updates_patc hnotes12.htm

  5. Re:Ha! by SatanicPuppy · · Score: 2, Insightful

    But this isn't graphics code...This is unique object identifiers. With graphics you know how big all the numbers are going to be! You set hard limits on all your rendering, and you're done. If your code isn't set to render past a certain point, it just won't...If you're set up to only process X vectors, it doesn't matter if the system is capable of more...And moreover, nothing grows in graphics processing. You process the same level all the way through...If the system has to do more work with a series of frames, dealing with shadows, and objects and funky light effects, stuff slows down, but that frame is the exact same "size" in terms of bits as all the previous frames.

    In this situation, they're just storing object information. Not visual, just existence. And their number is too small...Hell, the patch that was released just adds some zeros on the end.

    This is exactly what I'm talking about...People being stingy with the numbers because they think, in their minds, that all big numbers slow things down. Sometimes, big numbers are your friends.

    --
    ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
  6. Re:Broken script by DogFacedJo · · Score: 4, Informative


        It is caused by the exaustion of IDs in the low 24 bits of the ID. The field was intended to roll over back to 0 since the majority of the IDs are only needed temporarily. Unfortunatly they bugged the implementation, failing to preserve the 8 high bits (normally FF) in all rollover cases thus generating much internal confusion.
        The problem was exascerbated by the new guard scripts which really burned through the IDs fast.

  7. Re:fills up faster? by darkrowan · · Score: 2, Informative

    300 hours, roughly I guess. Here's better data on how much time you have left vs both current reference ID and framerate
    http://www.uesp.net/wiki/Shivering:Reference_Bug#R emaining_Playtime

    --
    AccountKiller
  8. Oblivion = too many bugs... by necro2607 · · Score: 3, Insightful

    Ouch, Bethesda seems to be making a bad name for themselves with Oblivion, in terms of software bugs. I don't mean to "troll" but my girlfriend's game has been screwed up multiple times, including the health bar no longer increasing, or the game bugging in such a manner that a quest could never be completed. We searched forums and contacted support about these issues (among others), with no solution ever found. Luckily I haven't encountered such extreme problems myself, but I have noticed small bugs from time to time. Regardless, such showstoppers as mentioned above are pretty unbelievable for a $70+ game of such supposedly high stature.

    1. Re:Oblivion = too many bugs... by sholden · · Score: 3, Funny

      it's a daggerfall sequel. They're still striving to meet that bug count standard.

  9. Re:fills up faster? by Loligo · · Score: 2, Funny

    >Hah, I used to collect arrows by dodging them.

    Guess that beats collecting arrows by NOT dodging them...

      -l