Fix: ArkInventory LUA Error & Container Block Bug

by Omar Yusuf 50 views

Hey everyone! It looks like we've got a bug report on our hands concerning ArkInventory, specifically a LUA error and addon blocking issue that pops up when trying to open containers. Let's dive into the details and see what's going on. This guide will help you troubleshoot the LUA error and addon blocking issue in ArkInventory when opening containers.

Discussion Category

  • arkayenro
  • arkinventory

Additional Information

What version number are you using?

The user is currently running version 3.12.02.

What game client are you playing? Retail, Wrath, Classic / Live, PTR, Beta

The game client in question is Retail.

What language is the game client set to?

The game client is set to enGB (British English).

Describe the Bug

So, here's the deal: When attempting to open a container within the inventory, players are encountering an "action blocked" popup. This isn't just a visual hiccup; the action is genuinely blocked, meaning nothing happens when they try to open the container. Along with this, a LUA error is being thrown, pointing towards a deeper issue. This bug specifically affects the functionality of opening containers, which is a pretty big deal for inventory management.

The user tried this with two different items, both being pet supply bags: Traveler's Pet Supplies and Big Bag of Pet Supplies. This suggests the issue might be related to the type of container or how ArkInventory interacts with them.

Decoding the LUA Error

Let's break down that LUA error message:

2x [ADDON_ACTION_FORBIDDEN] AddOn 'ArkInventory' tried to call the protected function 'UNKNOWN()'.
[Blizzard_UIPanels_Game/Mainline/ContainerFrame.lua]:1476: in function <...s/Blizzard_UIPanels_Game/Mainline/ContainerFrame.lua:1463>

Locals:
self = ARKINV_Frame1ScrollContainerBag5Item6 {
 IconOverlay = Texture {
 }
 AugmentBorderAnim = AnimationGroup {
 }
 showMatchHighlight = true
 icon = ARKINV_Frame1ScrollContainerBag5Item6IconTexture {
 }
 count = 1
 ArkTint = ARKINV_Frame1ScrollContainerBag5Item6ArkTint {
 }
 HighlightTexture = Texture {
 }
 ArkBorder = ARKINV_Frame1ScrollContainerBag5Item6ArkBorder {
 }
 itemContextMatchResult = 3
 flash = Texture {
 }
 isProfessionItem = false
 IconQuestTexture = ARKINV_Frame1ScrollContainerBag5Item6IconQuestTexture {
 }
 hasItem = 1
 locked = false
 ExtendedSlot = Texture {
 }
 PushedTexture = Texture {
 }
 timeSinceUpgradeCheck = 0
 emptyBackgroundAtlas = "bags-item-slot64"
 BattlepayItemTexture = Texture {
 }
 Count = ARKINV_Frame1ScrollContainerBag5Item6Count {
 }
 searchOverlay = ARKINV_Frame1ScrollContainerBag5Item6SearchOverlay {
 }
 ArkIconTransmog = ARKINV_Frame1ScrollContainerBag5Item6ArkIconTransmog {
 }
 NormalTexture = ARKINV_Frame1ScrollContainerBag5Item6NormalTexture {
 }
 IconOverlay2 = Texture {
 }
 ArkItemAge = ARKINV_Frame1ScrollContainerBag5Item6ArkItemAge {
 }
 ArkLevel = ARKINV_Frame1ScrollContainerBag5Item6Level {
 }
 ArkIconProfessionRankText = ARKINV_Frame1ScrollContainerBag5Item6ArkIconProfessionRankText {
 }
 ArkIconProfessionRank = ARKINV_Frame1ScrollContainerBag5Item6ArkIconProfessionRank {
 }
 flashAnim = AnimationGroup {
 }
 newitemglowAnim = AnimationGroup {
 }
 JunkIcon = Texture {
 }
 ArkHighlight = ARKINV_Frame1ScrollContainerBag5Item6ArkHighlight {
 }
 ArkIconCorrupted = ARKINV_Frame1ScrollContainerBag5Item6ArkIconCorrupted {
 }
 ARK_Data = <table> {
 }
 NewItemTexture = Texture {
 }
 isCraftedItem = false
 AugmentBorderAnimTexture = Texture {
 }
 UpgradeIcon = Texture {
 }
 ArkIconQuestBang = ARKINV_Frame1ScrollContainerBag5Item6ArkIconQuestBang {
 }
 IconBorder = Texture {
 }
 Cooldown = ARKINV_Frame1ScrollContainerBag5Item6Cooldown {
 }
 CanIMogItOverlay = CIMIOverlayFrame_ARKINV_Frame1ScrollContainerBag5Item6 {
 }
 ItemContextOverlay = Texture {
 }
 ArkListEntry = ARKINV_Frame1ScrollContainerBag5Item6ArkListEntry {
 }
 BagIndicator = Texture {
 }
 Stock = ARKINV_Frame1ScrollContainerBag5Item6Stock {
 }
 readable = false
}
button = "RightButton"
modifiedClick = false
  • ADDON_ACTION_FORBIDDEN: This part is crucial. It tells us that ArkInventory tried to perform an action that the game's security system has flagged as forbidden. This usually happens when an addon tries to call a protected function directly, which Blizzard implements to prevent addons from doing things they shouldn't (like automating player actions in combat).
  • UNKNOWN(): The error mentions that ArkInventory tried to call a function named UNKNOWN(). This is super vague and suggests that the function name might be missing or that there's a more fundamental issue in the code where the function call is being made.
  • [Blizzard_UIPanels_Game/Mainline/ContainerFrame.lua]:1476: This points to the line number 1476 in the ContainerFrame.lua file, which is part of Blizzard's UI code for handling containers (bags, banks, etc.). This is important because it suggests the issue might be related to how ArkInventory is interacting with the game's built-in container frame.
  • Locals: The Locals section provides a snapshot of the variables and their values at the time of the error. It shows a bunch of details about the item slot (ARKINV_Frame1ScrollContainerBag5Item6), including textures, animations, and data related to the item. This can be helpful for developers to trace the exact state of the item and the UI when the error occurred.

In essence, the error suggests that ArkInventory is trying to do something with containers that the game's security system doesn't allow, possibly by calling a protected function in a way that's not permitted. The UNKNOWN() function and the reference to ContainerFrame.lua indicate that the issue is likely related to how ArkInventory is hooking into or modifying the game's container functionality.

To Reproduce

The user didn't do anything particularly special to trigger this bug. They used their Garrison Hearthstone, took an item out of their void storage, completed two pet daily quests, and then attempted to open the reward bags. This relatively standard gameplay scenario makes the bug's appearance even more puzzling. The fact that it happened after a series of common actions suggests it might be triggered by a specific combination of events or item states.

Screenshots

N/A (No screenshots were provided).

Additional context

This issue is new to this version of ArkInventory, as the user didn't encounter it in previous versions, including alpha5. This is a crucial piece of information because it narrows down the potential causes to changes made between alpha5 and the current version (3.12.02). It also implies that the bug might be related to recent modifications in how ArkInventory handles containers or interacts with the game's UI.

Troubleshooting Steps and Potential Solutions

Okay, guys, so now that we've dissected the problem, let's talk solutions. Here are a few things you can try to fix this LUA error and get your containers opening smoothly again:

  1. Update ArkInventory: First things first, make sure you're running the latest version of ArkInventory. Sometimes, bugs are squashed in newer releases, and an update might just solve your problem. It's always worth checking!

  2. Disable Other Addons: Addons can sometimes clash with each other, causing unexpected errors. Try disabling all your other addons except ArkInventory and see if the problem goes away. If it does, you know another addon is the culprit.

  3. Check for Conflicting Addons: If disabling all addons fixes the issue, re-enable them one by one to pinpoint the troublemaker. This can be a bit tedious, but it's a reliable way to identify conflicts. Common culprits include other inventory management addons or UI customization tools.

  4. Reset ArkInventory Settings: Sometimes, your ArkInventory settings can get corrupted, leading to errors. Resetting the addon to its default configuration might help. You can usually find a reset option in the addon's settings panel.

  5. Update Game Client: Make sure your game client is up to date. Outdated game files can sometimes cause compatibility issues with addons.

  6. Check for Corrupted Game Files: Corrupted game files can also lead to LUA errors. Run the game's repair tool to check for and fix any damaged files.

  7. Manual Code Inspection: (For the Tech-Savvy) If you're comfortable diving into the code, you could try inspecting the ContainerFrame.lua file mentioned in the error message. Look for any recent changes or modifications that might be causing the issue. This is more of an advanced step, but it can sometimes reveal the root cause.

  8. Report the Bug: If none of these steps work, it's essential to report the bug to the addon developer. Provide as much detail as possible, including the error message, steps to reproduce the bug, and any other relevant information. This helps the developer identify and fix the issue in future releases.

Conclusion

Encountering a LUA error and addon blocking issue can be frustrating, but with a systematic approach, you can often resolve the problem. By following the troubleshooting steps outlined in this article, you should be able to get ArkInventory working correctly again. Remember, keeping your addons and game client updated, checking for conflicts, and reporting bugs are crucial steps in maintaining a smooth gaming experience. Happy gaming, guys!