Register gesperrt - Wie Deadlock debuggen?

Das Unterforum für Diskussionen rund um die Technik, Bedienung, Konfiguration usw. Das ist auch die erste Anlaufstelle für Bastler mit Fragen zu den Editoren.
Antworten
Nachricht
Autor
yxyx
Beiträge: 975
Registriert: 05.07.2022 11:26:10

Register gesperrt - Wie Deadlock debuggen?

#1 Beitrag von yxyx »

Liebe Zusi-Community,

ich benötige mal eure Hilfe zum Deadlock debuggen. Ich habe einen eigenen Fahrplan erstellt und wollte ihn jetzt ein paar mal manuell mit erhöhten Chaosfaktor durchlaufen lassen um besonders anfällige Stellen für Deadlocks zu finden.

Dabei ergab sich in der Fehlersuche folgendes Bild:

Bild

Wie bekomme ich hier heraus, durch welche Fahrstraße bzw. welchen Zug das Register gesperrt ist?
Meine Idee war, das Register in den Fahrstraßen-Details von Johannes Streckenplan ausfindig zu machen. Ich dachte, so könnte ich dann Stück für Stück die anderen belegten Fahrstraßen durchgehen und darüber schauen, welcher Zug das Register blockiert. Nur leider taucht die Registernummer dort nirgends auf...:

Bild

Der Vollständigkeit halber hier noch die Zugübersicht, falls diese helfen sollte:

Code: Alles auswählen

  (RE 1040)
RE 1041: v=0,00 km/h, Grebenstein A -> 19,00 m (0 km/h) ->Grebenstein;  Fahrstraßen mit belegten Registern: Grebenstein A -> Grebenstein E; 
RE 1042: v=80,00 km/h,  -> 0,00 m (0 km/h) ->Olsberg
RE 1043: v=0,00 km/h, Hümme N1 -> 18,81 m (0 km/h) ->Hofgeismar;  Fahrstraßen mit belegten Registern: Hümme N1 -> Hofgeismar A; Hümme N1 -> Hofgeismar Ls A; 
  (-> RE 1044)
RE 1045: v=115,15 km/h, Westhofen A -> 285,52 m (oo km/h) ->Bk Steinhausen
  (-> RE 1046)
  (-> RE 1047)
  (-> RE 1048)
  (-> RE 1049)
  (-> RE 1050)
  (-> RE 1051)
  (RE 2038)
  (RE 2040)
  (RE 2041)
  (RE 2042)
RE 2043: v=0,00 km/h, Hofgeismar N2 -> 238,58 m (0 km/h) ->Grebenstein Nächster Planhalt: Hofgeismar (5,8 s);  Fahrstraßen mit belegten Registern: Hofgeismar N2 -> Grebenstein A; 
RE 2044: v=60,45 km/h, Buke F -> 286,07 m (0 km/h) ->Buke;  Fahrstraßen mit belegten Registern: Buke F -> Buke P2; 
RE 2045: v=0,00 km/h, Hofgeismar Ls A -> 18,52 m (0 km/h) ->Hofgeismar;  Fahrstraßen mit belegten Registern: Hofgeismar Ls A -> Hofgeismar N2; 
  (-> RE 2046)
RE 2047: v=50,00 km/h, Buke N2 -> 774,95 m (50 km/h) ->Neuenheerse
  (-> RE 2048)
  (-> RE 2049)
  (-> RE 2050)
  (-> RE 2051)
  (-> RE 2052)
  (-> RE 2053)
  (-> RE 2054)
  (-> RE 2055)
  (-> RE 2056)
  (-> RE 2057)
  (-> RE 2058)
  (-> RE 2059)
  (-> RE 2060)
  (-> RE 2061)
  (-> RE 2063)
  (ICE 3038)
  (ICE 3040)
ICE 3041: v=0,00 km/h, Immenhausen A -> 19,00 m (0 km/h) ->Immenhausen;  Fahrstraßen mit belegten Registern: Immenhausen A -> Immenhausen C; 
ICE 3042: v=47,12 km/h, Paderborn Hbf R10 -> 308,57 m (40 km/h) ->Salzkotten
ICE 3043: v=0,00 km/h, Hofgeismar N3 -> 18,88 m (0 km/h) ->Grebenstein;  Fahrstraßen mit belegten Registern: Hofgeismar N3 -> Grebenstein A; 
ICE 3044: v=110,00 km/h, Obervellmar G -> 732,00 m (oo km/h) ->Mönchehof
ICE 3045: v=115,83 km/h, Hümme A -> 1309,97 m (0 km/h) ->Hümme;  Fahrstraßen mit belegten Registern: Hümme A -> Hümme N3; Hümme A -> Hümme N1; 
  (-> ICE 3046)
ICE 3047: v=37,79 km/h, Sbk 402 Sbk 402 -> 1707,69 m (oo km/h) ->Altenbeken
  (-> ICE 3048)
  (-> ICE 3049)
  (-> ICE 3050)
  (-> ICE 3051)
  (-> ICE 3052)
  (-> ICE 3053)
  (-> ICE 3054)
  (-> ICE 3055)
  (-> ICE 3056)
  (-> ICE 3057)
  (-> ICE 3058)
  (-> ICE 3059)
  (-> ICE 3060)
  (-> ICE 3061)
  (-> ICE 3063)
  (RE 4041)
  (RE 4042)
  (RE 4043)
  (RE 4044)
  (RE 4045)
  (RE 4046)
RE 4047: v=90,00 km/h, Sbk 81 1 -> 40,46 m (25 km/h) ->Sbk 74
RE 4048: v=110,00 km/h, Sbk 13 Sbk 13 -> 1475,84 m (oo km/h) ->Benhausen
  (-> RE 4049)
  (-> RE 4050)
  (-> RE 4051)
  (-> RE 4052)
  (-> RE 4053)
  (-> RE 4054)
  (-> RE 4055)
  (-> RE 4056)
  (-> RE 4057)
  (-> RE 4058)
  (-> RE 4059)
  (-> RE 4060)
  (-> RE 4061)
  (-> RE 4062)
  (-> RE 4063)
  (-> RE 4064)
  (IRE 10038)
IRE 10040: v=0,00 km/h, Immenhausen Gleis 1 -> 18,81 m (0 km/h) ->Grebenstein
IRE 10041: v=0,00 km/h, Hofgeismar A -> 19,00 m (0 km/h) ->Hofgeismar;  Fahrstraßen mit belegten Registern: Hofgeismar A -> Hofgeismar N2; 
IRE 10042: v=74,75 km/h, Hofgeismar P1 -> 449,83 m (0 km/h) ->Hümme;  Fahrstraßen mit belegten Registern: Hofgeismar P1 -> Hümme F; 
IRE 10043: v=35,85 km/h, Meschede N1 -> 1036,17 m (oo km/h) ->Eversberg
  (-> IRE 10044)
  (-> IRE 10045)
  (-> IRE 10046)
  (-> IRE 10047)
  (-> IRE 10048)
  (-> IRE 10049)
  (-> IRE 10051)
  (RE 11038)
  (RE 11040)
  (RE 11041)
RE 11042: v=90,00 km/h, Messinghausen F -> 590,74 m (oo km/h) ->Hoppecke
RE 11043: v=18,88 km/h, Hoppecke N -> 208,05 m (40 km/h) ->Messinghausen
  (-> RE 11044)
  (-> RE 11045)
  (-> RE 11046)
  (-> RE 11047)
  (-> RE 11048)
  (-> RE 11049)
  (-> RE 11050)
  (-> RE 11051)
  (RB 12038)
  (RB 12039)
RB 12040: v=110,00 km/h,  -> 0,00 m (0 km/h) ->Neheim-Hüsten
RB 12041: v=0,00 km/h, Warburg N1 -> 44,52 m (0 km/h) ->Warburg Nächster Planhalt: Warburg (988,4 s)
  (-> RB 12042)
RB 12043: v=70,23 km/h, Arnsberg A -> 364,17 m (oo km/h) ->Arnsberg
  (-> RB 12044)
  (-> RB 12045)
  (-> RB 12046)
  (-> RB 12047)
  (-> RB 12048)
  (-> RB 12049)
  (-> RB 12051)
  (RB 13038)
  (RB 13040)
  (RB 13041)
  (RB 13042)
RB 13043: v=0,00 km/h, Grebenstein E -> 195,36 m (0 km/h) ->Immenhausen Nächster Planhalt: Grebenstein (4,8 s);  Fahrstraßen mit belegten Registern: Grebenstein E -> Immenhausen A; 
RB 13044: v=120,00 km/h, Warburg F -> 1760,11 m (110 km/h) ->Warburg
RB 13045: v=0,00 km/h, Hümme N3 -> 194,39 m (0 km/h) ->Hofgeismar Nächster Planhalt: Hümme (0,3 s);  Fahrstraßen mit belegten Registern: Hümme N3 -> Hofgeismar A; 
  (-> RB 13046)
RB 13047: v=117,98 km/h, Liebenau A -> 137,99 m (oo km/h) ->Lamerden
  (-> RB 13048)
RB 13049: v=97,06 km/h, Salzkotten F761 -> 1210,03 m (oo km/h) ->Salzkotten
  (-> RB 13050)
  (-> RB 13051)
  (-> RB 13052)
  (-> RB 13053)
  (-> RB 13054)
  (-> RB 13055)
  (-> RB 13056)
  (-> RB 13057)
  (-> RB 13058)
  (-> RB 13059)
  (-> RB 13060)
  (-> RB 13061)
  (-> RB 13063)
  (RB 14041)
  (RB 14042)
  (RB 14043)
  (RB 14044)
  (RB 14045)
  (RB 14046)
RB 14047: v=80,54 km/h, Hameln F -> 2474,90 m (0 km/h) ->Hameln
RB 14048: v=0,00 km/h, Altenbeken 35 -> 18,65 m (0 km/h) ->Altenbeken Nächster Planhalt: Altenbeken (628,6 s)
  (-> RB 14049)
RB 14050: v=91,06 km/h, Bad Pyrmont Lf2 -> 404,70 m (90 km/h) ->Sbk 73
  (-> RB 14051)
  (-> RB 14052)
  (-> RB 14053)
  (-> RB 14054)
  (-> RB 14055)
  (-> RB 14056)
  (-> RB 14057)
  (-> RB 14058)
  (-> RB 14059)
  (-> RB 14060)
  (-> RB 14061)
  (-> RB 14062)
  (-> RB 14063)
  (-> RB 14064)
  (RB 15040_15041)
  (RB 15042_15043)
  (RB 15044_15045)
RB 15046_15047: v=0,00 km/h, Altenbeken L34 -> 83,46 m (0 km/h) ->Altenbeken Nächster Planhalt: Altenbeken (2546,7 s)
  (-> RB 15048_15049)
  (-> RB 15050_15051)
  (-> RB 15052_15053)
  (-> RB 15054_15055)
  (-> RB 15056_15057)
  (-> RB 15058_15059)
  (-> RB 15060_15061)
  (-> RB 15062_15063)
Vielen Dank im Voraus für eure Tipps und Hinweise!

Liebe Grüße
yxyx

Benutzeravatar
Johannes
Beiträge: 3597
Registriert: 14.03.2009 22:36:06
Aktuelle Projekte: Zusitools (http://git.io/zusitools)

Re: Register gesperrt - Wie Deadlock debuggen?

#2 Beitrag von Johannes »

Hier ein kleines Tool zum Umrechnen von 3D-Editor-Registernummern in Simulator-Registernummern: viewtopic.php?t=15649

Könnte man eigentlich auch mal in den Streckenplan integrieren. Lieber wäre es mir allerdings, wenn Zusi die korrekte Registernummer anzeigen würde und den Nutzer nicht mit solchen Implementierungsdetails verwirren würde.

yxyx
Beiträge: 975
Registriert: 05.07.2022 11:26:10

Re: Register gesperrt - Wie Deadlock debuggen?

#3 Beitrag von yxyx »

Danke für den Tipp! Das muss ich mal probieren.

Liebe Grüße
yxyx

Benutzeravatar
Michael Springer
Beiträge: 3123
Registriert: 24.06.2002 16:22:44
Wohnort: Schwäbisch Gmünd

Re: Register gesperrt - Wie Deadlock debuggen?

#4 Beitrag von Michael Springer »

IRE 10040: v=0,00 km/h, Immenhausen Gleis 1 -> 18,81 m (0 km/h) ->Grebenstein
Sieht so aus, als hätte der IRE10040 ab Mönchehof einen Fahrweg ins Gegengleis bekommen und in Immenhausen A steht der ICE 3041: v=0,00 km/ gegenüber.

Nachtrag: Da sollte man wohl in der Streckendatei einen Gegenfahrschutz nachrüsten.

Benutzeravatar
F. Schn.
Beiträge: 8506
Registriert: 24.10.2011 18:58:26

Re: Register gesperrt - Wie Deadlock debuggen?

#5 Beitrag von F. Schn. »

Ja, mein Gegenfahrschutz-Tool meldet da noch offene Deadlock-Möglichkeiten. (Indem man es einfach über Strecke bearbeiten -> Gegenfahrschutz aufruft.) Ich werde mal nach dem aktuellen AddOn noch mal alles systematisch prüfen.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

yxyx
Beiträge: 975
Registriert: 05.07.2022 11:26:10

Re: Register gesperrt - Wie Deadlock debuggen?

#6 Beitrag von yxyx »

Johannes hat geschrieben: 30.05.2026 11:20:34 Hier ein kleines Tool zum Umrechnen von 3D-Editor-Registernummern in Simulator-Registernummern: viewtopic.php?t=15649
Habe ich gleich mal anhand der Registernummer aus dem Beispiel probiert, klappt nur irgendwie nicht so richtig:

Code: Alles auswählen

PS C:\Users\Name\Downloads> .\elementnummern.exe "C:\Users\Public\Documents\Zusi3Steam\Timetables\own\Deutschland\Netz_Hannover\Netz_Hannover_2026_Fiktiv.fpn" 7393
Error reading C@ϰu|úwX''úwè$N@ó©¨ucÜC°¸u©¨ucÜC±‗°ukGºwX'93úwý°uP¢'©¨uéª' ªC©¨ucÜCЩ¨uý°uH¹uP¢'©¨u╔╗Bý°uH¥'H¹uP¢'ý¹uú┘S|°uÓµ' ªCý°uö'ý°uH¹u└ÌS)T░°uRoutes\Deutschland\32U_0005_0057\000474_005726_Salzkotten\Salzkotten_1994.st3: C@
Error reading C@ϰu|úwX''úwè$N@ó©¨ucÜC°¸u©¨ucÜC±‗°ukGºwX'93úwý°uP¢'©¨uéª' ªC©¨ucÜCЩ¨uý°uH¹uP¢'©¨u╔╗Bý°uH¥'H¹uP¢'ý¹uú┘S|°uÓµ' ªCý°uö'ý°uH¹u└ÌS)T░°uRoutes\Deutschland\32U_0005_0057\000483_005730_Paderborn\Paderborn_2003.st3: C@
Error reading C@ϰu|úwX''úwè$N@ó©¨ucÜC°¸u©¨ucÜC±‗°ukGºwX'93úwý°uP¢'©¨uéª' ªC©¨ucÜCЩ¨uý°uH¹uP¢'©¨u╔╗Bý°uH¥'H¹uP¢'ý¹uú┘S|°uÓµ' ªCý°uö'ý°uH¹u└ÌS)T░°uRoutes\Deutschland\32U_0005_0057\000487_005731_Benhausen\Benhausen_1985.st3: C@
...
Habe ich hier etwas falsch gemacht?

F. Schn. hat geschrieben: 30.05.2026 14:23:33 Ja, mein Gegenfahrschutz-Tool meldet da noch offene Deadlock-Möglichkeiten. (Indem man es einfach über Strecke bearbeiten -> Gegenfahrschutz aufruft.)
Bei mir taucht da kein Eintrag auf. Muss ich das Tool erst noch irgendwie installieren?
F. Schn. hat geschrieben: 30.05.2026 14:23:33 Ich werde mal nach dem aktuellen AddOn noch mal alles systematisch prüfen.
Das wäre lieb.

Liebe Grüße
yxyx

yxyx
Beiträge: 975
Registriert: 05.07.2022 11:26:10

Re: Register gesperrt - Wie Deadlock debuggen?

#7 Beitrag von yxyx »

Michael Springer hat geschrieben: 30.05.2026 14:16:12
IRE 10040: v=0,00 km/h, Immenhausen Gleis 1 -> 18,81 m (0 km/h) ->Grebenstein
Sieht so aus, als hätte der IRE10040 ab Mönchehof einen Fahrweg ins Gegengleis bekommen und in Immenhausen A steht der ICE 3041: v=0,00 km/ gegenüber.
Ja, sieht so aus, Danke für den Hinweis.

Liebe Grüße
yxyx

melvin
Beiträge: 603
Registriert: 11.11.2020 14:33:30
Aktuelle Projekte: Fahrplan "Nachts auf der Schnellfahrstrecke"

Re: Register gesperrt - Wie Deadlock debuggen?

#8 Beitrag von melvin »

Wenn man übrigens ganz sicher wissen will, ob man den richtigen Zug gefunden hat, der blockiert: Einfach den Zug löschen. Wenns dann weitergeht, weiß man, woran et jelegen hat.


Grüße
Melvin

yxyx
Beiträge: 975
Registriert: 05.07.2022 11:26:10

Re: Register gesperrt - Wie Deadlock debuggen?

#9 Beitrag von yxyx »

melvin hat geschrieben: 30.05.2026 16:17:48 Wenn man übrigens ganz sicher wissen will, ob man den richtigen Zug gefunden hat, der blockiert: Einfach den Zug löschen. Wenns dann weitergeht, weiß man, woran et jelegen hat.
Ich wollte halt nicht gleich das "Gesamtbild" zerstören, solange ich den Verursacher noch nicht gefunden bzw. eingegrenzt habe. Aber ja, es wäre in dem Fall wahrscheinlich doch hilfreich gewesen.

Liebe Grüße
yxyx

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 34981
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Register gesperrt - Wie Deadlock debuggen?

#10 Beitrag von Carsten Hölscher »

Die originalen Registernummern sind durch die Fusionierung der Module an der Stelle nicht mehr bekannt, also wär schon etwas Aufwand das hier auszuweisen.
Carsten

Benutzeravatar
Johannes
Beiträge: 3597
Registriert: 14.03.2009 22:36:06
Aktuelle Projekte: Zusitools (http://git.io/zusitools)

Re: Register gesperrt - Wie Deadlock debuggen?

#11 Beitrag von Johannes »

Das ist klar. – Ich träume ja immer noch von der „großen Lösung”, nämlich dass der Simulator die Module getrennt lässt (so wie es etwa der 2D-Streckenplan auch macht) und nicht aufwändig zu einem Modul zusammenklebt. Die Verknüpfungen der Elemente untereinander sollten doch eh über Pointer gehen und nicht über Nummern.

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 34981
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Register gesperrt - Wie Deadlock debuggen?

#12 Beitrag von Carsten Hölscher »

Die Elemente sind alle über Pointer verbunden, dürfte sonst fps-mäßig zu Buche schlagen.
Carsten

F(R)S-Bauer
Beiträge: 6477
Registriert: 09.11.2002 02:00:47

Re: Register gesperrt - Wie Deadlock debuggen?

#13 Beitrag von F(R)S-Bauer »

Hallo,

würde es nicht reichen, beim Laden ein Liste zu erstellen, die man bei bedarf über ein 3. Tool auswerten kann?

Grüße

Ralf

Antworten