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. ANDRITZ Kaiser GmbH, Bretten
  2. infoteam Software AG, Dortmund
  3. Josefs-Gesellschaft gGmbH, Köln
  4. afb Application Services AG, München


Anzeige
Top-Angebote
  1. 159€ + 3,99€ Versand (Vergleichspreis 182€)
  2. 29,99€ + 5,99€ Versand (Vergleichspreis 48€)
  3. 294,78€ (zur Zeit günstigste RX 580 mit 8 GB)

Folgen Sie uns
       


  1. Adobe

    Die Flash-Ära endet 2020

  2. Falscher Schulz-Tweet

    Junge Union macht Wahlkampf mit Fake-News

  3. BiCS3 X4

    WDs Flash-Speicher fasst 96 GByte pro Chip

  4. ARM Trustzone

    Google bescheinigt Android Vertrauensprobleme

  5. Überbauen

    Telekom setzt Vectoring gegen Glasfaser der Kommunen ein

  6. Armatix

    Smart Gun lässt sich mit Magneten hacken

  7. SR5012 und SR6012

    Marantz stellt zwei neue vernetzte AV-Receiver vor

  8. Datenrate

    Vodafone weitet 500 MBit/s im Kabelnetz aus

  9. IT-Outsourcing

    Schweden kaufte Clouddienste ohne Sicherheitsprüfung

  10. Quantengatter

    Die Bauteile des Quantencomputers



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Moto Z2 Play im Test: Bessere Kamera entschädigt nicht für kürzere Akkulaufzeit
Moto Z2 Play im Test
Bessere Kamera entschädigt nicht für kürzere Akkulaufzeit
  1. Modulares Smartphone Moto Z2 Play kostet mit Lautsprecher-Mod 520 Euro
  2. Lenovo Hochleistungs-Akku-Mod für Moto Z
  3. Moto Z Schiebetastatur-Mod hat Finanzierungsziel erreicht

Neuer A8 vorgestellt: Audis Staupilot steckt noch im Zulassungsstau
Neuer A8 vorgestellt
Audis Staupilot steckt noch im Zulassungsstau
  1. Autonomes Fahren Continental will beim Kartendienst Here einsteigen
  2. Verbrenner Porsche denkt über Dieselausstieg nach
  3. Autonomes Fahren Audi lässt Kunden selbstfahrenden A7 testen

Anker Powercore+ 26800 PD im Test: Die Powerbank für (fast) alles
Anker Powercore+ 26800 PD im Test
Die Powerbank für (fast) alles
  1. Toshiba Teures Thunderbolt-3-Dock mit VGA-Anschluss
  2. Asus Das Zenbook Flip S ist 10,9 mm flach
  3. Anker Powercore+ 26800 PD Akkupack liefert Strom per Power Delivery über USB Typ C

  1. Re: Ich verstehe dieses Urteil nicht

    Sharra | 04:04

  2. Glückwunsch Junge Union

    prody0815 | 04:01

  3. Und ich vermisse das Mediacenter!

    1st1 | 03:29

  4. Re: braucht man für diesen store...

    1st1 | 03:27

  5. Infrastruktur ist Aufgabe der Gemeinschaft

    d c | 03:06


  1. 21:02

  2. 18:42

  3. 15:46

  4. 15:02

  5. 14:09

  6. 13:37

  7. 13:26

  8. 12:26


  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