![]() |
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. |
|
Registrera | Members Area | FAQ | Medlemslista | Community-ware/Modell-shop | Sök | Dagens inlägg | Markera forum som lästa |
![]() |
|
Ämnesverktyg | Visningsalternativ |
|
![]() |
#1 |
Medlem
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 728
|
![]()
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- |
![]() |
![]() |
![]() |
#2 | ||
Medlem
Reg.datum: May 2011
Ort: Linköping
Inlägg: 32
|
![]() Citat:
Problemet finns dock kvar. Citat:
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 |
||
![]() |
![]() |
![]() |
#3 |
Medlem
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 728
|
![]()
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- |
![]() |
![]() |
![]() |
#4 | ||||||||
Medlem
Reg.datum: May 2011
Ort: Linköping
Inlägg: 32
|
![]() Citat:
Det kan ju röra sig om en ny kontroll i TANE:s underliggande system som visar sig på detta sätt. Citat:
Citat:
Men det är ändå lite konstigt för banan saknar blocksignaler. Har det någon betydelse? Citat:
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:
Därefter fungerar signalerna, i alla fall så långt det går att se när man kör på banan. Citat:
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:
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:
![]() Jag återkommer om antalet signaler och kopplade växlar. Måste räkna lite. /Magnus |
||||||||
![]() |
![]() |
![]() |
#5 |
Medlem
Reg.datum: May 2011
Ort: Linköping
Inlägg: 32
|
![]() |
![]() |
![]() |
![]() |
#6 |
Medlem
Reg.datum: May 2011
Ort: Linköping
Inlägg: 32
|
![]()
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 |
![]() |
![]() |
![]() |
#7 | ||||||
Medlem
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 728
|
![]() Citat:
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:
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:
Citat:
![]() Citat:
Citat:
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- |
||||||
![]() |
![]() |
![]() |
Ämnesverktyg | |
Visningsalternativ | |
|
|