Jump to content

Need help with Stack Dump report


icecreamassassin

Recommended Posts

here's the script in question with secondary functions commented out to streamline the testing:

 

 

Scriptname DBM_PrepStationScript extends ObjectReference  

FormList Property DisplayActivators Auto
FormList Property DisplayItems Auto

ObjectReference Property DisplaySafe Auto
ObjectReference Property TransferBox Auto

GlobalVariable Property DBM_DisplayMAX Auto


Message Property SortMsg Auto

GlobalVariable Property DBM_SortWait Auto

objectReference O
Form f
auto state ready


    Event OnActivate(ObjectReference akActionRef)
        if(akActionRef == Game.GetPlayer())
            gotostate("busy")
            int SortBtn = SortMsg.show()
            if SortBtn == 0 ; Sort all display items

                int MainCNT = 0
                DBM_DisplayMax.value = (0)
                

                Int index = DisplayActivators.GetSize()

                Debug.Notification("All items being displayed, this will take a moment")

                While index
                    index -= 1
                    F = DisplayItems.GetAt(index) as form
                    O = DisplayActivators.GetAt(index) as ObjectReference
                    if(akActionRef.GetItemCount(F))
                        akActionRef.Removeitem(F, 1, true, TransferBox)
                        DBM_DisplayMax.Value += 1
                        O.Enable()
                    endif            
                EndWhile
                O = none

                TransferBox.RemoveAllItems(akTransferTo = DisplaySafe)

                Debug.Messagebox("All items displayed")

            Endif
            gotostate("ready")
        endif
    
    EndEvent
endstate

state busy
    event OnActivate(ObjectReference akActionRef)
        if (akActionRef == Game.GetPlayer())
            Debug.messagebox("You must wait for the current sorting opperation to complete before starting another")
        endif
    endEvent
endState

 

 

Here is the script on the 'Displaychest' container the stuff is dumped into after the above script runs which triggers the 'onitemadded' event: The script here is really for use when you access the container directly and place stuff in it, the code is really unnecessary for the previous script's purpose as it does all of this stuff already

 

 

Scriptname DBM_DisplayRemovedScript extends ObjectReference  

FormList Property DisplayItems Auto
FormList Property DisplayActivators Auto

FormList Property DBM_KAItems Auto
FormList Property DBM_KADisplays Auto

FormList Property DBM_JarItems Auto
FormList Property DBM_JarDisplays Auto

FormList Property DBM_UTItems Auto
FormList Property DBM_UTDisplays Auto

FormList Property DBM_BCSItems Auto
FormList Property DBM_BCSDisplays Auto

ObjectReference Property DisplayChest Auto

GlobalVariable Property DBM_DisplayMAX Auto

Int Property WFUpdate Auto


Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
    int iIndex
    ObjectReference DISP     
    if akBaseItem == (DisplayItems.HasForm(akBaseItem))
        iIndex = DisplayItems.Find(akBaseItem)        
        DISP = DisplayActivators.GetAt(iIndex)as objectreference
        DISP.Disable()
;        DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() - 1)
;    elseif akBaseItem == (DBM_KAItems.HasForm(akBaseItem))
;        iIndex = DBM_KAItems.Find(akBaseItem)        
;        DISP = DBM_KADisplays.GetAt(iIndex)as objectreference
;        DISP.Disable()
;        DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() - 1)
;    elseif akBaseItem == (DBM_JarItems.HasForm(akBaseItem))
;        iIndex = DBM_JarItems.Find(akBaseItem)        
;        DISP = DBM_JarDisplays.GetAt(iIndex)as objectreference
;        DISP.Disable()
;        DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() - 1)
;    elseif akBaseItem == (DBM_BCSItems.HasForm(akBaseItem))
;        iIndex = DBM_BCSItems.Find(akBaseItem)        
;        DISP = DBM_BCSDisplays.GetAt(iIndex)as objectreference
;        DISP.Disable()
;        DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() - 1)
;    elseif akBaseItem == (DBM_UTItems.HasForm(akBaseItem))
;        iIndex = DBM_UTItems.Find(akBaseItem)        
;        DISP = DBM_UTDisplays.GetAt(iIndex)as objectreference
;        DISP.Disable()
;        DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() - 1)
    endif        
endevent

Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
    int iIndex
    ObjectReference DISP     
    if akBaseItem == (DisplayItems.HasForm(akBaseItem))
        iIndex = DisplayItems.Find(akBaseItem)        
        DISP = DisplayActivators.GetAt(iIndex)as objectreference
        DISP.enable()
;        DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() + 1)
;    elseif akBaseItem == (DBM_KAItems.HasForm(akBaseItem))
;        iIndex = DBM_KAItems.Find(akBaseItem)        
;        DISP = DBM_KADisplays.GetAt(iIndex)as objectreference
;        DISP.enable()
;        DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() + 1)
;    elseif akBaseItem == (DBM_JarItems.HasForm(akBaseItem))
;        iIndex = DBM_JarItems.Find(akBaseItem)        
;        DISP = DBM_JarDisplays.GetAt(iIndex)as objectreference
;        DISP.enable()
;        DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() + 1)
;    elseif akBaseItem == (DBM_BCSItems.HasForm(akBaseItem))
;        iIndex = DBM_BCSItems.Find(akBaseItem)        
;        DISP = DBM_BCSDisplays.GetAt(iIndex)as objectreference
;        DISP.enable()
;        DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() + 1)
;    elseif akBaseItem == (DBM_UTItems.HasForm(akBaseItem))
;        iIndex = DBM_UTItems.Find(akBaseItem)        
;        DISP = DBM_UTDisplays.GetAt(iIndex)as objectreference
;        DISP.enable()
;        DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() + 1)
    endif
endevent

 

And here is the segment of my papyrus log. It's about 1700 pages long after about 10 minutes of play where I basically COC into my utility cell to get items (right from the main menu) then pop into the cell with the activators and use the activator which takes a couple minutes to process. Then I exit the game.

 

 

 

 

[10/22/2014 - 08:46:46PM] Dumping stack 6846:
[10/22/2014 - 08:46:46PM]           Frame count: 2 (Page count: 2)
[10/22/2014 - 08:46:46PM]           State: Waiting on other stack for return (Freeze state: Freezing)
[10/22/2014 - 08:46:46PM]           Type: Normal
[10/22/2014 - 08:46:46PM]           Return register: True
[10/22/2014 - 08:46:46PM]           Has stack callback: No
[10/22/2014 - 08:46:46PM]           Stack trace:
[10/22/2014 - 08:46:46PM]                           [ (091214DA)].FormList.HasForm() - "<native>" Line ?
[10/22/2014 - 08:46:46PM]                                           IP: 0
[10/22/2014 - 08:46:46PM]                                           [param1]: [MiscObject < (0A0F011E)>]
[10/22/2014 - 08:46:46PM]                           [ (09126087)].DBM_DisplayRemovedScript.OnItemAdded() - "DBM_DisplayRemovedScript.psc" Line 59
[10/22/2014 - 08:46:46PM]                                           IP: 0       Instruction: 0     Line: 59
[10/22/2014 - 08:46:46PM]                                           [akBaseItem]: [MiscObject < (0A0F011E)>]
[10/22/2014 - 08:46:46PM]                                           [aiItemCount]: 1
[10/22/2014 - 08:46:46PM]                                           [akItemReference]: None
[10/22/2014 - 08:46:46PM]                                           [akDestContainer]: [ObjectReference < (0A1BBFFC)>]
[10/22/2014 - 08:46:46PM]                                           [::temp7]: False
[10/22/2014 - 08:46:46PM]                                           [::temp8]: False
[10/22/2014 - 08:46:46PM]                                           [iIndex]: 0
[10/22/2014 - 08:46:46PM]                                           [DISP]: None
[10/22/2014 - 08:46:46PM]                                           [::temp9]: 0
[10/22/2014 - 08:46:46PM]                                           [::temp10]: None
[10/22/2014 - 08:46:46PM]                                           [::temp11]: None
[10/22/2014 - 08:46:46PM]                                           [::NoneVar]: None
[10/22/2014 - 08:46:46PM]                                           [::temp12]: 0.000000
[10/22/2014 - 08:46:46PM]                                           [::temp13]: 0.000000
[10/22/2014 - 08:46:46PM] Dumping stack 6846:
[10/22/2014 - 08:46:46PM]           Frame count: 2 (Page count: 2)
[10/22/2014 - 08:46:46PM]           State: Waiting on other stack for return (Freeze state: Freezing)
[10/22/2014 - 08:46:46PM]           Type: Normal
[10/22/2014 - 08:46:46PM]           Return register: True
[10/22/2014 - 08:46:46PM]           Has stack callback: No
[10/22/2014 - 08:46:46PM]           Stack trace:
[10/22/2014 - 08:46:46PM]                           [ (091214DA)].FormList.HasForm() - "<native>" Line ?
[10/22/2014 - 08:46:46PM]                                           IP: 0
[10/22/2014 - 08:46:46PM]                                           [param1]: [MiscObject < (0A0F011E)>]
[10/22/2014 - 08:46:46PM]                           [ (09126087)].DBM_DisplayRemovedScript.OnItemAdded() - "DBM_DisplayRemovedScript.psc" Line 59
[10/22/2014 - 08:46:46PM]                                           IP: 0       Instruction: 0     Line: 59
[10/22/2014 - 08:46:46PM]                                           [akBaseItem]: [MiscObject < (0A0F011E)>]
[10/22/2014 - 08:46:46PM]                                           [aiItemCount]: 1
[10/22/2014 - 08:46:46PM]                                           [akItemReference]: None
[10/22/2014 - 08:46:46PM]                                           [akDestContainer]: [ObjectReference < (0A1BBFFC)>]
[10/22/2014 - 08:46:46PM]                                           [::temp7]: False
[10/22/2014 - 08:46:46PM]                                           [::temp8]: False
[10/22/2014 - 08:46:46PM]                                           [iIndex]: 0
[10/22/2014 - 08:46:46PM]                                           [DISP]: None
[10/22/2014 - 08:46:46PM]                                           [::temp9]: 0
[10/22/2014 - 08:46:46PM]                                           [::temp10]: None
[10/22/2014 - 08:46:46PM]                                           [::temp11]: None
[10/22/2014 - 08:46:46PM]                                           [::NoneVar]: None
[10/22/2014 - 08:46:46PM]                                           [::temp12]: 0.000000
[10/22/2014 - 08:46:46PM]                                           [::temp13]: 0.000000
Link to comment
Share on other sites

ok So I have it boiled down to the DisplayChest script and get this slighting more condensed error:

 

 

[10/22/2014 - 09:48:50PM] Dumping stack 6918:
[10/22/2014 - 09:48:50PM]           Frame count: 0 (Page count: 0)
[10/22/2014 - 09:48:50PM]           State: Waiting on other stack for call (Freeze state: Freezing)
[10/22/2014 - 09:48:50PM]           Type: Normal
[10/22/2014 - 09:48:50PM]           Return register: None
[10/22/2014 - 09:48:50PM]           Has stack callback: No
[10/22/2014 - 09:48:50PM]           Stack trace:
[10/22/2014 - 09:48:50PM]                           [ (09126087)].DBM_DisplayRemovedScript.OnItemAdded() - (requested call)
[10/22/2014 - 09:48:50PM]                                           [param 0]: [Form < (0001ACD6)>]
[10/22/2014 - 09:48:50PM]                                           [param 1]: 1
[10/22/2014 - 09:48:50PM]                                           [param 2]: None
[10/22/2014 - 09:48:50PM]                                           [param 3]: [ObjectReference < (0A1BBFFC)>]

 

and this would be the script

 

 

Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
        int iIndex
        ObjectReference DISP     
        if akBaseItem == (DisplayItems.HasForm(akBaseItem))
            iIndex = DisplayItems.Find(akBaseItem)        
            DISP = DisplayActivators.GetAt(iIndex)as objectreference
            DISP.Disable()
            DBM_DisplayMAX.SetValue(DBM_DisplayMAX.GetValue() - 1)

 

I'm rather baffled what in this script segment would be causing a stack dump issue

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...