danielbrenom / MonsterLootHunter

A monster loot finder plugin for Dalamud / XIV Launcher
MIT License
3 stars 0 forks source link

Crashing #6

Closed Revonlieke closed 1 year ago

Revonlieke commented 1 year ago

Seems to be crashing the game when searching from context menu. "Yak Milk" for example crashed the game.

image

danielbrenom commented 1 year ago

Hello, Thanks for the report! I'll be looking into that error. Regards

danielbrenom commented 1 year ago

Hello @Revonlieke, Does this crash keeps happening? I've checked the Yak Milk item you mentioned, using the "Loot search" option on the context menu and it worked. Could you provide the log file where you got that unhandled exception you attached? That way I can check where in the code this error could have happened. Regards.

Scrxtchy commented 1 year ago

Crash occurs if you already have an imgui window open the erroring function is from the ImGui.TableSetupScrollFreeze at https://github.com/danielbrenom/MonsterLootHunter/blob/main/MonsterLootHunter/Windows/PluginUI.cs#L181

Crash Log ``` Unhandled native exception occurred at cimgui.dll+B8BB0 (igTreeNodeBehavior+0xB4983) Code: C0000005 Dump at: C:\Users\...\AppData\Roaming\XIVLauncher\addon\Hooks\9ff7eb80\..\..\..\dalamud_appcrash_20230329_014950_227_57644.dmp Time: 2023-03-29 01:49:53.7734118 AEDT at System.Environment.get_StackTrace() at Dalamud.EntryPoint.VehCallback() in C:\goatsoft\companysecrets\dalamud\EntryPoint.cs:line 70 at ImGuiNET.ImGuiNative.igTableSetupScrollFreeze(Int32 cols, Int32 rows) at ImGuiNET.ImGuiNative.igTableSetupScrollFreeze(Int32 cols, Int32 rows) at MonsterLootHunter.Windows.PluginUi.Draw() in /work/repo/MonsterLootHunter/Windows/PluginUI.cs:line 181 at Dalamud.Interface.Windowing.Window.DrawInternal() in C:\goatsoft\companysecrets\dalamud\Interface\Windowing\Window.cs:line 265 at Dalamud.Interface.Windowing.WindowSystem.Draw() in C:\goatsoft\companysecrets\dalamud\Interface\Windowing\WindowSystem.cs:line 122 at Dalamud.Utility.EventHandlerExtensions.HandleInvoke(Action act) in C:\goatsoft\companysecrets\dalamud\Utility\EventHandlerExtensions.cs:line 90 at Dalamud.Utility.EventHandlerExtensions.InvokeSafely(Action act) in C:\goatsoft\companysecrets\dalamud\Utility\EventHandlerExtensions.cs:line 65 at Dalamud.Interface.UiBuilder.OnDraw() in C:\goatsoft\companysecrets\dalamud\Interface\UiBuilder.cs:line 490 at ImGuiScene.RawDX11Scene.Render() in D:\a\Dalamud\Dalamud\lib\ImGuiScene\ImGuiScene\RawDX11Scene.cs:line 133 at Dalamud.Interface.Internal.InterfaceManager.PresentDetour(IntPtr swapChain, UInt32 syncInterval, UInt32 presentFlags) in C:\goatsoft\companysecrets\dalamud\Interface\Internal\InterfaceManager.cs:line 607 at Dalamud.Game.Framework.HandleFrameworkUpdate(IntPtr framework) in C:\goatsoft\companysecrets\dalamud\Game\Framework.cs:line 487 Exception Info #0 Address: C0000005 Flags: 0 Address: 7FF927748BB0 Parameters: 0, 4 Call Stack { [0] cimgui.dll+B8BB0 (igTreeNodeBehavior+0xB4983) [1] cimgui.dll+B8BB0 (igTreeNodeBehavior+0xB4983) [2] 7FF8C8421A9D } Registers { RAX: 28B9B2FFDE0 [28B9B2E0101] RBX: 0 RCX: 0 RDX: 1 R8: 28B9B2FFDE0 [28B9B2E0101] R9: 20107C0 R10: 24AAFE880D0 [24AAFE60000] R11: 937D9EE8B8 [24AD1C5DE40] R12: 0 R13: 24AD1C5DE40 [7FF8C6AB2438] R14: 100 R15: 24AD1C5DE40 [7FF8C6AB2438] RSI: 24AB503A530 [7FF88DF4C810] RDI: 28B78B091B0 RBP: 937D9EEC80 [937D9EED60] RSP: 937D9EEA90 [24B0216DF10] RIP: cimgui.dll+B8BB0 (igTreeNodeBehavior+0xB4983) } ```
Revonlieke commented 1 year ago

Yes it's the same as above^^ sorry for not responding sooner.

danielbrenom commented 1 year ago

Thank you both so much for this report! I'll look into it right away.

danielbrenom commented 1 year ago

Hello @Revonlieke and @Scrxtchy , Dalamud should deliver a new version of the plugin with a fix I've made. I'd like to ask you to test it when it's available and report if the issue was solved. I hope that it was. Regards.

Scrxtchy commented 1 year ago

I cloned the repo and built it myself from 37fc6b764dedcc1594f313bf0c7a445e79d1cab5, still facing the issue on the same line

Revonlieke commented 1 year ago

These lines are different for me. Otherwise the same error still happening.

image

danielbrenom commented 1 year ago

Thank you for reporting. The strange thing is that I wasn't able to reproduce this error. I've opened a different plugin window (and even MLH window) and did the loot search. As this seems to be happening cause of the table freeze, I'll remove it, the header being frozen is not that important.

danielbrenom commented 1 year ago

I've submitted the hotfix removing the column freeze from the UI. I hope that this resolves the issue and stops prevents your game from crashing. Sorry for the inconvenience. I'd like to ask you again to test it when it's available and report if the issue was solved. Regards.

danielbrenom commented 1 year ago

The hotfix is avaiable on the plugin installer. Will be waiting feedback if it was solved.

Scrxtchy commented 1 year ago

@danielbrenom this patch is working for me, nice job 🎉

Revonlieke commented 1 year ago

For me it has not. (removed some of the personal info from the file & modules section.)

It COULD be some conflict with another mod maybe.

dalamud_appcrash_20230331_154308_100_8948.log

danielbrenom commented 1 year ago

I'm starting to think that this could be a conflict with another mod, even though it shouldn't, as this is simply ImGui trying to render the table and failing to do so for some reason. It's even more troublesome that I wasn't able to reproduce this until this very moment. I've received some feedbacks about the plugin making the game crash, but none of the steps that were provided me got me to reproduce it :( I'm trying to understand what's happening but still am unable to do so. I'll keep trying to solve this issue completely.

danielbrenom commented 1 year ago

After some insight from people at Dalamud server, I've did some modifications on the code. I hope that now this issue is gone for good. If the plugin rendering now fails, as it seems to be the case, then it'll suggest using the legacy rendering strategy which I scrapped in favor of the current one. I hope that this fallback is able to make it render without issues if the default one fails. As soon as the plugin is updated, @Revonlieke I'll be waiting for feedback if it indeed solved it. Regards.

Revonlieke commented 1 year ago

Now it works, no issues. Good stuff! Thanks a lot for fixing it. :)