Hekili Priority Helper

Hekili Priority Helper

53M Downloads

"INT_DIVIDE_BY_ZERO" Crash Misattributed to Hekili

Closed this issue · 20 comments

commented

Before You Begin

  • I confirm that I have downloaded the latest version of the addon.
  • I am not playing on a private server.
  • I checked for an existing, open ticket for this issue and was not able to find one.
  • I edited the title of this bug report (above) so that it describes the issue I am reporting.

Describe the Issue

Wow sometimes hard crashes with a divide by zero error when accessing the character pane, shift click to compare items, drilling down in the reputations, or when mouseover a currency item in the character pane (e.g. fishing derby coins).

Addon Version:
Hekili v11.1.0-1.0.22 (and .21, .20a+)

How to Reproduce

Inconsistent behavior that occurs when accessing the character pane - gear, rep, currencies or shift clicking to compare gear started after version ending with .20A was installed.

Clean install of version 11.1.0-1.0.20 and prior - error not present.

First occurrence of error: 4/12/2025 10:41PM EST with addon version 11.1.0.60257

Log Excerpt from the wow client crash:


Lua Stack

[C]: in function 'resume'
Interface/AddOns/Hekili/UI.lua:2364: in function <Interface/AddOns/Hekili/UI.lua:2311>

11.1.0.60257
Retail
Type: WoW

<Addons.Current> Hekili
<Addons.Current.Function> resume
<Addons.Current.Object> (null)

Player Information (Link)

No info is present here, and keybind does not work for capture when client crashes

Error Messages (Link)

Files attached in additional information

Additional Information

2025-04-12_22.41.44_Crash_36252.txt

2025-04-13_22.47.52_Crash_3588.txt

Contact Information

Karalana#9715

commented

Does it happen with your other addons disabled?

commented

It seems to have excluded the troubleshooting I had included in the submission. But yes, tried with just Blizz builtin and just this one enabled.

Attempted troubleshooting:
No in-game errors appear, nothing in bugsack for the previous session when logging back in after crash. Snapshot troubleshooting keybinds for capture don't work as the client crashes out.

Attempted troubleshooting:
Does not happen with the addon disabled.
It does happen when it is the only addon enabled (standard Blizzard ones on, everything else off)
Does happen with Wow CPU profiling both on and off (no difference)

Addon installation source - CurseForge Desktop client.

Attempted removing the addon and associated savevars / clean install, still occurs. (version 11.1.0.60257)
Attempted manual wipe and manual zip file install to the addon folder, still occurs.

commented

Does it happen in current expansion zones? I noticed you were in darkmoon fair in the crash log

commented

First was in DMF with ver 20A, subsequent crashes have occurred in DF zones and TWW outdoor zones and TWW delves.

commented

If you're able to reproduce easily, try this file from my dev repo. It would replace your UI.lua file inside your addon install folder.

https://github.com/syrifgit/syrif-hekili/blob/no-div-zero/UI.lua

commented

I replaced it with your suggested file. Unfortunately, it's not easily reproducible—it randomly occurred when accessing the character pane. I ran through a couple of characters with the new file, and there were no immediate crashes.

commented

For testing purposes, I flipped it back to the live one on curse and crashed out within a few minutes. Replaced it with the dev repo copy again, and cannot reproduce a crash.

Also tested loading back in with my normal addons enabled (DBM and WAs) successfully / no crashes.

I think that new file fixes it.

commented

Great thanks!

@Hekili I think there's a weird edgecase where if you haven't done combat yet, your mean frames are 0 and something triggers it to try a resume, leading to div by 0.

see: syrifgit@4f214dc

commented

Hmm, that makes sense.. DMF crashes didn't have combat, and my TWW ones last time when I was flipping through alts for the fishing derby (also no combat). One of the crashes after a delve completion and shift clicking gear comparison, but it was immediately after zoning out. I just went back and tested that case - accessing character pane / comparing gear after exiting a delve with combat - and no crash with the new file.

commented

Updated to the latest version via curse (v.11.1.0-1.0.24) and now crashing when viewing new Chet lists with the same divide by zero error.

2025-04-16_13.57.29_Crash_38448.txt

commented

Try updating to 1.0.24a, though it doesn't have any fixes specifically aimed at this issue.

@Hekili I think there's a weird edgecase where if you haven't done combat yet, your mean frames are 0 and something triggers it to try a resume, leading to div by 0.
see: syrifgit@4f214dc

I doubt it, but we can babyproof further if we want, it's possible that something breaks in the coroutine before activeThreadFrames gets incremented, but dividing by zero within the Lua environment doesn't matter a whole lot (unless Blizzard turns off the guardrails).

> /run for i = 1, 100 do print( 1/0 ) end
[13:37:56] inf
[13:37:56] inf
[13:37:56] inf
[13:37:56] inf
[13:37:56] inf

Maybe something with WoW's addon profiler getting upset on the C side of the engine? Does this WeakAura make a difference?

https://wago.io/DisableCPUProfiling

commented

Also, have you restarted your computer any time recently? When GetTime() gets extraordinarily high, addons get problematic.

commented

I restart daily and did play originally with the CPU profiling being off - but had turned off WA (and all the others except bugsack) to see if it was this one or something else causing it.

Updated to .24a and so far have been crash free.

Update as of 4/18: I've been crash free now since v .24a and am back on the curse client for regular updates.

commented

Hello! I am writing here cuz i didnt see a mention in changelog about fixing this issue.
So i can add a bit more detail to this:
I have the same crash log as the original reporter, mentioning this:

Lua Stack
[C]: in function 'resume'
Interface/AddOns/Hekili/UI.lua:2364: in function <Interface/AddOns/Hekili/UI.lua:2311>

So what i noticed is it only happens for me while playing as a MAGE

  1. It happened on apryl 15th in Theater of Pain M+ dungeon playing Arcane Mage
  2. It happened today apryl 18th playing rated arena match on map: Mugambala as Frost Mage
    (I was using this version?!: Hekili v11.1.0-1.0.23 (based on crash log))
commented

Hekili-v11.1.0-1.0.24c. I get the same Lua stack Interface/AddOns/Hekili/UI.lua:2364: in function <Interface/AddOns/Hekili/UI.lua:2311>. Mostly happens to me in Delves or at the target dummies. Thank you!

commented

Image

Seems to be a wider issue (perhaps not solely hek related)

commented

Image

I read this post on a blizzard forum about lowering this Performance Core Ratio to 55. Default was 57 and so far I have not crashed at all. I don't know what this changes exactly but it's working so far. So if anyone has an idea what this does please share lol. I had to download intel extreme tuning utility to change it. Let me know what you guys think.

commented

It changes the clock speed of the CPU
Wonder if it’s an intel issue?

commented

I will note here, the crash is coming from a section that the game uses to employ anti cheats, or 3rd party programs. This isn't something Hekili or them can fix. I have attached a screen shots to show (when looking at the crash dump provided, and looking at it in the disassembler).

Image

From the crash dump, the following information was provided:
RIP=00007FF6733FAEE9 (instruction pointer)
DBG-MODULE<00007ff671270000 06454000 "Wow.exe" "Wow.pdb" 0 {3b958742-2809-4b57-8d5936933df3d760} 1 1744329222> (0x7ff671270000 module base)

Subtract the instruction pointer from the module base and you get 0x218AEE9, add that to the on disk base address of 0x140000000 and you get 0x14218AEE9, which is the address in the disassembler (with the pseudocode synchronized to the instruction).

commented

Related thread: https://www.reddit.com/r/wow/comments/1dspd3t/game_crash_int_divide_by_zero_solution/

While not an addon issue, I think we can leave this here for a bit.