attempted to call a forbidden function #1


  • Defect
  • Declined
Closed
Assigned to ericbeaudoin
  • _ForgeUser343872 created this issue Oct 2, 2009

    What steps will reproduce the problem?
    1. Attempt to open a Darkwater Clam

    What is the expected output? What do you see instead?
    Expect the clam to be opened.

    What version of the product are you using?
    v30200-1-beta-04

    Do you have an error log of what happened?
    Yes, below.

    Please provide any additional information below.
    Nice addon so far.  It handled everything I threw at it, except, oddly, a Darkwater clam.  I pick up a lot of those killing Oracles in Sholazar.  It displays how many are in my bags, but when I click to open it, I get the error below.

    Date: 2009-10-02 19:14:47
    ID: 1
    Error occured in: AddOn: ShuckIt
    Count: 1
    Message: Error: AddOn ShuckIt attempted to call a forbidden function (UNKNOWN()) from a tainted execution path.
    Debug:
       [C]: ?
       [C]: ?
       [C]: UseContainerItem()
       ShuckIt\ShuckIt.lua:137:
          ShuckIt\ShuckIt.lua:135
       Titan\LDBToTitan.lua:213:
          Titan\LDBToTitan.lua:211
    AddOns:
      Swatter, v3.1.14 (<%codename%>)
      AckisRecipeList, v1.0 2501
      ACP, v3.2.0.20
      ActionButtonColors, v1.6
      AlwaysLFG, v2.1
      Analyst, v1.0.9
      ArkInventory, v3.02
      Atlas, v1.14.2
      AtlasBattlegrounds, v1.14.2
      AtlasDungeonLocs, v1.14.2
      AtlasOutdoorRaids, v1.14.2
      AtlasTransportation, v1.14.2
      AtlasLoot, vv5.08.03
      AuctionLite, v1.4.1
      autoInvite, v$Id: autoInvite.toc 197 2009-08-06 17:30:03Z idefix $
      Babylonian, v5.1.DEV.130
      BigWigs, v2.0
      BloodyRare, v1.4
      BrokerRecount, v1.0
      Cartographer, v2.0
      CartographerCoordinates, v2.0
      CartographerFoglight, v2.0
      CartographerGroupColors, v2.0
      CartographerGuildPositions, v2.0
      CartographerLookNFeel, v2.0
      CartographerNotes, v2.0
      CartographerWaypoints, v2.0
      Chinchilla, vv2.0.8
      Configator, v5.1.DEV.190
      CurseProfiler, v
      Dominos, v1.12.0
      DominosRoll, v
      FishingBuddy, v0.9.8b
      Gatherer, v3.1.14
      GrimReaper, v2.0 $Revision: 76 $
      GuildAds, v2.6
      GuildCraft, v3.0
      GuildDelta, v
      GuildGreet, v30200.5
      GupPet, v1.198
      GupPetCollectMe, v
      Hush, v1.0.0
      KKonferSK, v1.0.0r92
      LinkWrangler, v1.79
      LittleWigs, v3.0.0
      MikScrollingBattleText, v5.4.66
      MobMap, v345
      MrTrader, v0.5
      Omen, v3.0.8
      Outfitter, v4.8
      Overachiever, v0.46
      Postal, v3.2.0
      Prat30, v3.2.4
      Prat30Libraries, v
      QuestHelper, v1.1.20
      RaidBuffStatus, v3.227
      RaidTracker, v2.2.40
      RatingBuster, v
      Recount, v
      SatrinaBuffFrame, v3.1
      SavedInstances, vv2.4 (r92)
      SellOMatic, vv1.1.15
      ShuckIt, v30200-1 $Revision: 13 $
      SKG, v3.2.2-beta
      SlideBar, v3.1.14 (<%codename%>)
      SunnArt, v3.21
      TalentedLoader, v2.1
      Titan, v4.3.0.30200 - Revision 316
      TitanClock, v4.3.0.30200
      TitanCoords, v4.3.0.30200
      TitanGoldTracker, v4.3.0.30200
      TitanLootType, v4.3.0.30200
      TitanMail, v3.03.
      TitanMobMap, v3.2
      TitanPerformance, v4.3.0.30200
      TitanRepair, v4.3.0.30200
      TitanSpec, v1.4.5.30200
      TitanVolume, v4.3.0.30200
      TitanXP, v4.3.0.30200
      TradeskillInfo, v1.5.4
      WarriorVigilanceTracker, v1.0
      XPerl, v3.0.5g
      XPerlArcaneBar, v
      XPerlParty, v
      XPerlPartyPet, v
      XPerlPlayer, v
      XPerlPlayerBuffs, v
      XPerlPlayerPet, v
      XPerlRaidFrames, v
      XPerlRaidHelper, v
      XPerlTarget, v
      XPerlTargetTarget, v
      BlizRuntimeLib_enUS v3.2.2.30200 <us>
      (ck=8c2)

  • _ForgeUser343872 added the tags New Defect Oct 2, 2009
  • EricBeaudoin posted a comment Oct 17, 2009

    Just saw the ticket, somehow the notification system didn't notify me.

    I'll investigate, sorry for the response delay.

  • EricBeaudoin removed a tag New Oct 17, 2009
  • EricBeaudoin added a tag Accepted Oct 17, 2009
  • EricBeaudoin posted a comment Oct 17, 2009

    Quick question, do you have the problem when you click on the LDB icon or do you use the /click ShuckItFrame ?

    The reason I added the /click ShuckItFrame is that sometimes, the UseContainerItem() becomes unsafe and throw tainted error messages. It was happening more or less randomly for me and I was not able to recreate the problem easily. You may have give me a way to investigate this further.

  • _ForgeUser23487 posted a comment Nov 12, 2009

    Same problem here with it tainting; being unable to open things and the Blizzard "Ignore/Cancel" taint alert panel popping up. It was clicking the LDB display for ShuckIt when it occurred here (using ShuckIt r21, StatBlockCore LDB display v2.61, USEnglish client/server, WoW 3.2.2.10505 live).

    Here is the text out of taint.log:

    11/12 17:45:06.218  Global variable ShuckIt tainted by ShuckIt - Interface\AddOns\ShuckIt\Localization.lua:5
    11/12 17:45:06.218      LoadAddOn()
    11/12 17:45:06.218      Interface\AddOns\AddonLoader\AddonLoader.lua:109 LoadAddOn()
    11/12 17:45:06.218      Interface\AddOns\AddonLoader\Conditions.lua:128 loadOne()
    11/12 17:45:06.218      Interface\AddOns\AddonLoader\Conditions.lua:143
    11/12 17:45:06.218  Execution tainted by ShuckIt while reading ShuckIt - Interface\AddOns\ShuckIt\ShuckIt.lua:298 OnTooltipShow()
    11/12 17:45:06.218      Interface\AddOns\StatBlockCore\StatBlockCore.lua:610
    11/12 17:45:06.218  An action was blocked because of taint from ShuckIt - 
    11/12 17:45:06.218      UseContainerItem()
    11/12 17:45:06.218      Interface\AddOns\ShuckIt\ShuckIt.lua:139 OnClick()
    11/12 17:45:06.218      Interface\AddOns\StatBlockCore\StatBlockCore.lua:598
    

    The above repeats every time you click the LDB display. AddonLoader r106 is also being used here; no issues with other mods.

    The item trying to be opened: the old-school Small Barnacled Clam. Crowbar has no issues/taint opening that item. So may want to look to see how it does it and incorporate its methods into ShuckIt.


    Edited Nov 12, 2009
  • EricBeaudoin posted a comment Nov 14, 2009

    Hi Zidomo, thanks for the taint.log. It gave me an idea that I'm going to test. I should be releasing an alpha later today.

  • _ForgeUser23487 posted a comment Nov 15, 2009

    Haven't yet come across another clam, but one other deficiency noticed: this eats CPU when idle, unlike CrowBar.

    Tested with Option House, r22 consumes a median of 0.125 CPU/second when a character is idle (and has nothing to open in packs). CrowBar uses 0.

  • _ForgeUser23487 posted a comment Nov 15, 2009

    More testing: r22 hasn't fixed anything regardling clams.

    Came across the same type of clam as below a couple minutes ago. Tried opening them via clicking the LDB display. Blizzard "...addon has been blocked..." frame came up and no clams were opened.

    taint.log (the below text repeats every time you click the LDB display):

    11/15 10:17:45.453  Global variable ShuckIt tainted by ShuckIt - Interface\AddOns\ShuckIt\Localization.lua:5
    11/15 10:17:45.453      LoadAddOn()
    11/15 10:17:45.453      Interface\AddOns\AddonLoader\AddonLoader.lua:109 LoadAddOn()
    11/15 10:17:45.453      Interface\AddOns\AddonLoader\Conditions.lua:128 loadOne()
    11/15 10:17:45.453      Interface\AddOns\AddonLoader\Conditions.lua:143
    11/15 10:17:45.453  Execution tainted by ShuckIt while reading ShuckIt - Interface\AddOns\ShuckIt\ShuckIt.lua:336 OnTooltipShow()
    11/15 10:17:45.453      Interface\AddOns\StatBlockCore\StatBlockCore.lua:610
    11/15 10:17:45.453  An action was blocked because of taint from ShuckIt - 
    11/15 10:17:45.453      UseContainerItem()
    11/15 10:17:45.453      Interface\AddOns\ShuckIt\ShuckIt.lua:172 OnClick()
    11/15 10:17:45.453      Interface\AddOns\StatBlockCore\StatBlockCore.lua:598
    
  • EricBeaudoin posted a comment Nov 15, 2009

    I'll post something else tonight just to see if it helps.

    As for the CPU, well CrowBar doesn't have a display. The LDB presentation should not however call the update very often and the bags only get scanned if there is a change and never more often then once every half second. Still, I'll have a look to see if there is something wrong or if I can improve it. I don't use OpenHouse, is 0.125 CPU/Second compare to other LDB plugins? Is the CPU higher when the tooltip is displayed?

  • _ForgeUser23487 posted a comment Nov 15, 2009

    There is no change to CPU usage whether or not a tooltip is shown. It moves between about 0.100 to 0.150 CPU/second at all times. Which is more than 0 ;).

    For LDB mods, depending on what they do, they can either use CPU or not. Many - - that use no further libraries like Ace3 - - use none at all. Some examples: Buffoon, Ribbon, Nongren & AvgItemLevel (the last two use a small bit of CPU for a brief second when you mouse over the LDB display, then immediately fall back to 0).

    It could be less of a display issue than scanning bags unnecessarily.


    Edited Nov 15, 2009
  • EricBeaudoin posted a comment Nov 15, 2009

    I'll check but the mods only scans the bag when it receive a bag_update event. Most of the time, it just exit from the OnUpdate call right away with nothing to do. I'll try to check how often the message are sent and how often the display callback is used.

    I've committed some changes. Let me know if it help for the taint issue. I've riped out an reference to the localization variable from the display in hope that this will solve the problem. UseContainerItem is not supposed to be protected in this context to start with so the taint is not supposed to be an issue (and that why it works most of the time). The LDB display never use taint free environment so my ability to solve this might be nil.

  • _ForgeUser23487 posted a comment Nov 19, 2009

    Nope, r23 still taints and refuses to...shuckit (on clams).

    11/19 05:21:20.296  An action was blocked because of taint from ShuckIt - 
    11/19 05:21:20.296      UseContainerItem()
    11/19 05:21:20.296      Interface\AddOns\ShuckIt\ShuckIt.lua:172 OnClick()
    11/19 05:21:20.296      Interface\AddOns\StatBlockCore\StatBlockCore.lua:598
    

    May (or may not) try this again when you are sure that future versions work. Might have to create your own secure frame (as CrowBar does) and trigger it from LDB rather than trying to access things directly through a LDB display.

    Then again, LDB weapon buffing mods that "use" items in your packs (I've tried recently) do not taint.


    Edited Nov 19, 2009
  • EricBeaudoin posted a comment Nov 21, 2009

    There is already a secure frame. That's why the macro [b]/click ShuckItFrame[/b] works all the time even with clam and without taint. Unfortunately, LDB plugin cannot trigger the action of a secure frame since LDB displays do not provide a non-tainted environment. Someone had proposed an extension to the standard for it but so far as I know, it never caught on.

    This is why I was trying so much with the UseContainerItem() as it is supposed not to be protected "When the item is a container (Clam Shell, Unlocked Lockbox, etc.)". Well, as we can see, it works with everything but clams.

    So, if you want to use ShuckIt, make yourself a [b]/click ShuckItFrame[/b] macro and bind it to a key. I'll probably remove the OnClick for now or let the OnClick work only for real containers (clams are not and that might the root of the problem).

    If you want a button instead of a LDB display, use Crowbar. I didn't want to create a button with ShuckIt since CrowBar already do that.

    I'm going to close this ticket for now. If there are new development, I'll word on this again (the 3.3 patch is nearly out of the door so maybe there is a chance there).

    Can you give me the name of the buff LDB display you were using? I can check if the author has found another to use an item from the display.

    Best

  • EricBeaudoin removed a tag Accepted Nov 21, 2009
  • EricBeaudoin added a tag Declined Nov 21, 2009
  • EricBeaudoin closed issue Nov 21, 2009
  • _ForgeUser23487 posted a comment Nov 22, 2009

    Sure thing: Ara Broker Weapon Buffer.

    Suspected that it was a LDB plugin/secure frame issue. Anyway, thanks for your efforts and hope can find a resolution in a future patch, or similar.


To post a comment, please login or register a new account.