RealmofThrones / Wiki

MIT License
1 stars 0 forks source link

Crash upon NPC conversation #1

Closed paddotk closed 2 months ago

paddotk commented 2 months ago

Bug: The game crashes when talking to NPCs in towns.

Reproduction:

I installed the mod and its prerequisites and started playing. When I speak to one of the NPCs in the starting town (the quest givers, not merchants), through the town overview menu, I can select the option to introduce myself, but as soon as I click a speech option, the game crashes.

My character is of the YiTi culture and the starting town is the eastermost one in Essos.

A little disclaimer; I'm running game version v1.2.9 with the latest RoT version (for v1.2.10), because there's no version for 1.2.9. Based on what little I know and can guess though, I suspect the game/mod version isn't the problem here. Hopefully you can manage to fix it, I'm very much looking forward to play this :)

Error stack traces:

Exception

Exception Information:
Type: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Stacktrace:

    at object RuntimeMethodHandle.InvokeMethod(object target, object[] arguments, Signature sig, bool constructor)
    at object System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(object obj, object[] parameters, object[] arguments)
    at object System.Reflection.RuntimeMethodInfo.Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)
    at object TaleWorlds.Library.Common.InvokeWithLog(MethodInfo methodInfo, object obj, params object[] args)
    at void TaleWorlds.Library.ViewModel.ExecuteCommand_Patch1(ViewModel this, string commandName, object[] parameters)
    at void TaleWorlds.GauntletUI.Data.GauntletView.OnCommand(string command, object[] args)
    at void TaleWorlds.GauntletUI.BaseTypes.Widget.EventFired(string eventName, params object[] args)
    at void TaleWorlds.GauntletUI.BaseTypes.ButtonWidget.HandleClick()
    at void TaleWorlds.GauntletUI.BaseTypes.ButtonWidget.OnMouseReleased()
    at void TaleWorlds.GauntletUI.EventManager.MouseUp()
    at void TaleWorlds.GauntletUI.UIContext.UpdateInput(InputType handleInputs)
    at void TaleWorlds.ScreenSystem.ScreenManager.Update()
    at void TaleWorlds.ScreenSystem.ScreenManager.Tick_Patch1(float dt, bool activeMouseVisible)

Inner Exception Information:
Potential Source Module Id: [ROT-Core]
Type: System.MissingMethodException
Message: Method not found: 'TaleWorlds.Localization.TextObject TaleWorlds.Localization.TextObject.get_Empty()'.
Stacktrace:

    at void ROT.CampaignBehaviors.ROTEnlistmentBehavior.OnSessionLaunched(CampaignGameStarter campaignGameStarter)+(out TextObject explanation) => { } [0] in C:/Users/Ron/Documents/GitHub/ROT/CampaignBehaviors/ROTEnlistmentBehavior.cs:line 321
    at bool TaleWorlds.CampaignSystem.Conversation.ConversationSentence.RunClickableCondition()
    at List<ConversationSentenceOption> TaleWorlds.CampaignSystem.Conversation.ConversationManager.GetSentenceOptions(bool onlyPlayer, bool processAfterOneOption)
    at void TaleWorlds.CampaignSystem.Conversation.ConversationManager.GetPlayerSentenceOptions()
    at void TaleWorlds.CampaignSystem.ViewModelCollection.Conversation.MissionConversationVM.Refresh()
    at void TaleWorlds.CampaignSystem.ViewModelCollection.Conversation.MissionConversationVM.OnConversationContinue()
    at bool TaleWorlds.CampaignSystem.Conversation.ConversationManager.ProcessPartnerSentence()
    at void TaleWorlds.CampaignSystem.Conversation.ConversationManager.ContinueConversation()
    at void TaleWorlds.CampaignSystem.ViewModelCollection.Conversation.MissionConversationVM.ExecuteContinue()
    at void SandBox.GauntletUI.Map.GauntletMapConversationView.ProcessConversationState(ConversationStates state)
    at void SandBox.GauntletUI.Map.GauntletMapConversationView.OnContinue()

Enhanced stacktrace:

Frame: void ROT.CampaignBehaviors.ROTEnlistmentBehavior.OnSessionLaunched(CampaignGameStarter campaignGameStarter)+(out TextObject explanation) => { } [0]
Executing Method:

    Module Id: [ROT-Core]
    Method: System.Boolean ROT.CampaignBehaviors.ROTEnlistmentBehavior::<OnSessionLaunched>b__33_0(TaleWorlds.Localization.TextObject& explanation)
    Method From Stackframe Issue: False
    Approximate IL Offset: UNKNOWN
    Native Offset: 0000
    [+ IL:]
    [+ IL with C#:]
    [+ C#:] 

Frame: bool TaleWorlds.CampaignSystem.Conversation.ConversationSentence.RunClickableCondition()
Executing Method:

    Method: System.Boolean TaleWorlds.CampaignSystem.Conversation.ConversationSentence::RunClickableCondition()
    Method From Stackframe Issue: False
    Approximate IL Offset: 000A
    Native Offset: 0027
    [+ IL:]
    [+ Native (NASM):] 

Frame: List<ConversationSentenceOption> TaleWorlds.CampaignSystem.Conversation.ConversationManager.GetSentenceOptions(bool onlyPlayer, bool processAfterOneOption)
Executing Method:

    Method: System.Collections.Generic.List`1<TaleWorlds.CampaignSystem.Conversation.ConversationSentenceOption> TaleWorlds.CampaignSystem.Conversation.ConversationManager::GetSentenceOptions(System.Boolean onlyPlayer, System.Boolean processAfterOneOption)
    Method From Stackframe Issue: False
    Approximate IL Offset: 0057
    Native Offset: 014C
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.CampaignSystem.Conversation.ConversationManager.GetPlayerSentenceOptions()
Executing Method:

    Method: System.Void TaleWorlds.CampaignSystem.Conversation.ConversationManager::GetPlayerSentenceOptions()
    Method From Stackframe Issue: False
    Approximate IL Offset: 0000
    Native Offset: 0037
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.CampaignSystem.ViewModelCollection.Conversation.MissionConversationVM.Refresh()
Executing Method:

    Method: System.Void TaleWorlds.CampaignSystem.ViewModelCollection.Conversation.MissionConversationVM::Refresh()
    Method From Stackframe Issue: False
    Approximate IL Offset: 032D
    Native Offset: 0870
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.CampaignSystem.ViewModelCollection.Conversation.MissionConversationVM.OnConversationContinue()
Executing Method:

    Method: System.Void TaleWorlds.CampaignSystem.ViewModelCollection.Conversation.MissionConversationVM::OnConversationContinue()
    Method From Stackframe Issue: False
    Approximate IL Offset: 0036
    Native Offset: 003E
    [+ IL:]
    [+ Native (NASM):] 

Frame: bool TaleWorlds.CampaignSystem.Conversation.ConversationManager.ProcessPartnerSentence()
Executing Method:

    Method: System.Boolean TaleWorlds.CampaignSystem.Conversation.ConversationManager::ProcessPartnerSentence()
    Method From Stackframe Issue: False
    Approximate IL Offset: 0034
    Native Offset: 00AC
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.CampaignSystem.Conversation.ConversationManager.ContinueConversation()
Executing Method:

    Method: System.Void TaleWorlds.CampaignSystem.Conversation.ConversationManager::ContinueConversation()
    Method From Stackframe Issue: False
    Approximate IL Offset: 005A
    Native Offset: 003C
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.CampaignSystem.ViewModelCollection.Conversation.MissionConversationVM.ExecuteContinue()
Executing Method:

    Method: System.Void TaleWorlds.CampaignSystem.ViewModelCollection.Conversation.MissionConversationVM::ExecuteContinue()
    Method From Stackframe Issue: False
    Approximate IL Offset: 0021
    Native Offset: 0037
    [+ IL:]
    [+ Native (NASM):] 

Frame: void SandBox.GauntletUI.Map.GauntletMapConversationView.ProcessConversationState(ConversationStates state)
Executing Method:

    Module Id: [Sandbox]
    Method: System.Void SandBox.GauntletUI.Map.GauntletMapConversationView::ProcessConversationState(SandBox.GauntletUI.Map.ConversationStates state)
    Method From Stackframe Issue: False
    Approximate IL Offset: 0044
    Native Offset: 0080
    [+ IL:]
    [+ Native (NASM):] 

Frame: void SandBox.GauntletUI.Map.GauntletMapConversationView.OnContinue()
Executing Method:

    Module Id: [Sandbox]
    Method: System.Void SandBox.GauntletUI.Map.GauntletMapConversationView::OnContinue()
    Method From Stackframe Issue: False
    Approximate IL Offset: 0060
    Native Offset: 007B
    [+ IL:]
    [+ Native (NASM):] 

Frame: object RuntimeMethodHandle.InvokeMethod(object target, object[] arguments, Signature sig, bool constructor)
Executing Method:

    Method: static System.Object System.RuntimeMethodHandle::InvokeMethod(System.Object target, System.Object[] arguments, System.Signature sig, System.Boolean constructor)
    Method From Stackframe Issue: False
    Approximate IL Offset: UNKNOWN
    Native Offset: 0000
    [+ IL with C#:]
    [+ C#:]
    [+ Native (NASM):] 

Frame: object System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(object obj, object[] parameters, object[] arguments)
Executing Method:

    Method: System.Object System.Reflection.RuntimeMethodInfo::UnsafeInvokeInternal(System.Object obj, System.Object[] parameters, System.Object[] arguments)
    Method From Stackframe Issue: False
    Approximate IL Offset: 0039
    Native Offset: 0076
    [+ IL:]
    [+ IL with C#:]
    [+ C#:]
    [+ Native (NASM):] 

Frame: object System.Reflection.RuntimeMethodInfo.Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)
Executing Method:

    Method: virtual System.Object System.Reflection.RuntimeMethodInfo::Invoke(System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
    Method From Stackframe Issue: False
    Approximate IL Offset: 006C
    Native Offset: 00B6
    [+ IL:]
    [+ IL with C#:]
    [+ C#:]
    [+ Native (NASM):] 

Frame: object TaleWorlds.Library.Common.InvokeWithLog(MethodInfo methodInfo, object obj, params object[] args)
Executing Method:

    Method: static System.Object TaleWorlds.Library.Common::InvokeWithLog(System.Reflection.MethodInfo methodInfo, System.Object obj, System.Object[] args)
    Method From Stackframe Issue: False
    Approximate IL Offset: 0017
    Native Offset: 0078
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.Library.ViewModel.ExecuteCommand_Patch1(ViewModel this, string commandName, object[] parameters)
Executing Method:

    Method: virtual System.Void TaleWorlds.Library.ViewModel::ExecuteCommand(System.String commandName, System.Object[] parameters)
    Method From Stackframe Issue: False
    Approximate IL Offset: UNKNOWN
    Native Offset: 027C
    [+ IL:]
    [+ Native (NASM):] 

Patch Methods:

    Type: Harmony
    Patch Type: Prefix
    Module Id: [Bannerlord.UIExtenderEx]
    Method: static System.Boolean Bannerlord.UIExtenderEx.Patches.ViewModelPatch::ExecuteCommandPatch(System.Object __instance, System.String commandName, System.Object[] parameters)
    [+ IL:]
    [+ IL with C#:]
    [+ C#:] 

Frame: void TaleWorlds.GauntletUI.Data.GauntletView.OnCommand(string command, object[] args)
Executing Method:

    Method: System.Void TaleWorlds.GauntletUI.Data.GauntletView::OnCommand(System.String command, System.Object[] args)
    Method From Stackframe Issue: False
    Approximate IL Offset: 00EB
    Native Offset: 019A
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.GauntletUI.BaseTypes.Widget.EventFired(string eventName, params object[] args)
Executing Method:

    Method: System.Void TaleWorlds.GauntletUI.BaseTypes.Widget::EventFired(System.String eventName, System.Object[] args)
    Method From Stackframe Issue: False
    Approximate IL Offset: 0020
    Native Offset: 005B
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.GauntletUI.BaseTypes.ButtonWidget.HandleClick()
Executing Method:

    Method: virtual System.Void TaleWorlds.GauntletUI.BaseTypes.ButtonWidget::HandleClick()
    Method From Stackframe Issue: False
    Approximate IL Offset: 008C
    Native Offset: 0156
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.GauntletUI.BaseTypes.ButtonWidget.OnMouseReleased()
Executing Method:

    Method: virtual System.Void TaleWorlds.GauntletUI.BaseTypes.ButtonWidget::OnMouseReleased()
    Method From Stackframe Issue: False
    Approximate IL Offset: 0050
    Native Offset: 00BE
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.GauntletUI.EventManager.MouseUp()
Executing Method:

    Method: System.Void TaleWorlds.GauntletUI.EventManager::MouseUp()
    Method From Stackframe Issue: False
    Approximate IL Offset: 00AA
    Native Offset: 01DE
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.GauntletUI.UIContext.UpdateInput(InputType handleInputs)
Executing Method:

    Method: System.Void TaleWorlds.GauntletUI.UIContext::UpdateInput(TaleWorlds.Library.InputType handleInputs)
    Method From Stackframe Issue: False
    Approximate IL Offset: 00A5
    Native Offset: 0129
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.ScreenSystem.ScreenManager.Update()
Executing Method:

    Method: static System.Void TaleWorlds.ScreenSystem.ScreenManager::Update()
    Method From Stackframe Issue: False
    Approximate IL Offset: 009D
    Native Offset: 0117
    [+ IL:]
    [+ Native (NASM):] 

Frame: void TaleWorlds.ScreenSystem.ScreenManager.Tick_Patch1(float dt, bool activeMouseVisible)
Executing Method:

    Method: static System.Void TaleWorlds.ScreenSystem.ScreenManager::Tick(System.Single dt, System.Boolean activeMouseVisible)
    Method From Stackframe Issue: False
    Approximate IL Offset: UNKNOWN
    Native Offset: 0095
    [+ IL:]
    [+ Native (NASM):] 

Patch Methods:

    Type: Harmony
    Patch Type: Finalizer
    Module Id: [Bannerlord.ButterLib]
    Method: static System.Void Bannerlord.ButterLib.ExceptionHandler.BEWPatch::Finalizer(System.Exception __exception)
    [+ IL:]
    [+ IL with C#:]
    [+ C#:]

Additional info

I unblocked all .dll's in all mods.

Mods and load order:

paddotk commented 2 months ago

Follow up, I found there actually is a 1.2.9 version of ROT (was in the middle of the downloads list, so I overlooked it). My apologies. v1.2.9 works fine, so far, so feel free to close this if you don't think it relevant.

ItzT3xas commented 2 months ago

We don't look at crash reports via this wiki, if you have a issue for the wiki it can be posted here, and we can fix it, all crashes should be posted in the discord