Don't try at home: Änderung des Datums in den iOS-Einstellungen soll iPhone "bricken"

raven

Golden Noble
Registriert
12.05.12
Beiträge
19.199
Im Jahr 2038 wird das kaum mehr mein Problem sein. Eher nicht. ;)
 
  • Like
Reaktionen: Ralf_aus_W

Fresh_Prince

Kantil Sinap
Registriert
22.10.14
Beiträge
7.296
Der 01.01.1970 ist unter Unix 0, damit kommt der 64Bit Prozessor nicht klar, weil er einen Wert erwartet. Nach rund 5 Stunden sind aber soviel Millisekunden vergangen, das alles wieder geht.
Im Übrigen können Unix-Systeme deswegen nicht mit Datumseinstellungen nach 2038 umgehen, weil dann soviel Millisekunden vergangen sind, dass diese mit 32Bit nicht mehr darstellbar sind.


Danke dir und ottomane für die Aufklärung. Kann Apple dagegen etwas unternehmen bzw. es unterbinden das solche Dinge passieren? Außer zu unterbinden das man dieses Datum überhaupt einstellen kann?
Gut man muss recht viel lange Weile haben um das Datum soweit zurückzustellen, aber man sieht ja das es Leute gibt die dies aus was für einem Grund auch immer tun.

Aber ich dachte erst daran, dass dieses Datum ja vor der Gründung von Apple liegt. Und mit der Gründung von Apple fing die Zeit ja erst an. Punkt 0. Lag ich ja nicht ganz falsch. :D



PS:

Und der 01.01.1970 ist ja nicht einmal das letzt älteste Datum was man auswählen kann. Also muss es ja direkt ausprobiert worden sein im Zusammenhang mit der Zeit 0. Oder glaubt hier jemand das jemand dieses Datum aus reinem Zufall gewählt hat? Am Ende müsste man ja unter jedem Unix System dieses Datum entfernen.
 
Zuletzt bearbeitet:

KALLT

deaktivierter Benutzer
Registriert
12.11.08
Beiträge
1.523
Der 01.01.1970 ist unter Unix 0, damit kommt der 64Bit Prozessor nicht klar, weil er einen Wert erwartet. Nach rund 5 Stunden sind aber soviel Millisekunden vergangen, das alles wieder geht.
Im Übrigen können Unix-Systeme deswegen nicht mit Datumseinstellungen nach 2038 umgehen, weil dann soviel Millisekunden vergangen sind, dass diese mit 32Bit nicht mehr darstellbar sind.

Aber womit hat denn konkret der 64-Bit-Prozessor Probleme? Warum sollte ein Wert von 0 statt 1, 500 oder 18.000 ausgerechnet das Problem verursachen?

Kann man auf iOS denn die Unixzeit manuell bestimmen? Ich hatte immer angenommen, dass die Uhrzeit die dem Benutzer angezeigt wird immer von der Unixzeit abgeleitet ist. Die Unixzeit selbst wird aber vom System ermittelt und ggf. mit dem Internet synchronisiert. Wäre eine manuelle Umstellung so möglich, würde das doch nur Chaos verursachen (e.g. Zertifikate).

Ich würde jetzt eher darauf tippen, dass die Unixzeit selbst stimmt, die Zeitangabe aber vielleicht nicht mehr möglich ist wenn der Benutzer einen Wert wählt der über bzw. unter die Unixzeit hinaus geht. Zum Beispiel wenn der Benutzer als Datum 01-01-1970 00:00:00 angibt, während er/sie die Zeitzone -06:00 hat. Möglicherweise wird dann ein falscher Wert berechnet. Allerdings erklärt das trotzdem nicht wieso der Fehler auftritt, zumal ein “unsigned integer” nie einen Wert unter 0 haben kann.
 

FlyingDucman

Reinette de Champagne
Registriert
17.10.13
Beiträge
417
Angeblich soll ein Bug in der Beta dafür gesorgt haben, dass die Uhrzeit nicht richtig angezeigt wird. Dann wurde geraten die Zeit und das Datum umzustellen, so wahrscheinlich der Hergang. (Quelle: reddit)

Naja, ist ja nichts, was sich nicht beheben lässt.

Ärgerlich, vielleicht auch dilettantisch, aber nichts weltbewegendes.

Der große Ärger entsteht doch durch diese click-bait getriebene Sensationsgeilheit.

Wenn man den Trick nicht ausprobiert, dann hat man auch keinen Schaden.
 
  • Like
Reaktionen: Fresh_Prince

Onemorething

deaktivierter Benutzer
Registriert
15.10.11
Beiträge
1.543
Könnte es sich um eine neue Art der Guerilla Werbung handeln ?! Man hat zwar nix neues zu bieten, aber gelabert wird trotzdem über das Telefon ?!
 

MarcNRW

deaktivierter Benutzer
Registriert
17.09.14
Beiträge
4.000
Hab noch nie kapiert, warum man das Datum überhaupt so weit zurückstellen kann...

Naja, dummer Fehler. Also dumm das Datum überhaupt auf 1970 einzustellen und dumm, das man dann 5 Stunden warten muss. Aber vielleicht auch ne kleine Strafe für die Blödheit ;)
 

rootie

Filippas Apfel
Registriert
30.06.11
Beiträge
8.831
Solange es nach 5 Stunden wieder geht ist es ja ok. Aber wenn das Gerät wirklich dauerhaft gebrickt wäre, wäre das schon krass. Wobei ich mir das technisch nicht erklären kann, wieso ein DFU-Modus hier nicht hilft.

Aber da kann man sich sicher sein, dass das allerspätestens mit 9.3 erledigt ist, wenn nicht schon früher.
 

Michael Reimann

Geschäftsführung
AT Administration
Registriert
18.03.09
Beiträge
8.719
Aber wie kommt man auf sowas? Der Typ musste mehrfach aus dem Menü raus und wieder rein gehen um weiter scrollen zu können...
Mal sehen wie lange es dauert bis der erste schreit "wie kann das sein, so was muss Apple doch testen, Skandal..."

Forscherdrang?! Was passiert mit dem Unix basierten System, wenn ich das Datum auf das absolute Minimum stelle. :D

Solange es nach 5 Stunden wieder geht ist es ja ok. Aber wenn das Gerät wirklich dauerhaft gebrickt wäre, wäre das schon krass. Wobei ich mir das technisch nicht erklären kann, wieso ein DFU-Modus hier nicht hilft.

Aber da kann man sich sicher sein, dass das allerspätestens mit 9.3 erledigt ist, wenn nicht schon früher.

Haste es schon ausprobiert? :D
 
Zuletzt bearbeitet von einem Moderator:

rootie

Filippas Apfel
Registriert
30.06.11
Beiträge
8.831
Bin ich wahnsinnig? Aber diverse Stimmen im Internet sagen, dass man es einfach nur ein paar Stunden liegen lassen muss, dann geht es wieder.

Mich würde der technische Hintergrund interessieren, wie das genau passiert und warum halt ein DFU-Modus hier nix hilft.
 
  • Like
Reaktionen: Michael Reimann

Michael Reimann

Geschäftsführung
AT Administration
Registriert
18.03.09
Beiträge
8.719
Dann ist das so eine Art Urknall.:rolleyes:
Kwin Wunder, wenn sich das iPhone zum Ursprung des digitalen Universums zurückbeamt, dann bleibt die Zeit stehen und alles friert ein. Die Leute schauen zu wenig SciFi.

Ein simpler Division by Zero Error! :D
 

ottomane

Golden Noble
Registriert
24.08.12
Beiträge
16.375
Kann Apple dagegen etwas unternehmen bzw. es unterbinden das solche Dinge passieren?

Ja. Meiner Einschätzung nach handelt es sich nicht um ein systemisches Problem:
  • Eine "0" ist auch für ein 64-Bit-System ein valider Integer-Wert. Ich kann nur vermuten, dass die Umrechnungsfunktion in ein menschenlesbares Datum einen Bug hat. EDIT: Der Sekundenzähler steht ja auch nicht auf "0", wenn man nur das Datum auf 1.1.1970 stellt -- dazu müsste man auch die Zeit auf 0:00:00 stellen.
  • Wenn es ein prinzipelles Problem wäre, hätten sehr viele andere Betriebssysteme seit Jahrzehnten diesen Fehler. Das ist nicht der Fall. Apple hat hier Mist gebaut. Aber hey, Software enthält immer Fehler, sogar bei Apple.
Allerdings erklärt das trotzdem nicht wieso der Fehler auftritt, zumal ein “unsigned integer” nie einen Wert unter 0 haben kann.

Es ist üblicherweise ein Signed Integer.
 

Michael Reimann

Geschäftsführung
AT Administration
Registriert
18.03.09
Beiträge
8.719
Bin ich wahnsinnig? Aber diverse Stimmen im Internet sagen, dass man es einfach nur ein paar Stunden liegen lassen muss, dann geht es wieder.

Mich würde der technische Hintergrund interessieren, wie das genau passiert und warum halt ein DFU-Modus hier nix hilft.

Also Unix-Timstamp am 1.1.1970 = 0.

Da könnte es einen sehr frühm im Betriebssystemstart verborgenen "Division by Zero" Error geben, der eben nicht abgefangen wird. Schwubbs startet das iPhone nicht mehr richtig. Das erklärt allerdings nicht, warum es bei manchen Geräten nach einiger Zeit wieder geht. Vielleicht läuft die Uhr doch weiter und nach einiger Zeit gibt's ein Timeout und der Systemstart geht erneut los.

Der große Ärger entsteht doch durch diese click-bait getriebene Sensationsgeilheit.

Wenn man den Trick nicht ausprobiert, dann hat man auch keinen Schaden.

Click-Bait wohl kaum. Eher als Service, genau dieses nicht zu tun. Aber man kann es halt nicht allen recht machen.
 
Zuletzt bearbeitet von einem Moderator:

rootie

Filippas Apfel
Registriert
30.06.11
Beiträge
8.831
Also Unix-Timstamp am 1.1.1970 = 0.

Da könnte es einen sehr frühm im Betriebssystemstart verborgenen "Division by Zero" Error geben, der eben nicht abgefangen wird. Schwubbs startet das iPhone nicht mehr richtig. Das erklärt allerdings nicht, warum es bei manchen Geräten nach einiger Zeit wieder geht. Vielleicht läuft die Uhr doch weiter und nach einiger Zeit gibt's ein Timeout und der Systemstart geht erneut los.

Mir ist das mit der Unix-Zeit alles klar, ich komme aus der Unix-Welt und habe schon als Admin diverse Sun Solaris-Kisten gewartet

Die Frage ist nur: Wie kann die Einstellung des Datums auf 01.01.1970 den DFU überleben? Dafür müsste dieses Datum ja irgendwo gespeichert werden, was der DFU nicht entfernt. Und das ist eigentlich das komische an der ganzen Sache...
 

Michael Reimann

Geschäftsführung
AT Administration
Registriert
18.03.09
Beiträge
8.719
Genau das wird das Problem sein. Das Datum wird gespeichert, der Bug ist sowohl im DFU-Modus also auch im normalen Boot enthalten.

Ich vermute der DFU ist nix anderes als ein minimales Unix. Aber Zeitfunktionen braucht es halt (vermutlich) auch. :)
 

ken-wut

Echter Boikenapfel
Registriert
30.09.09
Beiträge
2.364
Aha. Wenn ich das nächste mal meine ex sehe und sie fragt, ob ich ihr beim iPhone helfen kann, stell ich einfach das Datum auf 1970, danach muss ich ihr bestimmt nie wieder helfen :)
 

smoe

Roter Winterkalvill
Registriert
13.04.09
Beiträge
11.575
Die Frage ist nur: Wie kann die Einstellung des Datums auf 01.01.1970 den DFU überleben? Dafür müsste dieses Datum ja irgendwo gespeichert werden, was der DFU nicht entfernt. Und das ist eigentlich das komische an der ganzen Sache...
Die Uhrzeit im iPhone läuft ja weiter auch wenn das Gerät ausgeschaltet ist. Sonst könnte iOS ja nicht direkt nach dem Start ohne Netz bereits die korrekte Zeit anzeigen. Und das ist dann wohl eine Hardwarekomponente auf dem Board die nicht beim DFU-Modus zurückgesetzt wird. Ist auch nichts ungewöhnliches, so ziemlich jeder Computer und computerähnliches Gerät hat irgendwo einen Zeitgeber der unabhängig vom Betriebssystem weiter läuft.
 

Patrick Rollbis

Moderator
AT Moderation
Registriert
22.10.06
Beiträge
6.189
Der Fehler lässt sich auch beheben, indem Apple für etwa 10 Minuten den Akku trennt.
Das iPhone wird wohl, ebenso wie jeder PC, im EFI (oder was auch immer das oberste OS im iPhone ist) die Zeit speichern und von dort aus abfragen. Somit kann auch ein DFU Reset nicht helfen.
Bei einem PC kann man ja die Hilfsbatterie fürs BIOS entfernen, um soetwas zu lösen.