Svenska 3D-Tåg - Forum  
 

Om det här är ditt första besök, se till att gå till vår FAQ (finns även länk till FAQ i navigeringsmenyn ovan). Du kan behöva att registrera dig innan du kan posta (finns även en länk till registrering i navigeringsmenyn ovan). För att titta på inlägg, välj det forum som du vill besöka från de som är listade nedan.

Gå tillbaka   Svenska 3D-Tåg - Forum > N3V Trainz > Scenarios och scripts

Svara
 
Ämnesverktyg Visningsalternativ
Gammal 2016-05-13, 23:55   #1
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 728
Standard

Intressant spårplan!
Enligt denna sida kan vi se att på ÖJ-tiden från början numrerade infartsväxlarna i triangelspåret för 1 respektive 2, så att tåg skulle möta rätt första växel. Hur man gjorde med resten av bangården talas inte om, men för något håll måste udda/jämt numreringen ha vänts, antagligen för tåg gående Färjestaden mot Mörbylånga, då detta spår nog användes minst. Intressant att SJ valde att benämna växlarna x respektive y för att delvis slippa problemet. Det tyder på att Kungliga Järnvägsstyrelsen inte heller kan ha haft några bestämmelser om hur man skulle lösa detta problem!

Angående Trainzdelen av problemet.
Det är möjligt att det är triangelspår som orsakar dessa message stack overflows, men det låter lite konstigt. Jag tror inte att udda/jämt har någonting med saken att göra, det låter snarare som att signalerna råkar ut för oändlig referensloopar. Lite märkligt att detta skulle hända på ett triangelspår, för signalerna borde bara behöva hålla reda på vilken signal som är framför i tågvägen och vilken som är senaste signal i tågvägen. Och det skulle ju inte gå att få några sådana oändliga loopar då på ett triangelspår.

Finns det andra annorlunda saker på banan du fått problemet på som skulle kunna orsaka det? Till exempel slingor, eller öglor? Två linjer som går åt var sitt håll och sedan möts på en station längre fram?

Det mest troliga borde vara att du har en slinga så att A beror på B som beror på C som beror på A som beror på B som beror på C som be.. du fattar.
Om du inte har några sådana slingor så är det säkert triangelspåret som är boven i dramat, det kan ju vara så att signalerna håller koll på fler andra signaler än bara den framförvarande och bakomvarande för stunden. De refererar då varandra på något sätt som leder till en oändlig loop, vilket overflowar meddelandestacken.

Om du råkar ut för felet igen så får du gärna ta en bild på felmeddelandet, särskilt den detaljerade så kan jag se om det går att få ut någonting av det.
__________________
-k-
korvtiger besöker inte forumet just nu  
Svara med citat
Gammal 2016-05-14, 17:44   #2
MegaCastor
Medlem
 
Reg.datum: May 2011
Ort: Linköping
Inlägg: 32
Standard

Citat:
Ursprungligen postat av korvtiger Visa inlägg
Intressant spårplan!
Finns det andra annorlunda saker på banan du fått problemet på som skulle kunna orsaka det? Till exempel slingor, eller öglor? Två linjer som går åt var sitt håll och sedan möts på en station längre fram?

Det mest troliga borde vara att du har en slinga så att A beror på B som beror på C som beror på A som beror på B som beror på C som be.. du fattar.
Om du inte har några sådana slingor så är det säkert triangelspåret som är boven i dramat, det kan ju vara så att signalerna håller koll på fler andra signaler än bara den framförvarande och bakomvarande för stunden. De refererar då varandra på något sätt som leder till en oändlig loop, vilket overflowar meddelandestacken.
Jag hade en vändslinga, men tog bort den efter ovanstående inlägg.
Problemet finns dock kvar.

Citat:
Ursprungligen postat av korvtiger Visa inlägg
Om du råkar ut för felet igen så får du gärna ta en bild på felmeddelandet, särskilt den detaljerade så kan jag se om det går att få ut någonting av det.
Vid uppstarten av sessionen kommer följande fel:

alla.jpg

Detaljer för det första felet:

1.jpg

Detaljer för det andra felet (början och slutet):

2a.jpg
(mitten av listan bortplockad)
2b.jpg

Sedan kommer tre liknande fel till som jag inte lägger upp.

Efter detta kommer inga fler fel utan det går bra att köra tåg.
Banan verkar fungera, fast det kan man ju inte veta säkert.
Det är lite oklart för mig vad felen innebär och vad de kan leda till.

Kan du få ut något av detta?

/Magnus
MegaCastor besöker inte forumet just nu   Svara med citat
Gammal 2016-05-14, 18:41   #3
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 728
Standard

Jadu, det var inte några fel jag stött på tidigare.

Det verkar inte som att felen är kopplade till varandra i alla fall.

Det första felet är, om jag förstått vissa spekulationer på Trainz forum rätt, att Trainz tycker att scriptet tagit för lång tid på sig att köra. Låter väldigt skumt i mina öron då det är en helt egen tråd som körs och kan avbrytas när som helst.
Men förstår jag dig rätt om detta felet bara dyker upp en gång när du startar och aldrig igen efter det, även om du köra omkring, lägger om växlar osv?
Det är i alla fall kopplat till signaldelen av scriptet och uppkommer när scriptet försöker leta efter nästa blocksignal. Det har inte med några referensloopar att göra i alla fall, då skulle du fått en lång upprepning av samma fel i den detaljerade felrapporten. Jag misstänker dock att detta beror på att du har en spårloop någonstans på din bana, så att sökningen efter nästa signal fastnar i loopen och kör runt, runt, runt.
Verkar signalerna fortfarande fungera och uppdatera sig? För antingen borde du få detta fel om och om igen, eller så borde signalerna sluta att fungera helt om jag förstår scriptet rätt!

Det andra felet:
Verkar bero på scriptfunktionaliteten som kopplar dubbla växlar. Meddelandekön innehåller massor med meddelanden ifrån växlar som har lagts om (toggled) som scriptet inte hunnit med att kontrollera om de är kopplade med någon annan växel. Det konstiga är att alla dessa växlar av någon anledning måste ha lagts om precis vid sessionens startande för att generera alla dessa meddelanden. Dessutom förekommer samma växlar om och om igen i listan vilket är märkligt.
Du verkar ha många a och b-växlar, men det dyker inte upp några c och d-växlar i meddelandekön. För det måste väl vara i dubbla engelsmän som du använder sådana växelkopplingar och då borde du väl även ha massor av c och d-växlar?

Får jag fråga hur stor den här banan är? Hur många stationer, signaler och kopplade växlar handlar det om på ett ungefär?
__________________
-k-
korvtiger besöker inte forumet just nu   Svara med citat
Gammal 2016-05-15, 16:49   #4
MegaCastor
Medlem
 
Reg.datum: May 2011
Ort: Linköping
Inlägg: 32
Standard

Citat:
Ursprungligen postat av korvtiger Visa inlägg
Det verkar inte som att felen är kopplade till varandra i alla fall.

Det första felet är, om jag förstått vissa spekulationer på Trainz forum
rätt, att Trainz tycker att scriptet tagit för lång tid på sig att köra.
Låter väldigt skumt i mina öron då det är en helt egen tråd som körs
och kan avbrytas när som helst.
Låter rimligt. Det första felet dök upp i TANE och är inget som jag har stött på i gamla TS2010.
Det kan ju röra sig om en ny kontroll i TANE:s underliggande system som visar sig på detta sätt.

Citat:
Ursprungligen postat av korvtiger Visa inlägg
Men förstår jag dig rätt om detta felet bara dyker upp en gång när du startar och aldrig igen efter det, även om du köra omkring, lägger om växlar osv?
Korrekt.

Citat:
Ursprungligen postat av korvtiger Visa inlägg
Det är i alla fall kopplat till signaldelen av scriptet och uppkommer när scriptet försöker leta efter nästa blocksignal.
Det har inte med några referensloopar att göra i alla fall, då skulle du fått en lång upprepning av samma fel i den detaljerade felrapporten.
Det låter också rimligt.
Men det är ändå lite konstigt för banan saknar blocksignaler. Har det någon betydelse?

Citat:
Ursprungligen postat av korvtiger Visa inlägg
Jag misstänker dock att detta beror på att du har en spårloop någonstans på
din bana, så att sökningen efter nästa signal fastnar i loopen och kör runt, runt, runt.
Strukturen är ganska enkel med en dubbelspårig huvudlinje och
några enkelspåriga sidolinjer som slutar i ändstationer.
Jag har experimenterat med vändslingor i slutet på dessa linjer men
de är numera bortplockade.
Det blir ingen skillnad i beteendet med och utan dessa slingor. Skumt.

Citat:
Ursprungligen postat av korvtiger Visa inlägg
Verkar signalerna fortfarande fungera och uppdatera sig? För antingen borde
du få detta fel om och om igen, eller så borde signalerna sluta att fungera helt om jag förstår scriptet rätt!
Det första felet visar sig bara vid starten.
Därefter fungerar signalerna, i alla fall så långt det går att se när man kör på banan.

Citat:
Ursprungligen postat av korvtiger Visa inlägg
Det andra felet:
Verkar bero på scriptfunktionaliteten som kopplar dubbla växlar.
Meddelandekön innehåller massor med meddelanden ifrån växlar som har lagts om (toggled)
som scriptet inte hunnit med att kontrollera om de är kopplade med någon annan växel.
Det konstiga är att alla dessa växlar av någon anledning måste ha lagts om precis vid sessionens startande för att generera alla dessa meddelanden.
Dessutom förekommer samma växlar om och om igen i listan vilket är märkligt.
En hypotes:
Jag misstänker att detta kan ha att göra med att scriptet behöver
analyserar banan i uppstarten av sessionen.
Om skriptet behöver bygga upp en intern datastruktur som beskriver
banans layout så behöver scriptet söka igenom banan med TrackSearch
och notera var olika objekt som signaler och växlar finns.
Varje växel blir då ett vägval som leder till en ny del av banan.
Då behöver scriptet lägg om växlarna i tur och ordning och söka
igenom varje del för sig.

Citat:
Ursprungligen postat av korvtiger Visa inlägg
Du verkar ha många a och b-växlar, men det dyker inte upp några c och d-växlar i meddelandekön.
För det måste väl vara i dubbla engelsmän som du använder sådana växelkopplingar och då borde du väl även ha massor av c och d-växlar?
Flertalet av dessa a- och b-växlar är två enkla kopplade växlar till
exempel vid övergång från det ena spåret till det andra på en
dubbelspårig sträcka eller vid infarter till stationer.
Det är bekvämt att bara behöva lägga om den ena växeln trots att båda
läggas om samtidigt. Det finns några få engelsmän så det blir inte många
c- och d-växlar.

Citat:
Ursprungligen postat av korvtiger Visa inlägg
Får jag fråga hur stor den här banan är? Hur många stationer, signaler och kopplade växlar handlar det om på ett ungefär?
50 km huvudlinje och ett tiotal stationer varav några är lite större .
Jag återkommer om antalet signaler och kopplade växlar. Måste räkna lite.

/Magnus
MegaCastor besöker inte forumet just nu   Svara med citat
Gammal 2016-05-16, 21:30   #5
MegaCastor
Medlem
 
Reg.datum: May 2011
Ort: Linköping
Inlägg: 32
Standard

Citat:
Ursprungligen postat av MegaCastor Visa inlägg
Jag återkommer om antalet signaler och kopplade växlar. Måste räkna lite.
Räknat färdigt:
463 signalobjekt (masters, signal markers, klarerare)
474 växlar varav 16 ingår i 4 dubbla korsningsväxlar (a,b,c,d) och 134 ingår i kopplade växelpar (a,b).

/Magnus
MegaCastor besöker inte forumet just nu   Svara med citat
Gammal 2016-05-18, 23:26   #6
MegaCastor
Medlem
 
Reg.datum: May 2011
Ort: Linköping
Inlägg: 32
Standard

En uppdatering från felsökningen:

Som ett experiment ersatte jag alla länkade växlar med vanlig växlar.
Inga a,b,c,d i slutet på växelnamnen alltså.

Resultatet blev oförändrat. Felen finns kvar vid starten av sessionen.
Det verkar inte som om länkningen av växlar påverkar detta.

/Magnus
MegaCastor besöker inte forumet just nu   Svara med citat
Gammal 2016-05-20, 23:46   #7
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 728
Standard

Citat:
Ursprungligen postat av MegaCastor Visa inlägg
Låter rimligt. Det första felet dök upp i TANE och är inget som jag har stött på i gamla TS2010.
Det kan ju röra sig om en ny kontroll i TANE:s underliggande system som visar sig på detta sätt.
Uppstår Message overflow-felet i TS2010?
Sökningen skulle som du säger mycket väl kunna vara någon begränsning de lagt till i TANE av någon anledning.

Citat:
Ursprungligen postat av MegaCastor Visa inlägg
Det låter också rimligt.
Men det är ändå lite konstigt för banan saknar blocksignaler. Har det någon betydelse?
Det låter lite märkligt, vet faktiskt inte om det äldre systemet stödjer någon form av blocksignaler, men antagligen. Tror tillochmed att man hade semaforer som blocksignaler längs stambanorna utanför Stockholm, även om det fungerade på ett lite annorlunda sätt på den tiden.
Har kikat på koden och hittat en märklig sak. Svenolov har (som alla vettiga programmerare borde) lagt till en begränsning som gör att sökningen aldrig överstiger ett vist maxavstånd. Detta avstånd är valt till 10km. Detta gör det hela väldigt skumt, för alla spårloopar borde bara resultera i att sökningen terminerar, men av någon anledning pågår sökningen så länge att TANE får nog.
Det skumma är att anropet till sökningen verkar göras för varje signal en gång per sekund, vilket borde innebära att felet uppstår på nytt varje sekund, eller att felet skulle krascha hela signalbiblioteket, så att ingen signal fungerar. Inget av detta inträffar vilket är märkligt.

Citat:
Ursprungligen postat av MegaCastor Visa inlägg
En hypotes:
Jag misstänker att detta kan ha att göra med att scriptet behöver
analyserar banan i uppstarten av sessionen.
Om skriptet behöver bygga upp en intern datastruktur som beskriver
banans layout så behöver scriptet söka igenom banan med TrackSearch
och notera var olika objekt som signaler och växlar finns.
Varje växel blir då ett vägval som leder till en ny del av banan.
Då behöver scriptet lägg om växlarna i tur och ordning och söka
igenom varje del för sig.
En ganska vettig hypotes, men för att söka av spåret behöver inte växlarna faktiskt läggas om, utan scriptet borde själv klara av att hitta vidare på de två spåren. Men jag är ganska säker på att scriptet i början analyserar tågvägar på varje station för att hitta genomfartstågvägar, så det skulle kunna har något med det att göra. Men det borde vara så att den nöjer sig med att använda den lagda tågvägen från signal A till B som genomfartsväg. Ska kika och se om jag kan hitta någon sådan del av koden.

Citat:
Ursprungligen postat av MegaCastor Visa inlägg
Flertalet av dessa a- och b-växlar är två enkla kopplade växlar till
exempel vid övergång från det ena spåret till det andra på en
dubbelspårig sträcka eller vid infarter till stationer.
Det är bekvämt att bara behöva lägga om den ena växeln trots att båda
läggas om samtidigt. Det finns några få engelsmän så det blir inte många
c- och d-växlar.
Låter vettigt. Trodde att det var en enkelspårig bana med tanke på att du använde det gamla signalsystemet.


Citat:
Ursprungligen postat av MegaCastor Visa inlägg
Räknat färdigt:
463 signalobjekt (masters, signal markers, klarerare)
474 växlar varav 16 ingår i 4 dubbla korsningsväxlar (a,b,c,d) och 134 ingår i kopplade växelpar (a,b).
/Magnus
Det är ganska många signaler, men det verkar ju fungera fint när allt väl går igång! Det är också en väldigt hög andel kopplade växlar, men det hjälpte ju inte att ta bort kopplingen, så det är ju inte där felet ligger heller.

Citat:
Ursprungligen postat av MegaCastor Visa inlägg
En uppdatering från felsökningen:

Som ett experiment ersatte jag alla länkade växlar med vanlig växlar.
Inga a,b,c,d i slutet på växelnamnen alltså.

Resultatet blev oförändrat. Felen finns kvar vid starten av sessionen.
Det verkar inte som om länkningen av växlar påverkar detta.

/Magnus
Bytte du nummer på dem, så att de matchade udda/jämn riktning eller tog du bara bort a/b? Skulle kunna vara att scriptet blir förvirrat om det försöker hitta tågvägar och växlarna kommer i fel ordning.

Ett annan teori:
Har du några speciella rules som lägger om växlar i början av sessionen som skulle kunna vara inblandade?
__________________
-k-
korvtiger besöker inte forumet just nu   Svara med citat
Svara

Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av
Forumhopp



Alla tider är GMT +2. Klockan är nu 23:54.


Powered by vBulletin® Version 3.7.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
© Svenska 3D-Tåg 2001-2009