Quick Portal Manager standard edition (SP4 and later) in SP1

escd84

Active member
I do not understand the world anymore. All Pguy content is up to date and it all went up... until...

I had an extended database repair. After it was finished and I restarted the game completely, I get this messages from Quick Portal Manager. Also none of the 32 consist where generated.

Now I am at the end of my knowledge and do not know where to start to find the causes

- <kuid2:61392:5011:51> File soup.gs, Line 560, ER_Timeout
; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{0000000046B457C8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000181378B28: PortalManager}, refcount:52}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetConsistSoupFromAsset(Asset), line 547
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData(), line 492
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData2(), line 625
- <kuid2:61392:5011:51> File soup.gs, Line 561, ER_Timeout
; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{0000000046B457C8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000181378B28: PortalManager}, refcount:49}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetConsistSoupFromAsset(Asset), line 547
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData(), line 492
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData2(), line 625

I take a look in session layer and checked that everything is okay in Quick Portal Manager, get those.

- <kuid2:61392:5011:51> File portalmanager.gs, Line 588, ER_ArrayOutOfBounds; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{0000000046B457C8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000181378B28: PortalManager}, refcount:48}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetTargetConsistSoup(KUID,string,Soup), line 573
; <kuid2:61392:5011:51> function $void@PortalManagerHdl::SetPropertyValue(string,PropertyValue), line 1785
; <kuid2:61392:5011:51> function $void@HTMLPropertyGroup::SetPropertyValue(string,PropertyValue), line 1184
; <kuid2:61392:5011:51> function $void@PropertyObject::SetPropertyValue(string,GSObject,string), line 609
- <kuid2:61392:5011:51> File soup.gs, Line 561, ER_Timeout
; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{0000000046B457C8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000181378B28: PortalManager}, refcount:49}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetConsistSoupFromAsset(Asset), line 547
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData(), line 492
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData2(), line 625
- <kuid2:61392:5011:51> File portalmanager.gs, Line 588, ER_ArrayOutOfBounds
; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{0000000046B457C8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000181378B28: PortalManager}, refcount:48}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetTargetConsistSoup(KUID,string,Soup), line 573
; <kuid2:61392:5011:51> function $void@PortalManagerHdl::SetPropertyValue(string,PropertyValue), line 1785
; <kuid2:61392:5011:51> function $void@HTMLPropertyGroup::SetPropertyValue(string,PropertyValue), line 1184
; <kuid2:61392:5011:51> function $void@PropertyObject::SetPropertyValue(string,GSObject,string), line 609
- <kuid2:61392:5011:51> File soup.gs, Line 561, ER_Timeout
; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{0000000046B457C8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000181378B28: PortalManager}, refcount:49}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetConsistSoupFromAsset(Asset), line 547
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData(), line 492
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData2(), line 625
- <kuid2:61392:5011:51> File portalmanager.gs, Line 588, ER_ArrayOutOfBounds
; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{0000000046B457C8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000181378B28: PortalManager}, refcount:48}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetTargetConsistSoup(KUID,string,Soup), line 573
; <kuid2:61392:5011:51> function $void@PortalManagerHdl::SetPropertyValue(string,PropertyValue), line 1785
; <kuid2:61392:5011:51> function $void@HTMLPropertyGroup::SetPropertyValue(string,PropertyValue), line 1184
; <kuid2:61392:5011:51> function $void@PropertyObject::SetPropertyValue(string,GSObject,string), line 609
- <kuid2:61392:5011:51> File soup.gs, Line 561, ER_Timeout
; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{0000000046B457C8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000181378B28: PortalManager}, refcount:49}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetConsistSoupFromAsset(Asset), line 547
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData(), line 492
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData2(), line 625
- <kuid2:61392:5011:51> File portalmanager.gs, Line 588, ER_ArrayOutOfBounds
; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{0000000046B457C8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000181378B28: PortalManager}, refcount:48}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetTargetConsistSoup(KUID,string,Soup), line 573
; <kuid2:61392:5011:51> function $void@PortalManagerHdl::SetPropertyValue(string,PropertyValue), line 1785
; <kuid2:61392:5011:51> function $void@HTMLPropertyGroup::SetPropertyValue(string,PropertyValue), line 1184
; <kuid2:61392:5011:51> function $void@PropertyObject::SetPropertyValue(string,GSObject,string), line 609
- <kuid2:61392:5011:51> File soup.gs, Line 561, ER_Timeout
; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{0000000046B457C8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000181378B28: PortalManager}, refcount:49}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetConsistSoupFromAsset(Asset), line 547
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData(), line 492
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData2(), line 625
 
Second Try:

Delect QPM with all settings from session, close surveyor, db repair, close game completly, restart game and session and add a blank QPM again to session

- <kuid2:61392:5011:51> File soup.gs, Line 121, ER_Timeout; <kuid2:61392:5011:51> Script class: PortalManager
; <kuid2:61392:5011:51> Object: ScriptableObject{000000010E4231A8; asset:SpecReference{<kuid2:61392:5011:51> "Quick Portal Manager standard edition (SP4 and later)"}, class:GSClass{0000000141C9CB88: PortalManager}, refcount:13}
; <kuid2:61392:5011:51> Script callstack
; <kuid2:61392:5011:51> function $bool@Soup::GetNamedTagAsBool(string), line 121
; <kuid2:61392:5011:51> function $Soup@PortalManager::GetConsistSoupFromAsset(Asset), line 561
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData(), line 492
; <kuid2:61392:5011:51> function $void@PortalManager::RefreshCachedConsistData2(), line 625
 
Last edited:
Hi escd84.

Currently QPM needs for its internal data usage to build a cache containing a copy of all consist assets definition in your configuration. Though the building routine includes some script code to avoid timeouts on big consist configuration, it seems that here this does not work either because there are too many consists definition or some consist definition have a huge number of trainz vehicles defined.

So, it should be considered as a probable bug and needs some fix in the code to avoid timeouts. Creating a new QPM v52 fixing this problem should be looked at as soon as possible this morning, but ! cannot tell you how long it will take to be fixed.

Meanwhile, the only thing you can do to try to avoid the problem is to look at all your consists definition, and suppress the consist definitions you no longer use (often we add new consists definition but we nether suppress any and after some time there might be a lot of no longer used consist definitions) . You may also pay attention to any consist definition with quite a lot of vehicles that may cause the problem.

I may contact you by PM for testing some new version of QPM with some new timeout protection. Currently the building routine should already protected for too many consists definition but is not protected at all about consist definition with too many vehicles …

Doing my best to come back to you soon.
Regards.
Pierre.
 
Last edited:
Hello Pierre,

thanks you for your efforts again.

Meanwhile, the only thing you can do to try to avoid the problem is to look at all your consists definition, and suppress the consist definitions you no longer use (often we add new consists definition but we nether suppress any and after some time there might be a lot of no longer used consist definitions).

That fixed the bug as far as I can see. I have many different consist for some countries, I separated some and reduced the number. I had almost 300 consist, but I think there are people who will have more and they will certainly have the problem at some point. Maybe there were also problems because some have the exact same name and that's always problematic (not for me, for the game).
 
I ran into an issue myself with my portals taking a very, very long time to load and then I had a hard crash that required an EDR to recover. I went as far as to replace my route with a backup. After recovery, I couldn't open up that route, or any of my active routes at all due to Trainz crashing to the desktop immediately.

After looking around, I checked the most recent thing related to portals and I remember the updated Quick Portal Manager. I removed that and everything was fine. It was nearly 3:00 am when I finally was able to open things up so I went to bed happy! Today I did more troubleshooting and found I had both the older, pre SP4 and the current version installed. After deleting the old version, I am now able to load up everything fine.

I know this isn't related to this specifically, but it's something for people to be aware of especially if they have imported older routes and sessions which have the older QPM as a dependency since the new version does not obsolete the old one.
 
Back
Top