Open t1a2l opened 4 years ago
Supporting log files (TMPE.log has nice list of enabled mods):
krzychu from TMPE team tested Senior Citizen mod on vanilla game with debugger attached - with DLCs active, the error occurs as the DLCs add additional filter buttons
Transcript form #support chat (initially based on log files from t1a2l):
aubergine18
Ok, let's take this from the top...
These are the mods you have active in those last log files:* 707497031 Tram Station Track * 515489008 Extra Train Station Tracks * 554232266 SeniorCitizenCenterMod * 667342976 Loading Screen Mod * 1637663252 TM:PE 11.0 STABLE * 530771650 Prefab Hook * 408905948 Pause on load * 1412844620 Realistic Walking Speed * 812125426 Network Extensions 2 * 724382534 One-Way Train Tracks * 1619685021 Move It 2.6.0 * 1938493221 Mini FPS Booster 1.0 * 694123443 American Traffic Lights * 1420955187 Real Time * 426163185 WG Realistic Population v8.4.0 * 1394468624 Advanced Stop Selection * 816260433 Metro Overhaul * 1548831935 Advanced Vehicle Options 1.8.5 * 654707599 WG Citizen Lifecycle Rebalance v2.6
Out of those mods, these are the only ones that affect UI stuff in any way:
* 1548831935 Advanced Vehicle Options 1.8.5 - has its own UI
* 816260433 Metro Overhaul - has its own UI
* 1420955187 Real Time - subtle updates to citizen/vehicle info panels
* 1619685021 Move It 2.6.0 - has its own UI
* 1637663252 TM:PE 11.0 STABLE - has its own UI
* 667342976 Loading Screen Mod - only updates loading screen
* 554232266 SeniorCitizenCenterMod - updates several parts of game UI, including citizen info panel and healthcare panel
At line 30914 in the output log, there's an Array Index error.
at GeneratedScrollPanel.IntializeUIAssetFilters
My guess is there's an incompatibility between Senior Citizen mod and Real Time
krzychu124
I've just catched that error in debugger xD Let's see what we've got here, lol
aubergine18
Or it could just be Senior Citizen mod on its own. The log entries before and after the array index error are:
SeniorCitizenCenterMod: PanelHelper.handleBuildingInfoPanel: Reset upkeep color back to: RGBA(254, 159, 0, 255)
-- big array index error --
SeniorCitizenCenterMod: CustomBasePanel.OnButtonClicked -- Component Clicked: 575176523.Basic 4 Star Nursing Home_Data (ColossalFramework.UI.UIButton)
The same array index error is also appearing at line 35529 in the log file, and it's again wrapped in a Senior Citizen task:
SeniorCitizenCenterMod: NursingHomeInitializer.attemptInitialization -- initHealthcareMenu -- End
-- big array index error --
So it's when Senior Citizen mod is updating UI that it's breaking and spitting those errors in to logs.
krzychu124
Something is weird there
aubergine18
Then there's the two System.IO.EndOfStreamException: Failed to read past end of stream. errors (starting line 35567) which may or may not be related; something's put data in to the save game that seems broken.
krzychu124
I can say that error occured because I subscribed Senior Citizen mod :)
I must check if I enabled dependent assets
Looks likeTargetInvocationException
is caused from Senior Citizen mod (CustomHeltcarePanel
)
It's not missing UI but broken UI filter (18 buttons by default - 42 in my game currently) I have no idea which mod add filters
aubergine18
filter?
krzychu124
digging
but it looks like filter buttons count doesn't match up with list of components in UIFilterPanel
aubergine18
is that on the build menu bars? like on trees menu there's different size trees, and some menus have workshop icon to filter to workshop assets?
krzychu124
I think, it's hard to say, but some button names are:
UIFilterBigBuildings
,UIFilterSmallTree
,UIFilterNetProps
etc..
aubergine18
yup those are the ones i'm thinking about
krzychu124
UIFilterPanel
contains 42 filter buttons but there are only 18 filter types
aubergine18
one type can have multiple filters IIRC ? so tree has like 5 maybe 6?
krzychu124
and for each
UIFilter
component there should be filter type with matching array index of state(visible or not)
aubergine18
DLCs add them maybe? if filters are added without altering the array length, that will give the array index error as
UIFilter
will look for button index in the array...?
MOM might add some, not used it in a long time. But I know they did a load of UI work in v9
krzychu124
I don't have mom, I only subscribed to SeniorCitizen and it throws error clicking on Helthcare panel button
It's weird, because it works without that mod xd
It looks like GeneratedScrollPanel.Awake()
was called twice because field m_UIFilterPanel
contains double amount of UI components. Filter panel should have 21 components - 18 buttons and 3 separators, but I can see 42 components (in HealthCarePanel).
As you can see on the second screenshot the list of components is duplicated. Probably something went wrong while you were replacing HealthcarePanel (memory leak?)
When you call Destroy
, GameObject
is destroyed at the end of the frame(not immediately)
So are you saying I should wait a frame after deleting the HealthcareGroupPanel before creating a new one?
SeniorCitizenCenterMod: NursingHomeInitializer.attemptInitialization -- initHealthcareMenu -- End
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Fallback handler could not load library E:/Program Files (x86)/Steam/steamapps/common/Cities_Skylines/Cities_Data/Mono/libc Fallback handler could not load library E:/Program Files (x86)/Steam/steamapps/common/Cities_Skylines/Cities_Data/Mono/.\libc Fallback handler could not load library E:/Program Files (x86)/Steam/steamapps/common/Cities_Skylines/Cities_Data/Mono/libc System.TypeInitializationException: An exception was thrown by the type initializer for Mono.CSharp.CSharpCodeCompiler ---> System.IO.FileNotFoundException: Windows mono path not found: E:\Program Files (x86)\Steam\steamapps\mono\mono\mini\mono.exe at Mono.CSharp.CSharpCodeCompiler..cctor () [0x00000] in:0
--- End of inner exception stack trace ---
at Microsoft.CSharp.CSharpCodeProvider.CreateCompiler () [0x00000] in :0
at System.Xml.Serialization.XmlSerializer.GenerateSerializers (System.Xml.Serialization.GenerationBatch batch, System.CodeDom.Compiler.CompilerParameters cp) [0x00000] in :0
at System.Xml.Serialization.XmlSerializer.RunSerializerGeneration (System.Object obj) [0x00000] in :0
SeniorCitizenCenterMod: NursingHomeInitializer.attemptInitialization -- initHealthcareMenu -- Start
SeniorCitizenCenterMod: NursingHomeInitializer.attemptInitialization -- initHealthcareMenu -- End
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
IndexOutOfRangeException: Array index is out of range. at GeneratedScrollPanel.IntializeUIAssetFilters () [0x00000] in:0
at GeneratedScrollPanel.OnVisibilityChanged (ColossalFramework.UI.UIComponent comp, Boolean isVisible) [0x00000] in :0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in :0
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in :0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in :0
at ColossalFramework.UI.UIComponent.Invoke (UnityEngine.GameObject target, System.String eventName, System.Object[] args) [0x00000] in :0
at ColossalFramework.UI.UIComponent.Invoke (System.String eventName, System.Object[] args) [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnVisibilityChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnVisibilityChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnVisibilityChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.set_isVisible (Boolean value) [0x00000] in :0
at ColossalFramework.UI.UITabContainer.SelectPageByIndex (Int32 value) [0x00000] in :0
at ColossalFramework.UI.UITabContainer.set_selectedIndex (Int32 value) [0x00000] in :0
at ColossalFramework.UI.UITabstrip.SelectTabByIndex (Int32 value) [0x00000] in :0
at ColossalFramework.UI.UITabstrip.set_selectedIndex (Int32 value) [0x00000] in :0
at ColossalFramework.UI.UITabstrip.OnClick (ColossalFramework.UI.UIMouseEventParameter p) [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnClick (ColossalFramework.UI.UIMouseEventParameter p) [0x00000] in :0
at ColossalFramework.UI.UIButton.OnClick (ColossalFramework.UI.UIMouseEventParameter p) [0x00000] in :0
at ColossalFramework.UI.UIInput+MouseHandler.ProcessInput (IInputTranslator translator, Ray ray, ColossalFramework.UI.UIComponent component, Boolean retainFocusSetting) [0x00000] in :0
at ColossalFramework.UI.UIInput.ProcessMouseInput () [0x00000] in :0
at ColossalFramework.UI.UIInput.Update () [0x00000] in :0
SeniorCitizenCenterMod: PanelHelper.handleBuildingInfoPanel: Reset upkeep color back to: RGBA(254, 159, 0, 255)
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
NullReferenceException: Object reference not set to an instance of an object at ColossalFramework.UI.UIComponent.EnsureLayoutExists () [0x00000] in:0
at ColossalFramework.UI.UIComponent.EnsureLayoutExists () [0x00000] in :0
at ColossalFramework.UI.UIComponent.EnsureLayoutExists () [0x00000] in :0
at ColossalFramework.UI.UIComponent.ResetLayout (Boolean recursive, Boolean force) [0x00000] in :0
at ColossalFramework.UI.UIComponent.ResetLayout () [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnSizeChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.set_size (Vector2 value) [0x00000] in :0
at ColossalFramework.UI.UIComponent.FitChildrenVertically (Single margin) [0x00000] in :0
at ColossalFramework.UI.UIPanel.AutoArrange () [0x00000] in :0
at ColossalFramework.UI.UIPanel.ChildInvalidatedLayout () [0x00000] in :0
at ColossalFramework.UI.UIPanel.ChildInvalidated (ColossalFramework.UI.UIComponent child, Vector2 value) [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnSizeChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.set_size (Vector2 value) [0x00000] in :0
at ColossalFramework.UI.UIComponent.FitChildrenVertically (Single margin) [0x00000] in :0
at ColossalFramework.UI.UIPanel.AutoArrange () [0x00000] in :0
at ColossalFramework.UI.UIPanel.ChildInvalidatedLayout () [0x00000] in :0
at ColossalFramework.UI.UIPanel.ChildInvalidated (ColossalFramework.UI.UIComponent child, Vector2 value) [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnPositionChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.set_relativePosition (Vector3 value) [0x00000] in :0
at ColossalFramework.UI.UIAnchorLayout.PerformLayoutAbsolute (Vector2 parentSize, Vector2 componentSize) [0x00000] in :0
at ColossalFramework.UI.UIAnchorLayout.PerformLayoutInternal () [0x00000] in :0
at ColossalFramework.UI.UIAnchorLayout.PerformLayout () [0x00000] in :0
at ColossalFramework.UI.UIComponent.PerformLayout () [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnSizeChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.set_size (Vector2 value) [0x00000] in :0
at ColossalFramework.UI.UIAnchorLayout.PerformLayoutAbsolute (Vector2 parentSize, Vector2 componentSize) [0x00000] in :0
at ColossalFramework.UI.UIAnchorLayout.PerformLayoutInternal () [0x00000] in :0
at ColossalFramework.UI.UIAnchorLayout.PerformLayout () [0x00000] in :0
at ColossalFramework.UI.UIComponent.PerformLayout () [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnSizeChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.set_size (Vector2 value) [0x00000] in :0
at ColossalFramework.UI.UIComponent.FitChildrenVertically (Single margin) [0x00000] in :0
at ColossalFramework.UI.UIPanel.AutoArrange () [0x00000] in :0
at ColossalFramework.UI.UIPanel.ChildInvalidatedLayout () [0x00000] in :0
at ColossalFramework.UI.UIPanel.ChildIsVisibleChanged (ColossalFramework.UI.UIComponent child, Boolean value) [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnVisibilityChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnVisibilityChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnVisibilityChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.OnVisibilityChanged () [0x00000] in :0
at ColossalFramework.UI.UIComponent.set_isVisible (Boolean value) [0x00000] in :0
at ColossalFramework.UI.UIComponent.Hide () [0x00000] in :0
at WorldInfoPanel.HideAllWorldInfoPanels () [0x00000] in :0
at DefaultTool.OpenWorldInfoPanel (InstanceID id, Vector3 position) [0x00000] in :0
at DefaultTool.OnToolGUI (UnityEngine.Event e) [0x00000] in :0
at ToolBase.OnGUI () [0x00000] in :0