Abo
  • Services:
Anzeige
Entwickler bei Stack Overflow entdeckten einen Fehler in .Nets RyuJIT-Compiler, nachdem dort das Caching nicht mehr korrekt funktionierte.
Entwickler bei Stack Overflow entdeckten einen Fehler in .Nets RyuJIT-Compiler, nachdem dort das Caching nicht mehr korrekt funktionierte. (Bild: Stack Overflow/Screenshot: Golem.de)

Kritischer Softwarefehler: RyuJIT verändert willkürlich Parameter

Entwickler bei Stack Overflow entdeckten einen Fehler in .Nets RyuJIT-Compiler, nachdem dort das Caching nicht mehr korrekt funktionierte.
Entwickler bei Stack Overflow entdeckten einen Fehler in .Nets RyuJIT-Compiler, nachdem dort das Caching nicht mehr korrekt funktionierte. (Bild: Stack Overflow/Screenshot: Golem.de)

In Microsofts aktuelles .Net 4.6 hat sich ein gravierender Fehler eingeschlichen. Dessen Just-in-Time-Compiler RyuJIT verarbeitet Eingaben nicht korrekt. Microsoft arbeitet bereits an einem Patch. So lange sollten Entwickler auf ein Upgrade auf .Net 4.6 verzichten.

Anzeige

Der Fehler ist nur schwer aufzuspüren und kann gravierende Auswirkungen beim Verarbeiten von Code haben. In der aktuellen Version 4.6 von Microsofts Entwicklungsumgebung .Net hat sich ein Bug in den Just-in-Time-Compiler (JIT) RyuJIT in der 64-Bit-Version eingeschlichen. Er verarbeitet ihm übergebene Parameter nicht korrekt. Entdeckt wurde der Fehler von den Systemadministratoren und Entwicklern Nick Craver und Marc Gravell bei Stack Overflow. Microsoft arbeitet nach eigenen Angaben an einem Patch, der demnächst veröffentlicht werden soll.

  • Mit diesem Code spürten Entwickler bei Stack Overflow einen Fehler in RyuJIT auf. (Bild: Stack Overflow)
  • Während der Verarbeitung wurden Parameter willkürlich verändert. (Bild: Stack Overflow)
Mit diesem Code spürten Entwickler bei Stack Overflow einen Fehler in RyuJIT auf. (Bild: Stack Overflow)

Der Bug tritt dann auf, wenn die Optimierungen aktiviert sind. Bei der Optimierung des Endaufrufs (Tail Call Optimization) werden eingangs übergebene Parameter von RyuJIT willkürlich verändert. Craver und Gravell gaben dem Fehler daher den Namen Tail Call Bug. Bei Stack Overflow führte er dazu, dass das HTTP-Caching nicht korrekt funktionierte und so zu einer Überlastung der Server führte.

Nur schwer aufzuspüren

Bei der Entwicklung und Testphase in der Entwicklungsumgebung Visual Studio 2015 tritt der Fehler nicht auf. Wird ein Debugger eingesetzt, verschwindet der Fehler ebenfalls. Erst beim produktiven Einsatz macht er sich bemerkbar.

Besonders gravierend seien die Auswirkungen des Fehlers dann, wenn .Net etwa im medizinischen Bereich verwendet wird, schreiben die Entwickler bei Stack Overflow in einem Blog. Ihr Rat: Über einen Registry-Eintrag lässt sich RyuJIT vorübergehend deaktivieren. Wer .Net noch nicht auf Version 4.6 aktualisiert hat, sollte damit noch warten.

Deaktivieren und abwarten

Ähnliches rät auch Microsoft in einem Advisory und weist darauf hin, dass RyuJITs Vorgänger JIT64 immer noch Teil des .Net-Frameworks ist und verwendet werden kann. Wer in F# programmiert, sollte mit einem Update auf .Net 4.6 warten, denn allem Anschein nach sind Anwendungen, die in der Programmiersprache entwickelt wurden, besonders betroffen. Selbst Anwendungen, die noch für .Net 4.0 entwickelt wurden, könnten aber von dem Fehler betroffen sein. Microsoft will einen Patch schnellstmöglich zur Verfügung stellen.


eye home zur Startseite
Quantium40 30. Jul 2015

Macht Microsoft doch. Erst basteln die was und dann muss jeder Kunde testen - ob er...



Anzeige

Stellenmarkt
  1. VITRONIC Dr.-Ing. Stein Bildverarbeitungssysteme GmbH, Wiesbaden
  2. SARSTEDT AG & Co., Nümbrecht-Rommelsdorf
  3. Robert Bosch GmbH, Leonberg
  4. FILIADATA GmbH, Karlsruhe


Anzeige
Blu-ray-Angebote
  1. (u. a. The Revenant, Batman v Superman, James Bond Spectre, Legend of Tarzan)
  2. (u. a. Warcraft Blu-ray 9,29€, Jack Reacher Blu-ray 6,29€, Forrest Gump 6,29€, Der Soldat...
  3. 24,99€ (Vorbesteller-Preisgarantie)

Folgen Sie uns
       


  1. Service

    Telekom verspricht kürzeres Warten auf Techniker

  2. BVG

    Fast alle U-Bahnhöfe mit offenem WLAN

  3. Android-Apps

    Rechtemissbrauch erlaubt unsichtbare Tastaturmitschnitte

  4. Electro Fluidic Technology

    Schnelles E-Paper-Display für Video-Anwendungen

  5. Heiko Maas

    "Kein Wunder, dass Facebook seine Vorgaben geheim hält"

  6. Virtual Reality

    Oculus Rift unterstützt offiziell Roomscale-VR

  7. FTP-Client

    Filezilla bekommt ein Master Password

  8. Künstliche Intelligenz

    Apple arbeitet offenbar an eigenem AI-Prozessor

  9. Die Woche im Video

    Verbogen, abgehoben und tiefergelegt

  10. ZTE

    Chinas großes 5G-Testprojekt läuft weiter



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Redmond Campus Building 87: Microsofts Area 51 für Hardware
Redmond Campus Building 87
Microsofts Area 51 für Hardware
  1. Windows on ARM Microsoft erklärt den kommenden x86-Emulator im Detail
  2. Azure Microsoft betreut MySQL und PostgreSQL in der Cloud
  3. Microsoft Azure bekommt eine beeindruckend beängstigende Video-API

3D-Druck bei der Bahn: Mal eben einen Kleiderhaken für 80 Euro drucken
3D-Druck bei der Bahn
Mal eben einen Kleiderhaken für 80 Euro drucken
  1. Bahnchef Richard Lutz Künftig "kein Ticket mehr für die Bahn" notwendig
  2. Flatrate Öffentliches Fahrradleihen kostet 50 Euro im Jahr
  3. Nextbike Berlins neues Fahrradverleihsystem startet

Panasonic Lumix GH5 im Test: Die Kamera, auf die wir gewartet haben
Panasonic Lumix GH5 im Test
Die Kamera, auf die wir gewartet haben
  1. Die Woche im Video Scharfes Video, spartanisches Windows, spaßige Switch

  1. Re: Wieder mal ein Sinnloser Artikel.

    Koto | 12:41

  2. Da kann ich nicht helfen

    make | 12:40

  3. Re: Unangenehme Beiträge hervorheben statt zu...

    picaschaf | 12:36

  4. Seit wann funktioniert das?

    __destruct() | 12:35

  5. Re: Erster!!!

    Phantom | 12:27


  1. 12:31

  2. 12:15

  3. 11:33

  4. 10:35

  5. 12:54

  6. 12:41

  7. 11:44

  8. 11:10


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel