Latest / Coding Buddies | Tech & Dev-Mindset / Big Software Fails #6 - Wenn Bugs tödlich enden
Transcript
- 0:00Und man heute davon ausgeht, dass es auch eine stärkere oder
- 0:05eine höhere Dosis war als bei Tschernobyl damals.
- 0:08Und das finde ich halt völlig. Krass, das ist auch echt heftig,
- 0:11ja. Coding Buddies Dein Podcast rund
- 0:14um Softwareentwicklung und aktueller Tech News.
- 0:17Herzlich Willkommen. Willkommen.
- 0:29Halli Hallo und schön, dass du wieder eingeschaltet hast.
- 0:32Herzlich Willkommen zur neuen Folge des Cody Bodys Podcast.
- 0:35Deine Gastgeber und wie soll es auch anders sein, meine
- 0:39Wenigkeit, der Tino und mir gegenübersitzend natürlich auch
- 0:42heute wieder dabei, der fantastische Fabi Fabi Moin
- 0:46Moin, grüß dich und was geht ab. Moin Moin und herzlich
- 0:50Willkommen an alle ich. Ich denke mir jedes mal so,
- 0:55stell dir aber vor. Du sagst irgendwie, du
- 0:57versprichst dich und nennst auf einmal n anderen Namen so.
- 1:00Und dann meldet sich irgendjemand aus dem Off so
- 1:03genau, das wär geil. Ich weiß nicht warum, aber
- 1:07irgendwie muss ich da immer dran denken, ja, aber ich glaube es
- 1:10ist mir noch nicht passiert, ich hab dich glaub ich immer sehr
- 1:12sorgfältig angekündigt, sehr gut, ja, wie geht es dir?
- 1:18Shit ja schon n bisschen besser. Ich hatte ja jetzt, ich glaub in
- 1:21der letzten Folge hat man es auch so n bisschen gehört,
- 1:23leicht n Schnupfen gehabt, so hab ich mir die 100.
- 1:25Folge nicht vorgestellt, aber jetzt in der 100 dann war es
- 1:28quasi durchgezogen. Genau muss, ja, muss ja, aber es
- 1:31geht ja quasi jetzt in die nächste Runde.
- 1:32Ne so, Staffel 2. Ist das so OK?
- 1:36Das ist krass. Ja, sagt man, so sagt man nee,
- 1:39aber auf. Jeden Fall geht es schon wieder
- 1:41n bisschen besser. Das ist natürlich gut und ich
- 1:43hoffe natürlich auch, dass Liebe Zürer lieber Zürer das auch.
- 1:46Wohlauf und gesund bist und jetzt schön zuhören kannst bei
- 1:50dieser Folge. Es gibt nämlich ne ganz
- 1:52interessante Folge, nicht wahr, Tino?
- 1:54Genau, denn viagrammen heute mal wieder ein älteres Format aus,
- 1:59was leider so n bisschen untergegangen ist in letzter
- 2:01Zeit, obwohl ich es persönlich sehr Feier und deswegen freue
- 2:03ich mich sehr auf diese Folge und zwar ist es mal wieder eine
- 2:07Big Fails Folge, das heißt wir gucken uns heute mal wieder
- 2:10einen krassen Fall in der Softwareentwicklungsgeschichte
- 2:12an. Welcher genau, möchte ich noch
- 2:15nicht verraten, aber es wird auf jeden Fall spannend und auch
- 2:18sehr dramatisch, denn wir haben uns heute einen Fall ausgesucht,
- 2:23deren Konsequenzen sehr, sehr krass waren und das möchte ich
- 2:28halt gerne mal beleuchten, weil das auch so ein bisschen, also
- 2:31ich will nicht sagen so ein Mythos da drum ist, aber
- 2:34irgendwie so richtig klar ist nicht, was da passiert ist, gibt
- 2:37unterschiedliche Ansichten. Viele haben damals drüber
- 2:41berichtet oder es ist auch heute noch n Paradebeispiel für Bugs
- 2:45in der Softwareentwicklung und das würde ich halt gerne einfach
- 2:48mit dir aufarbeiten und deswegen würde ich sagen, starten wir mal
- 2:53rein von der Geschichte her und gehen mal zurück in das Jahr
- 2:561985. Genau da war es nämlich der
- 3:02Juni. Und eine Frau, nämlich Katie
- 3:06Yarboro ich hoffe, ich habe das richtig ausgesprochen.
- 3:09Klang gut, ja. Die war auf dem Weg zu ihrer 12.
- 3:13Krebstherapie. Das ist natürlich eine wichtige
- 3:18Sache, wenn man denn leider an so einer Krankheit leidet, und
- 3:24da war es dann so, dass sie, ich sag mal, mit einem neuen.
- 3:30Gerät in Berührung kam das zwar schon, einige 1000 Menschen
- 3:34sozusagen behandelt hat, also es geht um Strahlentherapie, und da
- 3:41ist es halt so, dass du im Endeffekt ja Krebs sozusagen
- 3:44bestrahlen kannst, ohne da irgendwie einen chirurgischen
- 3:46Eingriff zu machen, um halt eben diese Krankheit dann zu heilen.
- 3:50Und genau das war dann bei Katie Halt eben der Fall, war wie
- 3:54gesagt die 12. Therapie schon, das heißt sie
- 3:57hatte schon ein Paar hinter sich.
- 3:59Und es sah auch gut aus und da sollte Katie dann wieder eine
- 4:04Therapie bekommen und mit so einem Röntgenstrahl, ich nenn es
- 4:08mal beschossen werden ne und da ist es so, dass ich glaube
- 4:13früher gab es mal die Einheit Rat beziehungsweise Röntgen, das
- 4:17ist jetzt mittlerweile ist die Einheit n bisschen anders, die
- 4:20heißen Sievert glaube ich aber wir gehen mal von diesem Jahr
- 4:24aus und nehmen trotzdem die Einheit Rat.
- 4:27Die ist auch n bisschen krasser, weil die ist n bisschen höher
- 4:31und da sollte Katie Halt eben mit so 200 Rad beschossen werden
- 4:35sozusagen, und zwar im linken Brustbereich.
- 4:38Ich glaub da ging es auch um Lymphknotenkrebs und im
- 4:44Normalfall ist es so, dass bei so einer Behandlung der Patient
- 4:48oder die Patientin gar nicht merkt, dass so ne Behandlung
- 4:51stattfindet. Das ist eine schmerzlose
- 4:52Behandlung. Genau, genau.
- 4:54Also du merkst es eigentlich jedenfalls akut erstmal nicht.
- 4:57Und da ist dann aber irgendwie was schief gegangen bei dieser
- 5:01Behandlung. Das heißt, sie hat diese
- 5:03Röntgenbestrahlung bekommen, hat aber ein sehr, sehr starkes
- 5:08Brennen verspürt, also sozusagen wirklich irgendwas schief
- 5:11gegangen, weil eigentlich dürfte man das gar nicht merken und hat
- 5:15dann sozusagen dem Techniker da vor Ort im Krankenhaus eine
- 5:19Georgia, wo das war, hatte sie dann vorgeworfen, dass er sie
- 5:23verbrannt hätte. Und der Techniker meinte aber
- 5:26dann, Oh tut mir leid, aber das geht eigentlich gar nicht ne
- 5:30also der hat dann versichert ich weiß nicht was sie da empfunden
- 5:34haben, aber dieses Gerät mit dem wir das hier machen kann ihnen
- 5:39sowas nicht zufügen, kann ihnen nicht wehtun.
- 5:41Sozusagen genau, denn es handelt sich ja um ein neues Gerät, was
- 5:45komplett ausgereift und sicher ist.
- 5:46Und deswegen konnte man sich das einfach nicht vorstellen, dass
- 5:48es am Gerät lag und hat quasi. Das Ganze wieder umgedreht nach
- 5:54dem Motto Ja Katie, Du übertreibst oder das, das kann
- 5:58gar nicht sein, halt ne, deswegen lass uns mal über diese
- 6:02neue Technik sprechen. Und zwar wurde 1976 der Telrac
- 6:0825 durch die AECL entwickelt, das wird dargestellt ne genau
- 6:14das ist Topic Canada Canada genau.
- 6:19Jetzt fortan in dieser Folge AECL genannt, also noch mal
- 6:21Atomic Energy of Canada Limited. So viel Ordnung muss sein, hast
- 6:26du recht und genau, also im Prinzip hatte das komplett neue
- 6:31Eigenschaften, es war ne Weiterentwicklung, es gab halt
- 6:35schon glaube ich ein oder 2 Vorläufer, auf jeden Fall den
- 6:38Terrak 20 vorher, der als äußerst sicher galt und keine
- 6:42Probleme gemacht hatte und der die 25 hat halt darauf
- 6:45aufgebaut. Genau also das funktionierte
- 6:50dann halt mit Elektromagneten, um die Strahlung doppelt durch
- 6:54das Ziel zuschicken, sage ich mal, es war ein ganzer fancy
- 6:57Aufbau, sage ich mal. Ich bin jetzt kein Physiker, der
- 6:59das genau erklären kann, aber es soll auch um die Software
- 7:01dahinter gehen, was nämlich dabei wichtig war, weil ich ja
- 7:06gerade meine, es soll um die Software gehen, das ganze war
- 7:08halt wesentlich mehr Software driven das heißt man hat auf.
- 7:13Hardwarekomponenten verzichtet und auch gerade so
- 7:17Absicherungsmechanismen rein Softwaretechnisch gelöst.
- 7:21Das war halt so diese große Weiterentwicklung, da dass so n
- 7:25Boom war damals zu sagen ja OK, die Software ist sicher, wir
- 7:28machen das alles über Software, das ist jetzt so der neue heiße
- 7:30Scheiß, ja und? Da muss man aber dazu ja noch
- 7:34sagen, dass zum Beispiel vorher gab es ja in dem Vorgängermodell
- 7:38gab es ja Hardware. Die eben dafür gesorgt hat, dass
- 7:43zum Beispiel ein nicht eine zu hohe Strahlung.
- 7:47Genau, es waren halt quasi so Sicherheitsmechanismen rein
- 7:52bauteiltechnisch oder Hardwaretechnisch umgesetzt und
- 7:55das hat man jetzt Softwaretechnisch gelöst.
- 7:57Mit dem neuen Modell. Das ist halt so die große
- 8:00Änderung und da ist es halt so komplex geworden, dass man so
- 8:03von ungefähr 100000 Zeilen Code ausging, wenn ich mich richtig
- 8:08erinner, war das in. Pd 11 Assembly oder so heißt die
- 8:12Sprache entwickelt, das heißt, es war jetzt nicht so eine
- 8:16Hochsprache, wie man das heutzutage kennt, sondern halt
- 8:19schon sehr spezifisch, sage ich mal, interessanterweise so, mal
- 8:23als Side Note. Ich habe mal gegoogelt, ob das
- 8:26immer noch im Einsatz ist und habe gelesen, dass auch in
- 8:30Kernkraftwerken aktuell noch diese Sprache verwendet wird,
- 8:35das fand ich halt irgendwie ziemlich interessant, zeigt aber
- 8:37auch, welche Historie dahinter steckt.
- 8:40Und wahrscheinlich auf welcher, auf welchem Level man da codet.
- 8:44Wer macht denn sowas? Ich habe irgendwann mal im
- 8:46Studium Assembler programmiert und ich fand es schrecklich.
- 8:49Ja, das das muss man wollen, das muss man auf jeden Fall wollen,
- 8:52kein. Wunder, warum es hier um
- 8:54Software Bugs geht in der Folge. Was aber interessant war bei der
- 8:59Entwicklung, dass die Hardware zwar geprüft wurde, also den den
- 9:03Aufbau der Maschine, die Software dabei aber so ein
- 9:06bisschen. Na ja, ich würde mal sagen,
- 9:09untergegangen ist. Also man hat halt die Software
- 9:12aus dem Terrac 20 übernommen, da sie ja da einwandfrei lief und
- 9:17hat dann quasi um diese Neuerung erweitert.
- 9:22Ja, also wir hatten ja gerade gesagt, man hat dann zum
- 9:24Beispiel auf so Hardware Interlogs, also diese Facesafe
- 9:28sein sollten verzichtet und das ganze im Terrac 25
- 9:31softwareseitig umgesetzt. Und aus heutiger Erkenntnis ist
- 9:38das im Prinzip durch so ne Art. Ich will es nicht böse
- 9:41ausdrücken, aber ich nenn es mal Hobbycoder entstanden, das heißt
- 9:44so n Mitarbeiter aus dem Unternehmen der gesagt hat ey
- 9:46ich ja ich code ich hab Bock Software zu entwickeln, ich mach
- 9:49das ne und das find ich halt irgendwie spannend.
- 9:53Also man hätte ja jetzt irgendwie sich gedacht OK da ist
- 9:57jetzt n Team von 1015 Leuten oder so dran scheinbar.
- 10:01Ist das von einer aus heutiger Sicht unbekannten Person
- 10:04entwickelt worden? Und das meine ich auch immer mit
- 10:06diesem oder was ich anfangs meinte mit diesem Mystischen
- 10:09dahinter, das ist halt alles irgendwie so was ging da ab.
- 10:12Ne, ja ja genau, also das habe ich auch gelesen und das finde
- 10:16ich auch krass. Ich meine der Typ wie gesagt wie
- 10:18du schon meintest, der kam aus dem Unternehmen, hat aber
- 10:21eigentlich sozusagen nur aus Spaß programmiert und dann wurde
- 10:25er wahrscheinlich gefragt Ey, hast du Lust für den Terrak 20
- 10:29die Software zu entwickeln und das hat er dann gemacht und.
- 10:32Und die wurde dann übernommen. Ich find das halt immer sehr
- 10:35interessant, weil man ich weiß nicht warum, aber irgendwie ist
- 10:41es doch intuitiv. Keine gute Idee zu sagen, Ey,
- 10:45lass mal Software von einem anderen Gerät benutzen und für
- 10:49ein neues einfach so wiederverwenden.
- 10:50Gut, die haben noch ein bisschen was drumherum gebaut, aber
- 10:52irgendwie denke ich mir immer so hm weiß ich nicht und dazu kommt
- 10:56ja auch noch, dass halt auch zum Beispiel während der Entwicklung
- 10:59und so auch keine Regressionstests gelaufen sind
- 11:02und so weiter also die Software war quasi ungetestet, also keine
- 11:05automatisierten Tests und sie wurde halt auch nicht.
- 11:09Durch ne Sicherheitsprüfung geschickt.
- 11:10Wie du schon meintest, nur die Hardware wurde
- 11:12Sicherheitsgeprüft und da war ja auch alles in Ordnung und nach
- 11:15so einer erfolgreichen Sicherheitsprüfung wurde der
- 11:17Terrak 25 dann stolz verkauft an die Krankenhäuser und dann ging
- 11:22es los. Ne als super neues gerät ne was
- 11:25alles mögliche jetzt kann und besser macht, das finde ich halt
- 11:28auch spannend. Also die Software an sich wurde
- 11:31halt nicht auf Herz und Nieren geprüft, sondern.
- 11:36Man hat halt quasi am Ende das fertige Gerät und hat es
- 11:39getestet als Sicherheitsüberprüfung.
- 11:41So mal in Anführungsstrichen und hat gesagt gut das Ding
- 11:44funktioniert, es macht was es soll, das wird richtig geil und
- 11:47jetzt ist, da können wir da das Marketing Anschmeißen und das
- 11:50Ding an alle Krankenhäuser verkaufen finde ich halt auch
- 11:54spannend. Ich mein klar es hat
- 11:56funktioniert. Aber irgendwie hätte man doch zu
- 11:59dem Zeitpunkt sich denken müssen.
- 12:00Ja, ist ganz schön sicherheitskritisch hier das
- 12:02Ding, vielleicht hätten wir da mal n bisschen genauer sein
- 12:05sollen, aber es lief ja alles gut, das Ding funktionierte, es
- 12:08hat sich super verkauft. Es ist ja auch eigentlich zu bei
- 12:12sehr, sehr wenigen Fällen zu Problemen gekommen.
- 12:15Nur ich denke mir halt auch wieder so, hier wird mit
- 12:17Röntgenstrahlen gearbeitet, ne, also wirklich mit einer
- 12:20Bestrahlung die echt. Auch wirklich
- 12:24gesundheitsschädlich sein kann. Und da denke ich mir so, ich
- 12:28weiß nicht, ich meine, man versteht ja, dass zum Beispiel
- 12:30Hardware weggelassen wurde, um Kosten zu sparen, man nimmt dann
- 12:34zum Beispiel möglichst noch die alte Software und dann hast du
- 12:37eigentlich vielleicht weniger kosten, alles ein bisschen
- 12:40günstiger, alle finden es cool bis halt eben dann zum Beispiel
- 12:45katies Fall aufgetreten ist. Ne.
- 12:47Genau, obwohl man da ja gesagt hat, okay, das kann ja einfach
- 12:50nicht sein. Also das war so ein Fall.
- 12:52Dachte man sich so. Nee, da, das muss irgendwie
- 12:55andere Gründe haben, das kann nicht am Terrak 25 gelegen
- 12:58haben, der Techniker hat das ja auch quasi direkt von sich
- 13:00gewiesen, dass da das kann einfach nicht sein, um ne, also
- 13:04quasi um so ne Verbrennung zu erzeugen, brauchst du so eine
- 13:07hohe Bestrahlung, das geht mit dem Gerät sozusagen nicht.
- 13:09Ne, das war ja so die offizielle Aussage nur und da würde ich
- 13:14jetzt gern mal mit dir drauf eingehen, gab es ja dann diese
- 13:17ersten Anzeichen, dass was nicht stimmt.
- 13:20Immer in Bezug auf die Behandlung mit dem Terrak 25.
- 13:24Und die haben sich immer mehr gehäuft.
- 13:27Lass uns doch da noch mal ein paar Fälle.
- 13:29Raussuchen auf jeden Fall. Also ich wollte noch mal ganz
- 13:32kurz noch mal auf katies Fall zurückgehen, weil nämlich sie
- 13:37zum Beispiel, also sie hatte sich ja beklagt, wie du meintest
- 13:40und ist dann auch 2 Wochen später nach der Behandlung hatte
- 13:44sie dann. Relativ große rote Flecken, ne,
- 13:47also quasi vorne auf der linken Brust und hinten dann auch ne
- 13:50und? Auf dem Rücken sogar ne.
- 13:52Genau also wie wirklich so n so n so n Laser Beam, der so durch
- 13:56einen Durchgeschossen hat und da hat dann im Endeffekt auch so n
- 14:01medizinischer Physiker, der dann auch dort vor Ort war, hat sich
- 14:04das auch angeguckt und meinte Halt eben auch OK 200 Rad können
- 14:09das eigentlich nicht an. Richten eigentlich ne und später
- 14:13hat haben auch n paar Berechnungen dann ergeben, dass
- 14:16es ungefähr eher 20000 Rad gewesen sein müssen, also die
- 14:20hundertfache Dosis und das ist halt schon richtig krass, weil
- 14:24das ist ne Strahlen n Strahlenbeschuss, der ist nicht
- 14:26mehr lustig und das blöde war aber, dass der Physiker, der
- 14:32sich das auch angeguckt hatte, dieser medizinische Physiker,
- 14:35der hat. Das leider nicht reproduzieren
- 14:38können, hat den Vorfall aber an die IAECL, also an das an den
- 14:42Hersteller auf jeden Fall gemeldet.
- 14:45Und die haben aber erstmal auch gesagt, so nee, kann ja nicht
- 14:47sein, also wir haben das Ding ja geprüft, alles gut, das ist mit
- 14:51dem Terrac 25 unmöglich, nur das bescheuerte war nämlich, dass
- 14:57man kann sich ja hinstellen und sagen, das war alles so nicht,
- 15:00aber nichtsdestotrotz musste dann bei Katie ihre krebsfreie
- 15:05Brust. Die linke halt trotzdem komplett
- 15:08entfernt werden. Also die Behandlung war erstmal
- 15:10bis dahin gut, dann kam dieser Vorfall und hier musste die
- 15:13komplette Brust abgenommen werden, plus noch, dass ihr
- 15:16linker Arm seitdem halt komplett gelähmt war und da denke ich
- 15:21mir, wie krass das eigentlich ist, dass man sich trotzdem
- 15:24hinstellt und sagt, kann nicht von uns kommen.
- 15:29Ja, vor allem wenn du quasi. Die Auswirkung wirklich siehst
- 15:32am Körper ne wie diese roten Flecken zum Beispiel und dann
- 15:36halt auch wissenschaftlich, ich sag mal belegt wurde, dass die
- 15:40Strahlung niemals so gering gewesen sein kann dafür, also da
- 15:44musst du ja eigentlich nur 1 und 1 zusammenzählen, aber wieso?
- 15:47Oft wurde das natürlich, denn wie du ja schon meintest, die
- 15:50Anschuldigung zurückgewiesen von dem Unternehmen.
- 15:52Ja wie gesagt, wir haben das geprüft, das Ding ist sicher,
- 15:55das kann nicht sein, so jetzt haben wir aber folgenden Fall,
- 15:58dass immer mehr Fälle aufgetreten sind.
- 16:01Zum Beispiel könnten wir da mal über den Fall von Francis Hill
- 16:07sprechen. Sagen wir mal, Francis Hill
- 16:09kommt in diesen Behandlungsraum rein, legt sich dann sozusagen
- 16:13auf so n Tisch ne und dann hast du so n riesen gerät was so über
- 16:17dich drüber fährt. Das wird dann richtig
- 16:18positioniert, es wird dann eingestellt mit den
- 16:21entsprechenden Parametern was da sozusagen passieren soll, wie
- 16:23zum Beispiel auch wieviel Rad dann im Endeffekt bestrahlt
- 16:26werden soll und so weiter und sofort ne ich glaub da gab es
- 16:29sogar die Möglichkeit 2 verschiedene.
- 16:31Beams zu nutzen, also einmal wirklich röntgen und einmal
- 16:34Elektronenstrahlen nennt sich das Ganze.
- 16:37Elektronenstrahl ist zum Beispiel n bisschen geringer und
- 16:39für die obere Schicht sozusagen gedacht und Röntgenstrahlen dann
- 16:43halt n bisschen für tiefere Schichten auch im Körper drin
- 16:46und dann kann man sich das so vorstellen, dass der der Patient
- 16:49oder die Patientin, wie zum Beispiel im Fall von Francis
- 16:51Hill, sie geht da rein, legt sich hin, der Techniker oder die
- 16:53Technikerin geht raus und stellt dann im Normalfall alles ein.
- 16:58So von außen und startet dann die Behandlung und gleichzeitig
- 17:01hat sie die Möglichkeit oder er, also der Techniker und die
- 17:04Technikerin von außen das Ganze über eine Kamera zu beobachten
- 17:07und sie hört auch was da drin passiert.
- 17:10Im Normalfall so damit man sich einmal vorstellen kann wieso was
- 17:12ungefähr abläuft. So und dann kam halt wie gesagt
- 17:18Francis Hill genau das gleiche und sie hatte glaube ich
- 17:22Gebärmutterhalskrebs und hatte halt eben auch wieder eine
- 17:26Behandlung. Genau wurde dann halt auch mit
- 17:29dem Terrak 25 behandelt, der weiterhin als sicher galt und
- 17:32erfolgreich eingesetzt wurde, verspürte dann aber in der
- 17:37Behandlung Elektroschocks an der Hüfte und man ging dann im
- 17:42Nachhinein davon aus, dass sie halt mit einer Dosis von 17000
- 17:47Rad beschossen wurde, statt wieder im hunderter Bereich, was
- 17:51wahrscheinlich angesetzt war. Und das ist halt.
- 17:55Schon ziemlich krass, ne. Also da hat sie dann halt.
- 17:58Im Prinzip hat man dann auch festgestellt, dass die Hüfte
- 18:02vollständig zerstört, weil die hätte so gesehen komplett
- 18:05ersetzt werden müssen und das finde ich halt auch richtig
- 18:08krass. Also das Ganze hat man halt auch
- 18:10erst in ihrer Autopsie festgestellt, also die Frau ist
- 18:13auch Friends, es ist ne Frau, ja kann ja auch männername sein,
- 18:18dass ich nur kurz gegenchecken. Das hat man leider erst in der
- 18:22Autopsie festgestellt, weil sie daran auch verstorben ist und
- 18:27die AECL also wieder das Unternehmen hinter dem Terrac
- 18:3025, hat das natürlich untersucht, weil das ist jetzt n
- 18:33Fall, das kannst du nicht unter den Tisch kehren.
- 18:36Ja und man hat dann im Prinzip das Ganze zurückgeführt auf
- 18:43einen defekten Mikroschalter, den man gefunden hatte, was im
- 18:48Prinzip. Wie du ja meintest, das ganze
- 18:51Gerät wird positioniert, da gibt es so ne Art Drehteller, der
- 18:56dann im Prinzip die richtige Konfiguration einstellt um halt
- 19:00zum Beispiel die Bestrahlung auch abzumildern.
- 19:03Ne und? Man hat halt denn das darauf
- 19:08zurückgeführt, dass dieser Mikroschalter defekt war, es
- 19:10nicht richtig eingestellt wurde, aber grundsätzlich es nicht am
- 19:14Gerät lag, sondern dass es so gesehen ein ein technisches
- 19:17Hardwareproblem war. Also n defekt.
- 19:20Ja. Aber vielleicht, also ich kann
- 19:21mir vorstellen, dass der Defekt auch sozusagen hardwaretechnisch
- 19:24zusammengespielt hat mit der Software am Ende aber sei mal
- 19:29hingestellt, auf jeden Fall haben die genau die ausgetauscht
- 19:31und der Dreh, dieser Drehteller den du meintest ne um das noch
- 19:34mal kurz n bisschen genauer zu erklären, du kannst, du hast ja
- 19:37diese 2 verschiedenen Beam Arten einmal elektronisch strahlen und
- 19:41einmal x Ray und für die verschiedenen Strahlungsarten
- 19:46konnte man verschiedene Filter einstellen mit diesem
- 19:49Drehteller. So Weise musste man genau,
- 19:52sollte man, weil im Endeffekt, wenn du zum Beispiel diesen
- 19:55Filter für die für den Elektronenstrahl hattest, der
- 19:58war ja deutlich geringer, demzufolge ist da halt auch mehr
- 20:02durchgekommen und wurde weniger sozusagen gefiltert.
- 20:05Und wenn du jetzt aber beispielsweise den Röntgenstrahl
- 20:08Anmachst, aber gleichzeitig den Elektronenfilter nutzt, dann
- 20:12hast du natürlich eine viel viel zu starke Dosis für das, was du
- 20:16eigentlich haben möchtest. Nur mal als Beispiel genau.
- 20:19Genau, und das ist nämlich der Punkt, das soll schiefgelaufen
- 20:22sein und man hat dann diesen Mikroschalter quasi ausgetauscht
- 20:26und auch ein Software Update ausgeliefert, was quasi diesen
- 20:32Drehtisch oder diesen Drehteller besser überwacht.
- 20:34Da hat man gesagt, OK, wir müssen sozusagen, wir patchen
- 20:37das nach, damit das nicht noch mal passiert im Falle eines
- 20:40defekten Mikroschalters. Ich glaub sogar, dass das AECL
- 20:44dann meinte, dass sich quasi um nen Faktor von 5 oder so die
- 20:48Sicherheit von dem Terrac sogar noch mal erhöht hat.
- 20:51Ja, danach war super sicher. Genau.
- 20:53Also vorher war sicher, danach war super, super sicher nur,
- 20:56dass dann zum Beispiel, es gab halt auch so vereinzelte Fälle,
- 21:00wo dann halt zum Beispiel einfach die Haut leicht vernarbt
- 21:03war, also quasi kein schlimmer Fall in dem Sinne, aber schlimm
- 21:06genug, dass sich dann am Ende auch Ärzte und Techniker.
- 21:10Von unterschiedlichen Krankenhäusern noch
- 21:11ausgetauscht, haben ne und haben dann zum Beispiel auch das
- 21:15wiederum dem Unternehmen gemeldet, dem Hersteller und die
- 21:20haben dann aber auch gesagt, so Leute das das funktioniert, das
- 21:22geht nicht so, also da irgendwas ist da, das ist was komisches,
- 21:25da haben die vielleicht irgendwie Probleme mit der Haut
- 21:28oder so, aber das kann halt nicht von uns kommen, ne?
- 21:31Ja. Genau.
- 21:34Aber, und das ist ja auch noch n Punkt, die beiden Patienten, von
- 21:38denen wir vorher jetzt gesprochen haben, die sind.
- 21:40Ja, nicht explizit wegen dieser Bestrahlung gestorben.
- 21:47Ne, die hat natürlich starke ein Beeinträchtigungen dadurch.
- 21:54Aber dadurch, dass sie halt nicht gestorben sind, sage ich
- 21:57jetzt mal, war es dann wahrscheinlich auch alles
- 21:59erstmal noch nicht so schlimm. Mal ein bisschen salopp und
- 22:02satirisch gesagt, für die das Unternehmen, aber es sollten ja
- 22:06tatsächlich auch noch Leute wirklich akut davon sterben.
- 22:11Genau da würde ich gerne noch einen Fall gleich mal anführen,
- 22:15weil das Spannende ist nach diesen ersten Fällen.
- 22:19Gab es ja auch. Irgendwie ne Reaktion von den
- 22:21Behörden, ne, also beispielsweise die Canadian
- 22:24Radiation Protection Boro forderte weitere
- 22:27Sicherheitsmaßnahmen, weil die haben halt gesagt OK Leute das
- 22:29kann es nicht sein. Ey hier ist jetzt echt zu viel
- 22:31schon passiert. Da muss einfach mehr kommen.
- 22:35Ihr müsst die Sicherheitsmaßnahmen erhöhen und
- 22:37auch darauf hat die AECL halt nicht reagiert, was ich halt
- 22:41auch sehr spannend finde, also im negativen Sinne spannend,
- 22:43dass man sich so denkt, Leute, ihr könnt ja nicht sagen, wir
- 22:46hauen jetzt n Sicherheitsupdate n Software Patch raus und jetzt
- 22:49ist noch mal 5 mal so sicher. Ihr müsst einfach nachweisen,
- 22:53dass das alles nicht mehr passieren kann, so ne, weil dann
- 22:57gab es ja auch den Fall von Warn Ray Corx in Texas ja.
- 23:04Der auch für ich glaube, das war seine achte oder neunte
- 23:07Krebsbehandlung unter dem Terrak 25, das heißt, es ist schon n
- 23:11paar mal gut gegangen, das heißt, er wird sich ja
- 23:13wahrscheinlich auch sicher gefühlt haben.
- 23:15Ne, wie gesagt, allgemein galt das Gerät ja als sicher.
- 23:20Da ist aber was ganz Spannendes passiert und das lässt einen so
- 23:23n bisschen aufhorchen. Und zwar der Techniker, der das
- 23:25Gerät einstellt auf seine Behandlungsmethode, bemerkte
- 23:29einen eingabefehler, er hat halt beispielsweise einfach den
- 23:33falschen Modus ausgewählt. Wir hatten ja gesagt, es gab 2
- 23:35Betriebsmodi ne und hat dann halt nach der Eingabe das
- 23:41bemerkt. Und dachte sich, ah nee, Moment,
- 23:43das ist n verdammt Patient Warren Ray Cox ist ja ne andere
- 23:47strahlenart und wollt das umändern und dann ist auf dem
- 23:51man kann sich vorstellen es gab halt so n kleinen Monitor mit so
- 23:53einer kleinen Oberfläche UI technisch alles zur damaligen
- 23:58Zeit ohne Maus nur Tastatur ne so MS dos Style sag ich mal und
- 24:04da stand auf einmal malfunction Fifty Four auf dem Bildschirm
- 24:09und. Die Möglichkeit, Proced zu
- 24:12drücken, so nach dem Motto OK, es ist irgendwas gerade schief
- 24:14gegangen, aber ich kann fortfahren und der Techniker
- 24:18dachte sich halt ja OK es ist ich werd wahrscheinlich drauf
- 24:21hingewiesen, dass ich hier irgendwie die Eingabe noch mal
- 24:24geändert hab oder so, aber ich möchte ja wirklich die Eingabe
- 24:27ändern und ne andere Strahlenart nehmen, also drück ich da drauf
- 24:31ne weil der Punkt war, es gab gar keine Dokumentation, die
- 24:35Techniker waren gar nicht geschult.
- 24:38Im Sinne von was bedeutet malfunction Fifty Four
- 24:42eigentlich? Da möchte ich ganz kurz
- 24:43einhaken, weil und also ich, man kann sich ja jetzt überlegen,
- 24:48ey, pass auf, da ist n Fehler, der aufpoppt ne so, da würde man
- 24:52sich doch im Normalfall jedenfalls als ich mir das so
- 24:55auch bei der Recherche angeguckt hab, denk ich mir doch wenn da n
- 24:58Fehler aufpoppt ne wieso denkt sich denn jemand ey da ist n
- 25:02Fehler ich mach einfach weiter so ne so und.
- 25:06Das was du meintest ist natürlich n wichtiger.es war
- 25:09nirgendswo dokumentiert. Es wurde auch in der Oberfläche
- 25:11nicht angezeigt was eigentlich dieser Fehler bedeutet.
- 25:14Das heißt eigentlich weiß darum keiner und jetzt kommt halt das
- 25:18interessante, also es gab ungefähr also die Fehler 1 bis
- 25:2364 so und die sind teilweise. Viermal am Tag, wenn nicht sogar
- 25:30häufiger aufgetreten bei Behandlung, das heißt, es sind
- 25:33dann irgendwie Fehler zwischen 1 und 64 sind aufgepoppt und dann
- 25:37haben die Leute halt gesagt, OK, ich weiß jetzt nicht, vielleicht
- 25:40irgendwas hab ich falsch gemacht, ich mach mal weiter so
- 25:43und durch, aber zum Beispiel auch Erfolge bei der
- 25:45Strahlentherapie war es halt so, dass sich die Leute dann oder
- 25:50die Techniker oder Ärzte dachten, na ja, OK,
- 25:52wahrscheinlich ist es alles zu ignorieren, das ist, es kann
- 25:56nicht so. Wichtig sein, weil es
- 25:58funktioniert ja trotzdem alles, weißt du, und demzufolge gab es
- 26:02so eine Art Routine bei den Leuten, die das bedient haben,
- 26:06die sich gesagt haben, ey, wenn ein Fehler kommt, mach einfach
- 26:09possid, das geht schon, das passt schon so und was ich mich
- 26:14halt Frage ist was also klar, wenn du diese Routine hast.
- 26:17OK was ich aber wirklich interessant finde ist, du musst
- 26:21ja irgendwann dieses Ding das erste Mal bedient haben als
- 26:24Techniker oder Technikerin beispielsweise.
- 26:26Und muss dir ja irgendwann sagen, Ey, hier ist gerade der
- 26:30erste Fehler, der kommt. Was mache ich denn jetzt, weil
- 26:33das finde ich, ist wirklich ein interessantes
- 26:35Gedankenexperiment, weil was machst du in diesem Fall?
- 26:38Sagst du einfach possid da wird jemand mit Röntgenstrahlung
- 26:41beschossen, also das ist schon eine krasse Sache, also ich
- 26:46denke mir so, bei dieser Routine verstehe ich es, aber bei diesem
- 26:49ersten Auftreten finde ich es richtig krass.
- 26:52Dass man sich einfach sagt, lass mal Proced machen.
- 26:55Und witzigerweise waren ja eigentlich alle Fehler
- 26:58tatsächlich vernachlässigbar, nur es ist halt.
- 27:02Auch ein.in dem Moment, wenn ich wie jetzt von einem guten
- 27:08Software Design ausgehe. Aus meiner Sicht ne, dann können
- 27:12das Fehlermeldungen sein, die vielleicht nicht kritisch sind,
- 27:17ne, dass halt vielleicht einfach ein Eingabefehler da ist oder
- 27:21irgendwas. Wie du ja meintest, die meisten
- 27:23konnte man vernachlässigen und wenn ich die Möglichkeit habe
- 27:26Proced zu drücken und fortzufahren, würde ich mir auch
- 27:30denken, die haben ja die Software sicher entwickelt und
- 27:33es ist okay fortzufahren. Es ist eigentlich eher so eine
- 27:36Art Warnung oder ein Hinweis, ich finde es darf gar nicht
- 27:39möglich sein Proced zu drücken, wenn es doch so ein
- 27:43schwerwiegender Fehler ist. Also als Anwender denke ich mir
- 27:46nicht so okay ich kann jetzt drücken.
- 27:49Weitermachen und dann passiert was ganz Schlimmes, weißt du,
- 27:52sondern man würde ja eigentlich denken, ich hab gar nicht die
- 27:56Chance weiterzumachen, wenn es jetzt gerade so schwerwiegend
- 27:59ist. Und wenn die anderen Fälle
- 28:00einfach vernachlässigbar sind oder waren, kann ich mir halt
- 28:03vorstellen, dass man sich auch dachte, vielleicht hast du auch
- 28:05Stress, da sind noch mehr, heute mehr Behandlung.
- 28:08Und dann ey, ja, komm hier mach, wir müssen ne man.
- 28:11Kann das ganze auch weiter nicht.
- 28:12Richtig, man kann das Ganze auch weiter Spinnen und sagen, gut,
- 28:14vielleicht haben die auch den Terrak 20 schon bedient und
- 28:17wissen, dass es bestimmte Mechanismen gibt, die dafür
- 28:20sorgen, dass es keine zu hohe Strahlung sozusagen also
- 28:24losgefeuert wird auf den Patienten oder die Patientin.
- 28:26Das kann natürlich auch sein, ne weiß man alles nicht genau,
- 28:29aber. Dass da einfach Fail safe denn
- 28:32hardwaretechnisch ist, also da nichts passieren kann,
- 28:34sozusagen. Aber trotzdem das was du sagst
- 28:36hab ich noch nicht so drüber nachgedacht, aber im ersten
- 28:38Moment dachte ich mir, so wie wie kann man denn einfach proced
- 28:42machen bei einem Fehler? Aber es stimmt schon, rein
- 28:45theoretisch würde ich auch irgendwo erwarten, dass du bei
- 28:47so einem schwerwiegenden Fehler gar nicht proced machen darfst.
- 28:49Das stimmt. Ja, ist auf jeden Fall ne super
- 28:52spannende Sache, was da passiert ist.
- 28:53Und das ist halt auch echt irgendwie unvorstellbar und
- 28:57leider Gottes muss man auch sagen.
- 29:00Hat man Proced gedrückt? Wie gesagt, man war es so
- 29:03gewohnt und Mail function 54 war dann am Ende doch was
- 29:09schwerwiegendes wie wir es schon angeteasert haben, denn darauf
- 29:13folgten 2 nahezu tödliche Schocks, die Warren Ray Cox
- 29:19durchführen und. Traurigerweise, weil du
- 29:24meintest, wie ist so einer, wie läuft so eine Behandlung ab und
- 29:26wie ist die aufgebaut, war der Raumlautsprecher defekt, das
- 29:29heißt der Techniker oder die Technikerin, die quasi die
- 29:33Eingaben gemacht hatte und sozusagen im Nebenraum saß,
- 29:37konnte seine Schreie nicht hören, also er hat halt
- 29:40geschrien vor Schmerzen, weil die Schocks so extrem waren und
- 29:44man hat es einfach nicht wahrgenommen und das Gerät hat
- 29:46Halt fortgeführt. Fuhren fort, fuhr fort und
- 29:50weiter, geht weiter und deutsch ist manchmal schwierig.
- 29:55Er ist dann. Glaub ich auch.
- 29:56Das Gestalten und hat gegen die Tür geklopft, weil du kannst
- 29:59halt einfach aufstehen, rein theoretisch ne und dann wurde es
- 30:02halt bemerkt. Aber ja und das ist halt völlig
- 30:05krass, die Folgen davon sind auf jeden Fall, dass er Wochen
- 30:09später aus dem Mund geblutet hat und.
- 30:13An akuten Strahlenvergiftungen verstarb einfach und das find
- 30:17ich halt. Ich glaub 5 Monate später oder
- 30:19so ist er dann halt einfach gestorben.
- 30:21Ja OK, ja gut, dann ist ist noch n Zeitraum aber gut kennt man ja
- 30:25auch aus der Vergangenheit, dass es ne Weile dauert, aber der
- 30:28Körper quasi in dem Moment akut verstrahlt wurde und man heute
- 30:32davon ausgeht, dass es auch ne stärkere.
- 30:36Oder eine höhere Dosis war als bei Tschernobyl damals.
- 30:40Und das finde ich halt völlig krass.
- 30:41Das ist auch echt heftig. Ja, muss man sich mal
- 30:44reinziehen. Also da ist ja, das ist ja ein
- 30:45Gerät was was das, dass es das überhaupt erzeugen kann, also
- 30:49dass es möglich ist. Das ist ja eigentlich schon echt
- 30:52Wahnsinn, aber es gab da noch einen anderen Fall, das war dann
- 30:58der sogenannte Vernan Kit, das war auch noch einer, der
- 31:04ebenfalls genau diesen Fehler auch bei.
- 31:06Vor seiner Behandlung sozusagen. Also der Techniker oder die
- 31:09Technikerin hat ebenfalls genau diesen Fehler 54 vor der
- 31:12Behandlung gehabt und da war es dann so, dass er eigentlich
- 31:18wegen wie heißt das Hautkrebs im Gesicht behandelt worden werden
- 31:23sollte und dann hat er halt auf sein Gehirn im Endeffekt ne viel
- 31:28zu hohe Strahlung bekommen und ist halt sogar noch vor Ray Cox,
- 31:32der ja sozusagen vor ihm dran war.
- 31:34Bisschen ist er trotzdem noch vor dem Ray Cox gestorben, weil
- 31:38er halt einfach Strahlenschäden am Gehirn und am Hirnstamm hatte
- 31:42und damit dann war es tatsächlich auch dieser Burn and
- 31:46Kid, der als erster tödlicher Unfall in der Geschichte der
- 31:50Medizin durch Strahlentherapie. Wie sagt man also, der
- 31:54aufgezeichnet wurde? Und das ist halt wirklich krass.
- 31:59Und die Gemeinsamkeit ist halt diese malfunction Fifty Four,
- 32:02die in beiden Behandlungen aufgetreten ist im Vorfeld und
- 32:06man sich das aber nicht richtig erklären konnte.
- 32:08Wann tritt das denn auf, sodass dann halt auch nach diesen
- 32:12fatalen Ereignissen man nach Erklärung gesucht hatte und
- 32:17dieser Fehler untersucht wurde, dass man dann erstmalig gesagt
- 32:20hat, OK. Was, was geht hier ab?
- 32:23Ja, also was hat das mit diesem Fehler 54 zu tun?
- 32:26Wir müssen das jetzt untersuchen und da gab es den Doktor Fritz
- 32:31Hager, ich hoffe man spricht ihn so aus, n Physiker der sich das
- 32:35Ganze angeschaut hat und untersucht hatte und im Prinzip
- 32:42festgestellt hatte, dass der Terrak 25 aus verschiedenen
- 32:47asynchronen. Routinen besteht also Prozessen
- 32:52und hat darin im Prinzip eine Race condition festgestellt.
- 32:59Zwischen diesen asynchronen Prozessen der Eingabe, also der
- 33:03Techniker stellt ja die Daten ein und der Justierung des
- 33:07Geräts, was du vorhin erklärt hattest mit dem Drehteller
- 33:11beispielsweise, dass die richtigen Filter eingestellt
- 33:13werden, um die Strahlung beispielsweise zu mindern, und
- 33:16das sind 2. Asynchrone Abläufe.
- 33:20Ja. Und da drin haben wir jetzt ne
- 33:22Race condition. Magst du vielleicht mal erklären
- 33:25für die für die liebe Zuhörer und Zuhörerinnen was Race
- 33:29condition bedeutet, falls das kein Begriff ist?
- 33:33Also man muss sich das ungefähr so vorstellen, dass du 2
- 33:37theoretisch 2 Prozesse hast, die etwas rechnen.
- 33:40Du möchtest aber zum Beispiel das Prozess 1, die als erstes
- 33:44das Ergebnis liefert und dann? Prozess 2, das sozusagen Prozess
- 33:482 vom Prozess 1 abhängt. So, und es kann aber bei einer
- 33:51Race condition sein, dass zum Beispiel Prozess 2
- 33:54beispielsweise schneller ist als Prozess 1, und das ist dann
- 33:58sozusagen eine Sache. Die du eigentlich gar nicht so
- 34:00haben möchtest. Genau, also du hast im Prinzip
- 34:05eine feste Reihenfolge, die du erwartest, damit du sagen
- 34:08kannst, mein Programm läuft richtig.
- 34:10Genau. Durch diese Race condition hast
- 34:12du aber ne zufällige Reihenfolge.
- 34:14Das kann 80% der Fälle gut gehen und dann hast du aber nach
- 34:17gewissen Ereignissen sag ich mal oder Zufällen die Chance, dass
- 34:23sie umgedreht zum Beispiel abgearbeitet werden oder der
- 34:26eine wie du meintest, noch nicht fertig ist.
- 34:27Und das ist halt sehr sehr gefährlich, gerade wenn sie
- 34:30voneinander abhängig sind und darauf die Funktionalität oder
- 34:33die korrekte Funktionalität der Software basieren.
- 34:36Also es gibt zum Beispiel, man muss sich das ungefähr so
- 34:38vorstellen. Also zum Beispiel wurde ne
- 34:40häufige Eingaben, also ne sehr häufige Eingabe war, dass man am
- 34:45Anfang eingestellt hat x Ray, also Röntgenstrahlung und nicht
- 34:49zum Beispiel Elektronenstrahlung, das heißt
- 34:51die Techniker oder die Technikerinnen hatten.
- 34:54Intuitiv eine Einstellung, weil du musstest immer einmal durch
- 34:57die Maske durchgehen und hast immer alles eingestellt und die
- 34:58waren da wahrscheinlich sehr routiniert drin, haben es
- 35:00relativ schnell gemacht. So haben dann die Einstellungen
- 35:02eingegeben und haben dann zum Beispiel am Ende gemerkt, Oh
- 35:06warte mal kurz, ich habe ja x Ray eingestellt, hier soll es
- 35:10aber zum Beispiel Elektronenstrahl sein, weil
- 35:12beispielsweise im Fall von Burn and Kit der Hautkrebs hatte,
- 35:16musst du nur oberflächlich bestrahlen, das heißt es reicht
- 35:18dieser Elektronenstrahl so und dann wurde das umgeändert.
- 35:22Und diese Änderung konnte aber nicht mehr durchgeführt werden,
- 35:27weil sozusagen die Positionierung von diesem Gerät
- 35:30noch in Gange war. Ja, und das ist ein sehr
- 35:36spannender Punkt. Weil wenn wir jetzt noch mal die
- 35:38Fälle uns anschauen, wie du auch gerade bei worn Kid meintest,
- 35:42waren das Fälle, wo die Techniker eingabefehler gemacht
- 35:45hatten und diese dann noch schnell korrigierten.
- 35:49Genau ne. Und dann ist halt diese
- 35:50malfunction Fifty Four aufgetreten und das finde ich
- 35:55halt spannend. Und dann hat man halt geschaut,
- 35:57OK was was passiert da also dieser Doktor Fritz Hager hat
- 36:01festgestellt, OK wir haben diese Race condition und die führt
- 36:04dazu, dass wir ungefilterte Elektronenstrahlen, also
- 36:07wirklich hochkonzentriert auf den Patienten abfeuern, was ja
- 36:12zu diesen ja tödlichen Ereignissen führte am Ende und.
- 36:17Wir haben ja gerade schon gesagt, es gibt halt 2 parallele
- 36:20Prozesse, oder gab es in dieser Software, die asynchron liefen.
- 36:23Einmal hast du diese Eingabe, die jetzt zum Beispiel noch mal
- 36:26korrigiert wurde und der zweite Prozess ist im Prinzip die
- 36:29Bewegung der Drehscheibe und der Magneten, damit alles richtig
- 36:32eingestellt wird. Genau.
- 36:34Jetzt hast du da drin diese schnelle Änderung.
- 36:38Das heißt, du, du tippst ein dein Setting.
- 36:42Der asynchrone Task der Justierung startet, sagt Okay.
- 36:46Ich habe jetzt alle eingabedaten.
- 36:49Ich fange jetzt an, mich zu justieren.
- 36:51Ja. Und jetzt ändert ändere ich noch
- 36:54was und die Oberfläche zeigt an okay pass auf, du hast die
- 36:58Strahlenart geändert, kein Thema passt.
- 37:01Klingt ja erstmal genau klingt, klingt ja erstmal okay ich kann
- 37:06habe halt die Chance noch was. Einzustellen, zu ändern und die
- 37:11Justierung adaptiert sich dann auf mein neues Setting.
- 37:14Problem dabei war, genau das ist nicht passiert.
- 37:17Richtig. Und der dieser Fritz Hager,
- 37:21dieser Physiker, der das auch untersucht hat, der hat sich ja
- 37:24im Endeffekt, er konnte es nicht auf sich sitzen lassen, er hat
- 37:26gesagt, ich setze mich jetzt ein ganzes Wochenende dran und
- 37:28versuche so lange diesen Fehler zu reproduzieren, bis das halt
- 37:31auch funktioniert, und das hat er dann auch geschafft, hat das
- 37:35dann sozusagen. Dokumentiert, wie er das gemacht
- 37:38hat und hat das dann wieder an den Hersteller AECL geschickt
- 37:42und die haben dann witzigerweise auch noch mal n Patch gemacht
- 37:48und also beziehungsweise einmal gesagt, das und das Bitte nicht
- 37:52mehr machen. Ne, also haben dann beschrieben
- 37:54was man nicht tun darf damit also diese diese nachträglichen
- 37:57Korrekturen und so weiter damit halt eben das nicht auftritt bis
- 38:01zu diesem Software Update was Sie noch reingespielt haben, die
- 38:04haben nämlich irgendwann auch gesagt ja pass auf, du kannst
- 38:08mit diesem, du kannst ja mit diesem Cursor, also eigentlich
- 38:11war diese Maske so ausgelegt, dass du einmal von oben links
- 38:13nach unten rechts sozusagen alles eingibst.
- 38:15So, und wenn du damit einmal durch warst, dann ist fertig,
- 38:17nicht noch mal zurückgehen, irgendwas ändern, sonst was.
- 38:20Und da haben wir nicht vorgesehen, genau, war nicht
- 38:22vorgesehen, auch eigentlich krass ne, dass du sagst, so,
- 38:24also das muss man ja auch erst mal wissen als jemand der das
- 38:28bedient, ne also finde ich eigentlich auch Wahnsinn und
- 38:31dann wurde das Halt rausgepatcht, dass du wieder
- 38:34zurückgehen kannst, so dass du halt sagen kannst okay ich kann
- 38:36halt immer weiter gehen, aber ich kann nicht noch mal
- 38:40zurückgehen. So, sonst musst du halt das noch
- 38:41mal neu starten, sozusagen das diese dieses Programm nenn ich
- 38:45jetzt mal ne, dass du halt noch mal das von vorne diese Maske
- 38:47eingibst. Was ich dabei spannend finde
- 38:50ist, man hat quasi gesagt, OK, ihr könnt Mel function 54 quasi
- 38:56verhindern, indem ihr nicht noch mal die Eingaben korrigiert oder
- 39:00anpasst. Hat dann gepatcht, dass die
- 39:02Cursor tasten, also die Pfeiltasten nicht mehr
- 39:04funktionieren um zurückzugehen. Hat aber eigentlich dieses
- 39:08Kernproblem gar nicht adressiert.
- 39:10Der Software, weil die Software hat im Prinzip so funktioniert
- 39:13wie du meintest. Du gibst von oben links nach
- 39:15unten rechts alles ein, deine ganze Maske füllst du aus und in
- 39:19dem Moment, wenn im Prinzip du ganz unten rechts angekommen
- 39:23bist, hat die Software gesagt, OK, ich validier jetzt die
- 39:26Eingaben, es sind alle da, weil der Cursor steht ja jetzt da
- 39:29unten. Validiert die und sagt OK,
- 39:33vollständig los geht es, wir justieren und dieses Justieren
- 39:37hat ungefähr 8 Sekunden gedauert, das war halt so n
- 39:41eingebautes Delay, weil das wurde halt sehr fein justiert
- 39:44und langsam, damit das halt auch alles ordnungsgemäß ist, spricht
- 39:48ja nichts dagegen. Spannenderweise gab es intern
- 39:52einen Fleck, was quasi gesetzt war, so nach dem Motto.
- 39:57Hab ich vollständige Eingaben oder nicht?
- 40:00Muss ich jetzt schon die Magnete beispielsweise justieren oder
- 40:03nicht? Und das wurde zu, also quasi in
- 40:06dem Moment, wenn ich unten rechts war in der Eingabe und
- 40:09vollständig laut Happy Path nenn ich es mal alles eingegeben
- 40:14hatte, wurde dieses Flag gelöscht und dann wurde justiert
- 40:17und dann wurde gar nicht mehr geprüft ob die Eingaben da sind
- 40:21oder geändert wurden, das find ich halt so absolut abgefahren.
- 40:25Obwohl, du konntest nicht angezeigt wurde.
- 40:28Genau. Du konntest ja aber trotzdem die
- 40:30Eingabe ändern und in der Oberfläche wurde es angezeigt,
- 40:32aber intern dadurch, dass dieses Fleck fehlte, wurde diese
- 40:36Änderung nicht übernommen und er hat quasi deine erste
- 40:39vollständige Eingabe. Demnach das alles justiert und
- 40:43egal was du danach eingetragen hast, das wurde einfach komplett
- 40:45ignoriert, da gab es keinen Sicherheitscheck mehr oder
- 40:47irgendwas und was ich auch richtig spannend finde ist wie
- 40:51du ja meintest, die haben den Patch gemacht, dass du nicht
- 40:54mehr zurückspringen kannst. Was aber auch Quatsch ist.
- 40:57Wenn du aber alle anderen Editiermöglichkeiten drin lässt,
- 41:01weil du konntest auch einfach die Cleartaste also entfernen,
- 41:04zum Beispiel drücken und ne neue Eingabe reinschreiben für das
- 41:06Feld, auf dem du gerade warst. Genau das heißt, die Techniker
- 41:11haben am Ende trotzdem wieder N-Weg gefunden, die waren
- 41:13wahrscheinlich nur angepisst. So Mann, ich kann jetzt nicht
- 41:15pfeiltaste nairobe oder so drücken, das nervt ja aber ach
- 41:18ja gut, warte so kann ich es noch korrigieren und im
- 41:21Endeffekt hattest du dann das gleiche Verhalten wieder am
- 41:24Ende. Definitiv.
- 41:26Du hattest eben auch noch von Magneten gesprochen, da würde
- 41:29ich auch noch mal ganz kurz, dass man sich das vorstellen
- 41:31kann. Die Magneten sind also du hast
- 41:32ja den Drehteller, den hatten wir ja beschrieben, es gibt
- 41:34zusätzlich noch Magneten, die dafür da sind, um wenn je
- 41:38nachdem wie du sie einstellst, die.
- 41:40Bündelung des Strahls sozusagen einzustellen, weil das sind ja
- 41:44elektromagnetische Strahlen. Das heißt, du kannst sie
- 41:46ablenken mit Elektro, also mit Elektromagneten, und demzufolge
- 41:50kannst du halt sozusagen sagen okay sehr auf einen Punkt
- 41:54beschränkt oder auf eine gewisse Fläche, so konntest du ja quasi
- 41:57diesen Strahl einstellen. Also sozusagen die Intensität
- 42:01dieses Strahls plus dann natürlich noch den Drehteller,
- 42:03dass du, dass der Drehteller natürlich auch zusammenpassen
- 42:07sollte, wenn du röntgenstrahl nimmst, dass du auch den
- 42:09Röntgenstrahl Filter nimmst und so weiter und sofort ne, das
- 42:11sind ja so n paar Kleinigkeiten und um das jetzt noch mal kurz
- 42:15zusammenzufassen, also es gab verschiedene Probleme, einmal
- 42:19gab es das Problem, dass wenn du etwas eingestellt hattest, was
- 42:22sozusagen ne mechanische Veränderung zur Auswirkung hat,
- 42:26ne dann. War es ja so, dass du in dieser
- 42:30Zeit, wo diese mechanische Veränderung stattgefunden hat,
- 42:32also wirklich physikalisch am Gerät, konntest du keine
- 42:35Eingaben mehr machen beziehungsweise konntest du
- 42:37schon, aber die wurden nicht übernommen und es gab noch den
- 42:40zweiten Punkt oder diesen zweiten Bug, dass wenn du einmal
- 42:43unten an der Maske angekommen bist, dann hat das Gerät gesagt,
- 42:46OK, wir sind fertig, du willst ja wohl diese Einstellungen so
- 42:49haben. Genau, dass das quasi Instant
- 42:53getriggert wurde, so nach dem Motto Du bist jetzt da unten.
- 42:57Du hast alles eingegeben, es gab nicht noch mal sowas wie
- 43:00bestätigen oder sowas, was man vielleicht noch erwarten würde.
- 43:03So soll ich jetzt justieren. Ja Nein weißt du, so war
- 43:06vereinfacht gesagt das find ich halt auch spannend, dass es
- 43:08einfach so getriggert wurde und diese Routinen dann angestoßen
- 43:12wurden, was auf jeden Fall spannend ist, dass das, was wir
- 43:17gerade beschrieben haben als Texas Bug in die Geschichte dann
- 43:20einging, weil ja beide Vorfälle von Cox und Kid in Texas.
- 43:26Quasi auftraten oder stattgefunden haben.
- 43:29Genau, und das jetzt als Texas Bug bekannt ist auch.
- 43:34Interessant muss man natürlich immer Namen geben, den ganzen
- 43:37Sachen, was ich auf jeden Fall interessant finde ist, dass
- 43:40natürlich solche Ereignisse, ne, also diese.
- 43:46Probleme, die aufgetreten sind. Patienten sind sogar gestorben.
- 43:50Das erregt natürlich Aufmerksamkeit, sowohl bei dem
- 43:53Personal. Also du verlierst ja irgendwann
- 43:57auch das Vertrauen in dieses Gerät als Arzt, Ärztin,
- 44:01Techniker, Technikerin, so, das ist ja das eine und das andere
- 44:05ist, dass natürlich auch der. Hersteller irgendwo im Zugzwang
- 44:10ist und sagen muss, ey, Pass auf, wir müssen hier wirklich
- 44:12noch mal was nachbessern, da sind jetzt wirklich nachweislich
- 44:16Leute gestorben und da wurden dann auch noch mal ein paar
- 44:19Software Fail safe Mechanismen eingebaut, es wurde sogar noch
- 44:24auch es wurde sogar glaube ich auch noch hardwaretechnisch ein
- 44:26bisschen nachgerüstet, dass man halt wirklich sagt OK Leute, wir
- 44:29hatten jetzt hier Todesfälle, das ist nicht cool, wir müssen
- 44:34das irgendwie unterbinden. Und da wurde ja wirklich noch
- 44:37was gemacht. Und dann kam es ja dazu, dass
- 44:41dann sicherlich noch Krankenhäuser gesagt haben, gut,
- 44:43OK, alles klar, das Ding ist funktioniert, man muss sich das
- 44:47ja auch im Endeffekt wieder so vorstellen, es ist ja nicht so,
- 44:50als würde jetzt quasi ein Patient rankommen, es passiert,
- 44:53was der nächste gleich wieder, sondern es ist ja so, dass es
- 44:56natürlich sehr, sehr vereinzelte Fälle sind.
- 44:58Dann muss man sich mal vor Augen halten.
- 44:59Das heißt wahrscheinlich, nach diesen Änderungen lief das
- 45:03erstmal alles wieder gut. Alle Strahlenbehandlungen vom
- 45:06Terrak 25 haben wieder super funktioniert, also alles in
- 45:10Ordnung, ne so, nur dass dann blöderweise oder tragischerweise
- 45:17es zu noch einem Opfer kam und das war Glenn Dot, das war dann
- 45:21später nur ein Jahr später, also 1987 befinden wir uns jetzt
- 45:26ungefähr. Und der hat dann eben auch
- 45:29wieder eine Überdosis bekommen und ist leider auch daran wieder
- 45:32verstorben. Und da kann man sich natürlich
- 45:35jetzt fragen, OK, wir haben doch aber die entsprechenden Fehler
- 45:40herausgefunden, die wurden ja quasi ne herauskristallisiert
- 45:45und wohlbehoben. Genau diese Mailfunction 54 ist
- 45:50ja eigentlich vom Tisch gewesen. Ne, man hat.
- 45:52Das Personal geschult, man hat dagegen gepatcht und das
- 45:55versucht zu verhindern, was heißt versucht.
- 45:57Man hat halt quasi Fixes eingebaut, was übrigens noch ne
- 46:02kleine Site Note ne der fix für diesen Bug ist im Endeffekt nur
- 46:07dieses Flag da was ich meinte nicht zu löschen, das muss man
- 46:10sich mal vorstellen was für ne kleine Softwareänderung dann
- 46:13bewirkt hätte und das ist halt immer das krasse was was für
- 46:17mich so mind blowing ist ne so. Ist wahrscheinlich eine Zeile,
- 46:21die du änderst. Ja, auf jeden Fall.
- 46:25Glenn Dot ist dann im Prinzip auch an einer akuten
- 46:30Strahlenvergiftung gestorben wieder und man fragt sich, wie
- 46:34zur Hölle ey das Thema war vom Tisch, wie konnte das passieren,
- 46:37wieder eine viel zu hohe Strahlung auf die Brust war es
- 46:41glaube ich was sein komplettes Gewebe verbrannte und innere
- 46:44Organe zerstörte, also wieder n völlig krasser Fall und.
- 46:49Man dann wieder anfing. Wo ist denn jetzt noch was
- 46:51kaputt in der Software? Ne richtig und dann kam es zum
- 46:56bekannten Washington Bug, weil das Ganze in Washington
- 47:00stattgefunden hat oder sich ereignete und diesen Washington
- 47:04Bug möchte ich mit dir auch noch mal behandeln, weil der ist
- 47:07finde ich noch krasser wie das alles zusammenspielt.
- 47:12Und zwar geht es dabei um diesen Mechanismus der Justierung, der
- 47:16zum Beispiel der Magnete, was wir angesprochen haben, also vor
- 47:19auch von diesem Drehteller, ne, das war, da müssen wir mal kurz
- 47:25eintauchen, wie das Softwaretechnisch umgesetzt
- 47:27wurde, weil wir hatten ja gesagt, es gab keine facesafe
- 47:30Mechanismen, also so Logs hardwareseitig, sondern es wurde
- 47:34rein softwaretechnisch überwacht, und dafür gab es.
- 47:39Im Prinzip ein Zähler in der Software, der die Schritte, das
- 47:43war halt so ein Schrittmotor dran, das war halt so eine ganz
- 47:46langsame Bewegung, der die Schritte gezählt hat, im
- 47:50Prinzip, jede Bewegung hat den Zähler um 1 hoch gezählt, also
- 47:56das heißt der Motor dreht 1 weiter, es wird wieder ein
- 47:59bisschen justiert, der Zähler sagt Plus 1 und so konntest du
- 48:03quasi die Schritte zählen, die es gebraucht hatte.
- 48:07Um bis es final eingestellt war, sozusagen, so die Erklärung
- 48:13dahinter. Und da denkt man sich so, OK,
- 48:15man zählt die Schritte, aber muss man nicht irgendwie die
- 48:19Positionierung sich merken, was heißt merken, irgendwie
- 48:23ermitteln? Also ich will ja wissen, ob es
- 48:25richtig positioniert ist und nicht wieviel Schritte es dauert
- 48:28um die richtige Position zu erreichen, das ist halt schon
- 48:30mal so n Ding, denkst du dir so OK, spannenderweise war es so,
- 48:36dass es. Eine Überprüfungsfunktion gab
- 48:40die Halt auch diese Fehlercodes gesetzt hat.
- 48:43Ne, also diese Malfunction diese Routine hieß Setup Test genau
- 48:49die Setup Test war im Prinzip die nach jedem Schritt der
- 48:53Bewegung aufgerufen wurde die Routine ne also die hat sich so
- 48:56quasi selbst rescadued und immer ständig geprüft ist.
- 49:02Die Justierung abgeschlossen bin ich an der finalen Position
- 49:04genau oder welche Fehlerzustand sozusagen ne genau das heißt es
- 49:09war immer n fehlerzustand wenn ich nicht die richtige Position
- 49:12hatte. Das.
- 49:13Heißt, man kann sich das so vorstellen vom Ablauf dieser
- 49:16Zähler zählt plus 1, weil eine Bewegung stattgefunden hatte.
- 49:20Dieser Zähler ist ungleich 0, weil wir uns ja in einer
- 49:23Bewegung befinden, sozusagen ne, also 123 wirklich inkrementiert
- 49:28so. Das heißt, wir sind noch in der
- 49:31Bewegung. Ich muss prüfen, habe ich einen
- 49:33Fehlerzustand oder bin ich in der richtigen Position, dann
- 49:36wurde diese Überprüfung durchgeführt und es wurde
- 49:39festgestellt, hey, du bist richtig, oder nee, passt noch
- 49:42nicht und das wurde ausgewertet und dementsprechend dieses Setup
- 49:47sage ich mal abgeschlossen oder fortgeführt.
- 49:51Das heißt, der Zähler wurde auf 0 zurückgesetzt.
- 49:53Wenn es richtig war, und es wurde die nächste Routine
- 49:56angestoßen. Im Prinzip die Behandlung am
- 49:58Ende ne, weil man sagt das Gerät ist richtig eingestellt, die
- 50:01Behandlung kann starten so. Weit so gut, bisschen wild mit
- 50:05dem Zähler da, aber OK interessanterweise
- 50:08softwaretechnisch. Wenn wir also wenn man sich das
- 50:10so ein bisschen vereinfacht vorstellen will, war dieser
- 50:14Zähler. Im Endeffekt synchron mit.
- 50:18Wie oft wurde eigentlich schon die Setup Test Methode oder
- 50:21diese Routine aufgerufen so das heißt im Endeffekt wurde einfach
- 50:25nur gesagt Okay nächster Setup test wird gemacht, es wird halt
- 50:28immer wieder geguckt ist der Drehteller richtig eingestellt
- 50:30und dafür wurde sozusagen wurde auf auf Fehlercodes überprüft
- 50:35und gesagt Okay gibt es denn Fehler gerade oder ist denn der
- 50:38Zustand meiner Justierung korrekt und diese Variable hat
- 50:44zum Beispiel gesagt. Wenn das 0 ist, dann ist alles
- 50:48gut. Das heißt, es gab quasi die
- 50:50Fehlervariable, die entweder n wert hatte oder 0 war und es gab
- 50:54diese Zählervariable, also Fehlervariable und
- 50:57Zählervariable und die Zählervariable war eigentlich.
- 51:01Einfach nur ein Zähler wie oft Setup Test aufgerufen wurde und
- 51:04wurde, eigentlich aber immer dafür genutzt um zu sagen ey wir
- 51:08sind ungleich 0 weil wir ja quasi gerade in der Routine
- 51:12sind, also überprüfen wir die Variable ob ein Fehler vorliegt
- 51:16so. Genau, also im Prinzip war es
- 51:19eigentlich, es war ein Zähler, aber eigentlich sollte es nur
- 51:23Aussagen, befinden wir uns in der Justierung oder nicht genau.
- 51:28Das ist halt das spannende dabei, warum es ein Zähler ist,
- 51:30weiß wahrscheinlich nur der eine Hobbycoder, aber es ist halt im
- 51:34Prinzip die Aussage dahinter ist befinden wir uns noch in der
- 51:37Justierung. Ja, ich überprüfe ob die
- 51:40Position stimmt und wenn ich kriege ich einen Fehler wenn ich
- 51:43einen Fehler kriege befinde ich mich immer noch in der
- 51:45Justierung, das heißt das ist dann halt dieses Rescaduling und
- 51:48zyklische zu sagen ich prüfe das so lange bis wir in der finalen
- 51:53Position sind, ansonsten hat die Maschine einen Fehler, was ja
- 51:56richtig ist und. Und das hat ja auch so
- 51:59funktioniert. Und jetzt ist aber spannend,
- 52:03dass halt dieser Fall von Glenn dort aufgetreten ist und auf
- 52:06einmal wieder eine viel zu hohe Bestrahlung zustande kam, die
- 52:09tödlich endete. Wie zur Hölle konnte das
- 52:11passieren und wenn man sich das Ganze quasi noch mal vor Augen
- 52:17führt, wie dieser Ablauf ist? Du hast es ja anfangs erklärt,
- 52:22ne, man legt sich da auf den Behandlungstisch.
- 52:25Dann wird das Gerät positioniert und so weiter der Ablauf vom
- 52:29Techniker war, dass er eigentlich erst in diesem
- 52:32benachbarten Raum ist, diese Grundsettings einstellt.
- 52:35Sowas wie Patientenname, Strahlungsart und so weiter dann
- 52:41in den Behandlungsraum geht zum Patienten.
- 52:44Dafür sorgt, dass korrekt positioniert ist, also der
- 52:48Strahlungspunkt ne, dass das genau da ist, wo es hingehen
- 52:51sollte. Das ist ja auch glaub ich mit so
- 52:53einer Lichttechnik gewesen, ne, dass du halt wirklich so n Punkt
- 52:56gesehen hast. Wo ist das Ziel und hat dann an
- 53:00der an der Maschine selbst in einem Terminal die finalen
- 53:03Eingaben gemacht, die musste er mit Press Set Button bestätigen,
- 53:09dann hat er das gemacht, hat den Raum wieder verlassen und die
- 53:11Behandlung. Ging los beziehungsweise das
- 53:14Gerät hat sich justiert und dann ging es los, wie wir ja gerade
- 53:18erklärt hatten. So was ist jetzt passiert und da
- 53:23muss ich sagen, ist leider Gottes so ein richtig
- 53:26klassischer Bug drin in der Software den man einfach 1000
- 53:29mal schon gehört hat und man sich immer wieder denkt warum
- 53:32zur Hölle passiert das weil diese Zählvariable über die wir
- 53:36gesprochen hatten war. Aber wahrscheinlich auch aus
- 53:41Speichergründen eine 1 Byte, also 8 bit variable.
- 53:44Das heißt, sie konnte einen Zahlenwert von 0 bis 255
- 53:48annehmen. Ganz klassisch.
- 53:51Jetzt haben wir aber das Thema, dass wir gesagt haben, diese
- 53:55Test Setup skeduals sich ja immer wieder selbst.
- 53:59Das heißt 100 Hunderte genau, es sind halt Hunderte Durchläufe.
- 54:05Die diese Überprüfung ausführen, das heißt, der Zähler zählt
- 54:08locker über diese 255 und hat dann nen arithmetischen
- 54:13Überlauf. Ganz klassisch heißt springt
- 54:15wieder auf 0 und zählt von vorne, das sollten ich glaube
- 54:19das ist so gut wie jeden ein Begriff und warum ist das kein
- 54:24Problem allgemein gewesen, weil die das hat ja funktioniert,
- 54:27also der Entwickler muss sich ja gedacht haben OK funktioniert
- 54:30doch, also wir wir haben es doch getestet läuft.
- 54:34Und da ist halt ne ganz krasse Verkettung an Ereignissen
- 54:38passiert. Magst du das mal erklären, was
- 54:41im Prinzip bei glatt dort passiert sein muss?
- 54:43Genau, also ganz kurz noch eine Sache wie du hast es ja gerade
- 54:47erklärt der Techniker oder Technikerin muss ja dann oder
- 54:51muss nicht unbedingt, aber es gab die Möglichkeit, diese
- 54:54explizite Positionierung mit diesem Laser noch durchzuführen,
- 54:57so, das heißt es war auch ne Sache, die nicht jedes Mal
- 54:59passiert ist. Aber du konntest es so tun.
- 55:02Das heißt, der Techniker ist jetzt reingegangen.
- 55:05Zu Glen Dot hat diese Positionierung aus also
- 55:08durchgeführt, das heißt, er hat dann noch mal quasi mit diesem
- 55:11Laser das Ganze, also zum Beispiel seine, seine, sein
- 55:14Brustbereich, richtig ausgerichtet, nachdem er das
- 55:17eingestellt hat, war er im Raum, hat an der Maschine dann zum
- 55:21Beispiel gesagt, Okay, jetzt möchte ich gerne die
- 55:25Einstellungen so setzen und hat den Set Button quasi gedrückt,
- 55:29so und. Und in dem Moment, wo du den Set
- 55:32Button drückst, kann es wenn keine Fehler da sind, werden
- 55:39diese Einstellungen auch so übernommen.
- 55:40Genauso wie Sie sind. Das heißt, die Justierung
- 55:42startet dann. Genau so.
- 55:44Und das Problem ist jetzt aber, dass und jetzt kommen diese 2
- 55:48Variablen wieder. Wir haben gesagt, diese
- 55:50Zählervariable und die Fehlervariable so wenn diese
- 55:54Justierung aber noch nicht ganz abgeschlossen ist, gibt es ja
- 55:57einen Fehler in dieser Fehlervariable.
- 55:59Die, sagt Ey, Wir sind noch nicht so weit.
- 56:02Diese wird aber nur überprüft, wenn die Zähler variable
- 56:06ungleich 0 ist. Das bedeutet, wenn du in dem
- 56:10Moment, wo du einen arithmetischen Überlauf von 255
- 56:15auf 0 wieder hast, genau in diesem Moment super krasser
- 56:18Zufall den Set Button drückst, dann wird sozusagen diese
- 56:23Einstellung, so wie sie es übernommen und die.
- 56:27Behandlung kann dann losgehen, so wie sie ist.
- 56:29Bedeutet also, dass es durchaus möglich ist, dass du zum
- 56:32Beispiel den falschen Filter für den falschen Strahlungsmodus
- 56:38verwendest. Weil es nicht richtig
- 56:40eingestellt ist, weil in der Software halt 0 als korrekt
- 56:44positioniert galt, weil der Zähler einfach so aufgebaut war.
- 56:47Ungleich. 0 ist nicht korrekt und 0 ist korrekt, aber erzählt
- 56:51halt und erzeugt halt diesen Überlauf und das spannende Ich
- 56:54habe mich halt gefragt, warum das?
- 56:57Ist der Zähler schon übergelaufen?
- 56:58Bevor ich Set drücke? Das war so n Klemmer als ich das
- 57:02so n bisschen recherchiert hatte, weil ich mir dachte was
- 57:06ist das für ne Softwarearchitektur, warum
- 57:07passiert das und das lag daran, dass er wie gesagt draußen im
- 57:12Nachbarraum die ersten Eingaben gemacht hatte und dann diese
- 57:16Testroutine einfach startet und asynchron läuft und quasi sich
- 57:20ganze Zeit rescadued und sagt. Ja nee, Fehler Fehler, Fehler,
- 57:26Fehler, Fehler weiter testen, testen und der Zähler zählt und
- 57:28zählt und läuft über und läuft über und das ist halt ich sag
- 57:32mal mit einer Wahrscheinlichkeit von was ist das 1 zu 255
- 57:36Roundabout hast du halt dann die Chance genau dann Set zu drücken
- 57:41ja wenn der in dem nächsten Schritt quasi genau dann diese
- 57:46Task sagt ich hab n Überlauf und der Zähler ist 0.
- 57:50Du setzt die neuen Einstellungen, die Software sagt
- 57:53Hey, alles korrekt positioniert und dann schaltet quasi diese
- 57:57sag ich mal statemachine intern direkt auf Test done Behandlung
- 58:01geht los und dann wird. Halt wird halt diese Bestrahlung
- 58:05abgefeuert und dann halt eben auch bei fehlerhaften oder noch
- 58:10nicht. Fertig eingestellten beim noch
- 58:14nicht fertig eingestellten Gerät, das ist schon krass, das
- 58:17ist ein sehr, sehr heftiges Ding, auch sehr, sehr viele
- 58:21Zufälle, die da eintreten müssen, logischerweise.
- 58:23Deswegen war es natürlich auch ja ein Einzelfall, mehr oder
- 58:28weniger das Ding ist, und das finde ich halt auch sehr
- 58:32interessant, im Endeffekt war es ja so, dass dass man eigentlich
- 58:35anstatt dieser Zähler variable am besten eine Variable hätte
- 58:39nehmen müssen, die ungleich 0 wäre in der Zeit während diese
- 58:44Setup Routine läuft. Dieser Setup Test und ich hatte
- 58:50beiläufig gelesen, ich bin mir jetzt nicht hundertprozentig
- 58:52sicher, aber es ist so ein Assembler Ding, dass du dadurch,
- 58:56dass du zum Beispiel diesen Zähler verwendest, nur ein Byte
- 59:00rein theoretisch brauchst, anstatt.
- 59:03Mehrere ne, also wie du meintest Speicher hat hat halt einfach
- 59:07was auch gerade damals ne je weniger Speicher man benötigt
- 59:12hast desto besser war es halt einfach weil das war damals auch
- 59:15noch mal ne andere Nummer als heute und das fand ich halt
- 59:19einfach krass, dass es deshalb aus diesem Grund wohl eine
- 59:24Zählervariable genutzt wurde und daran her halt eben nicht
- 59:27gedacht wurde, dass das noch möglich ist.
- 59:28Was wir gerade beschrieben. Haben.
- 59:31Was halt auch noch ne coole Side Note ist.
- 59:34Also oder interessant ist, dass sie das natürlich gefixt haben,
- 59:38die haben ja irgendwann das herausgefunden und der fix war
- 59:41aus diesem Zähler einfach ne feste Zahl, ungleich 0 zu
- 59:45machen, wie wir ja auch meinten. Ja genau, also das ist auch
- 59:49wirklich der Fix am Ende gewesen und das finde ich halt so krass
- 59:53und jetzt fragt man sich oder haben sich viele Leute glaube
- 59:56ich gefragt? Wieso zur Hölle hat er da ne
- 59:58Zählervariable draus gemacht? Es spielt gar keine Rolle
- 1:00:01wieviel Steps das braucht, ne weil es geht ja um die wie ich
- 1:00:05eingangs meinte um diese endposition und nicht wieviel
- 1:00:08Schritte, also wie oft quasi diese Routine durchlaufen wird
- 1:00:12das das spielt gar keine Rolle, es wurde ja eigentlich genutzt
- 1:00:15um festzustellen bin ich noch in der Bewegung oder nicht.
- 1:00:18Ich glaube, man dachte sich einfach, ist doch ganz cool,
- 1:00:20wenn sich da an der Variable zählt und hat diesen Überlauf
- 1:00:23halt nicht beachtet oder sich nicht war sich nicht im Klaren,
- 1:00:26dass diese Verkettung an Ereignisse passieren kann.
- 1:00:28Also ich würde ja auch niemanden irgendwie was böswilliges
- 1:00:31unterstellen, aber es ist halt krass und es zeigt wieder, wie
- 1:00:34Ereignisse zufällig aufeinandertreffen können und
- 1:00:37dann so eine krasse Auswirkung haben und Gott sei Dank war es
- 1:00:40sehr unwahrscheinlich, dass es passiert, aber es sind trotzdem.
- 1:00:45Todesfälle zu viel, sagen wir es mal so, ne, die man hätte
- 1:00:47vermeiden können und deswegen wir sind auch schon ziemlich
- 1:00:50fortgeschritten in der Zeit. Lass uns mal kurz noch
- 1:00:53schlussfolgern und lernen draus ziehen, weil unsere Big Fails
- 1:00:56folgen sollen ja nicht immer nur beleuchten was schief lief,
- 1:00:58sondern man soll ja versuchen da auch was draus zu lernen, auch
- 1:01:01für dich liebe Zuhörer liebe Zuhörer, deswegen hau doch mal
- 1:01:04raus fabi, was sind für dich so Learnings die du daraus ziehen
- 1:01:08kannst? Also wichtig ist natürlich, dass
- 1:01:10die, sag ich mal softwareseitige Eingabe.
- 1:01:15Auf jeden Fall immer synchron mit der Hardware läuft.
- 1:01:18Das heißt, du könntest ja rein. Theoretisch ist natürlich ne
- 1:01:21nervige Sache, aber nur um das sich ganz einfach vorzustellen,
- 1:01:24du könntest ja sagen, wenn ich etwas einstelle und dadurch dann
- 1:01:27ein mechanisches, ein mechanischer Mechanismus
- 1:01:30ausgelöst wird, der irgendwas einstellt, dann.
- 1:01:33Könntest du ja im einfachsten Fall sagen, OK ich warte n paar
- 1:01:36Sekunden, du kannst in der Oberfläche jetzt nichts
- 1:01:38eingeben, dass du halt wirklich synchronisierst.
- 1:01:40Deine Eingabe mit dem was halt da passiert ist natürlich ne
- 1:01:44sehr sehr einfache dargestellte Sache.
- 1:01:45Im optimalen Fall kannst du das trotzdem asynchron parallel
- 1:01:49machen und es wird halt eingestellt, aber so, dass es am
- 1:01:53Ende immer dazu kommt, dass du einen synchronen Zustand hast
- 1:01:56zwischen deiner UI und zwischen der echten Hardware ne und das
- 1:02:00ist auf jeden Fall. Designfehler der Software selber
- 1:02:04gewesen, was man auf jeden Fall definitiv immer im Auge behalten
- 1:02:10sollte. Bei sowas genauso wie zum
- 1:02:13Beispiel einfach diese failed safe Mechanismen.
- 1:02:17Also es gibt ja zu. Ich denke mir so, wieso konnte
- 1:02:20dieses Gerät überhaupt so eine extrem hohe Strahlung abfeuern,
- 1:02:23weil halt eben die Hardware dafür möglich, dass es war
- 1:02:26möglich, das war ja vorher beim Terrak 20 eben nicht möglich,
- 1:02:30aber genau solche Sachen sind wahrscheinlich einfach, gerade
- 1:02:34wenn es um Menschenleben geht durchaus sinnvoll sowas noch zu
- 1:02:38verwenden. Ja.
- 1:02:40Oder halt softwareseitig doppelt abzusichern.
- 1:02:43Und was ich auch eingangs mal gesagt hatte, Softwaretests
- 1:02:47haben gefehlt, die. Wahrscheinlich, weil es halt
- 1:02:50einfach Hobby Coding mäßig dahin gewurstelt wurde.
- 1:02:54Und gerade damals war mit Softwaretests vielleicht auch
- 1:02:58noch nicht ganz so. Populär wie heute aber das sind
- 1:03:01zum Beispiel Sachen, die mir da direkt einfallen, was man besser
- 1:03:05machen müsste oder worauf man achten sollte.
- 1:03:08Dann kommt da auf jeden Fall noch hinzu, dass man diese, wenn
- 1:03:12man schon so Fehlercodes hat, die auch klar dokumentieren
- 1:03:14sollte und das Personal dahingehend schulen sollte.
- 1:03:18Weil, wie zum Beispiel diese Malfunction Fifty Four, wo quasi
- 1:03:22keiner wusste, was dahinter steckt, aber eigentlich die
- 1:03:25Aussage war, EY, die ist ne fehlerhafte Positionierung, so
- 1:03:29ne drückt. Nicht proced also auf keinen
- 1:03:32Fall Proced erlauben. Sozusagen.
- 1:03:34Du kannst das ganze ja weiterführen und sagen, diese
- 1:03:36fehlerhafte Positionierung führt entweder, und das fand ich auch
- 1:03:39interessant, zu einer zu hohen oder zu einer zu niedrigen
- 1:03:42Strahlung, was auf jeden Fall zur falschen Behandlung, ne zur
- 1:03:44falschen Behandlung, also entweder akute.
- 1:03:47Möglicher akuter Tod sag ich jetzt mal ne, also relativ
- 1:03:51schnell oder halt Tod durch die Krankheit, weil sie eben halt
- 1:03:56nicht richtig behandelt werden. Hätte ne.
- 1:04:00Ja, ja, also. Ja, das sind eigentlich die
- 1:04:04wichtigsten Punkte. Ne.
- 1:04:05Immer versuchen diese Race conditions zu verhindern, wenn
- 1:04:08ich halt mit so asynchronen Routinen arbeite.
- 1:04:10Es muss Failsafe sein, du brauchst Redundanzen einfach bei
- 1:04:13so sicherheitskritischen Sachen ne gute Dokumentation, ne gute
- 1:04:16Abtestung das sind einfach wirklich extrem essentielle
- 1:04:20Punkte und ich finde dieser terrac 25.
- 1:04:24Ist und wird auch bleiben. Das wird ja auch in Unis
- 1:04:26behandelt und so, wenn es da halt um sicherheitsrelevante
- 1:04:30Systeme geht, zum Beispiel immer so ne Art Mahnmal bleiben, dass
- 1:04:34man sich wirklich vor Augen führt, welche Verantwortung auch
- 1:04:39ethisch gesehen man in der Softwareentwicklung tragen kann,
- 1:04:42gerade im zum Beispiel medizinischen Bereich.
- 1:04:45Definitiv. Also würde ich sagen.
- 1:04:48Tino, Erstmal danke für diesen interessanten Fall hier, den wir
- 1:04:51besprochen haben und auch recherchiert haben.
- 1:04:54Und liebe zürin lieber zürer, ich würde auch sagen, denkt
- 1:04:59bitte auch wenn ihr Software entwickelt, immer daran was für
- 1:05:02Auswirkungen eure Software haben kann.
- 1:05:05Es ist sehr sehr wichtig, dass man da auch wirklich da im Bilde
- 1:05:09ist und. Sich so was vor Augen führt, was
- 1:05:11da theoretisch passieren kann und immer mit der gewissen
- 1:05:15Verantwortung dahinter. Auch diese Software entwickeln.
- 1:05:18In dem Sinne würde ich sagen, schreibt uns doch gerne auf
- 1:05:22unserer Podcast Mail oder auf unseren Plattformen.
- 1:05:24Das ist übrigens alles in den Show Notes verlinkt, wie euch
- 1:05:27die Folge gefallen hat, bewertet gerne auch den Podcast.
- 1:05:30Das würde uns natürlich mega freuen und wenn ihr sagt, Ey
- 1:05:34Calling Body ist ein cool, die mag ich, die möchte ich ein
- 1:05:36bisschen unterstützen, gibt es auch einen kleinen Spenden Link
- 1:05:38in. Den Shownotes und in dem Sinne
- 1:05:41würde ich sagen, habt alle noch einen wunderschönen Tag und wir
- 1:05:46hören uns beim nächsten Mal wieder eure Calling Buddies
- 1:05:48gemeinsam. Besser.