Heltalsgrænse truer Twitter-klienter med 'Twitpocalypse'

Programmører af klienter til Twitter, som har kørt på automatpilot, da de tildelte den heltalsvariable, som angiver det unikke nummer for en besked, kan få sig en overraskelse.

Bare rolig. Twitter overlever. Men det er ikke sikkert, at alle tredjepartsklienter klarer skærene lige godt. I løbet af weekenden ventes antallet af sendte beskeder på Twitter nemlig at passere den magiske grænse 2.147.483.647.

Eller den øvre positive værdi for en heltalsvariabel på 32 bit.

Hver besked på Twitter bliver tildelt et heltal som et unikt identifikationsnummer. Det tal vil blive modtaget af de klientprogrammer, som mange Twitter-brugere benytter.

Problemet kan imidlertid opstå, hvis klienten forventer at modtage en heltalsværdi, som kan tildeles til et 32 bit heltal. Fredag lød prognosen på webstedet twitpocalypse.com, at Twitter ville overskride 32 bit-grænsen lørdag omkring middag.

Selve Twitter er forberedt på problemet, men det er ikke sikkert, at alle tredjepartsklienter kan håndtere et beskednummer, som er større end 32 bit.

Konsekvenserne vil variere fra klient til klient, men der er næppe tale om hverken Twitters eller verdens undergang.

Derimod er det endnu en gang en påmindelse om, at man ikke skal slå automatpiloten til, når man programmerer, selvom oprettelsen af en 32 bit heltalsvariabel sidder på rygraden.

Twitter overvejede at fremskynde processen til fredag for at have folk til stede til at håndtere eventuelle problemer. Emnet 'Twitpocalypse' toppede da også som det mest diskuterede på Twitter fredag.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (7)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#4 Hans-Kristian Bjerregaard

Men det er jo ikke sikkert at klient udviklerene har tængt på unsignede værdier så problemet er jo stadigt reelt. Om ikke andet er det jo ret sjovt at tænke på at vi hele tiden ukritisk bruger plain integers som id-numre uden at overveje konsekvenserne (om de måske ikke er så reelle for os andre).

  • 0
  • 0
#6 Mathias Rangel Wulff

@STIG JOHANSEN

Nromalt bruger man den sidste (første?) bit til at angive om der er tale et negativt tal. I så fald bliver den størst mulige værdi lig med halvdelen af det teoretisk set mulige.

Teknisk set giver det at Signed heltal = -2.147.483.648 til +2.147.483.647

mens Unsigned heltal = 0 til +4.294.967.295

samme antal værdier mellem minimum og maksimum, men eftersom signed heltal er "normalt" at bruge giver det problemer når antallet overstiger de to milliarder et hundrede og syvogfyrre millioner fire hundrede treogfirs tusinde og sekshundrede og syvogfyrre

(et tal bliver først rigtig stort når man skriver ordlyden c",)

  • 0
  • 0
Log ind eller Opret konto for at kommentere