More Awesome Than You!
Welcome, Guest. Please login or register.
2024 November 24, 04:18:10

Login with username, password and session length
Search:     Advanced search
540287 Posts in 18067 Topics by 6545 Members
Latest Member: cincinancy
* Home Help Search Login Register
+  More Awesome Than You!
|-+  The Bowels of Trogdor
| |-+  The Small Intestines of Trogdor
| | |-+  Bug Report: "Stack number out of range." with commlightson/Smart Lights hack
0 Members and 1 Chinese Bot are viewing this topic. « previous next »
Pages: [1] THANKS THIS IS GREAT Print
Author Topic: Bug Report: "Stack number out of range." with commlightson/Smart Lights hack  (Read 11097 times)
dizzy
Souped!
*
Posts: 1572


unplugged


View Profile
Bug Report: "Stack number out of range." with commlightson/Smart Lights hack
« on: 2005 November 12, 19:38:38 »
THANKS THIS IS GREAT

EP: Nightlife
Status: Partly resolved.
Resolution: Worked-around (see http://www.moreawesomethanyou.com/smf/index.php?topic=1437.msg48663#msg48663)
Affects: New pool lights in live and simless build modes

Description:

New pool lights Init with "Stack number out of range." errors, possibly causing the lot to fail to load that contains them.

To reproduce:

Install commlightson hack (part of the archive found below), and go to a Downtown subneighborhood. Make sure you have typed the "boolProp testingCheatsEnabled true" cheat. Then load a community that contains pool lights in build mode, and delete the objects as they error.

Logged stack frame:

Code:
Object id: 1269
name: Lamp - Wall - Pool - New - 1, 0 - Lower
Stack size: 5
Error: Stack number out of range.
Iterations: 0
  Frame 4:
    Stack Object id: 1269
    Stack Object name: Lamp - Wall - Pool - New - 1, 0 - Lower
    Node: 2
    Tree: id 8201 name 'Action - Do Fades' version 31
    from LampGlobals
    Prim state: 0
    Params: 1269 1 100 15    Locals:
  Frame 3:
    Stack Object id: 1269
    Stack Object name: Lamp - Wall - Pool - New - 1, 0 - Lower
    Node: 3
    Tree: id 8207 name 'Action - Fade ON' version 5
    from LampGlobals
    Prim state: 0
    Params: 1269    Locals:
  Frame 2:
    Stack Object id: 1269
    Stack Object name: Lamp - Wall - Pool - New - 1, 0 - Lower
    Node: 10
    Tree: id 8198 name 'Function - Init' version 32
    from LampGlobals
    Prim state: 0
    Params:    Locals:
  Frame 1:
    Stack Object id: 0
    Node: 0
    Tree: id 4097 name 'Function - Init( Stub )' version -32757
    from Lamp_Wall_Pool
    Prim state: 0
    Params:    Locals:
  Frame 0:
    Stack Object id: 0
    Node: 0
    Tree: id -1 name 'No behavior' version 0
    from
    Prim state: 1
    Params:    Locals:

Cause:

Unknown. The error does not appear to apply to the named tree, so either the log is incorrect, or the error works in a way that is not documented yet.

Notice, however, that the semi-global "Init" function calls the "Is It Night?" semi-global (which is modified by commlightson). The Init function will therefore always try to turn the lights on in the above situation, which is how the "Action - Do Fades" is called.

The "Action - Do Fades" contains two "Change Light" primitives which may be producing the error. In particular, the first "Change Light" has a "Fade duration" parameter which would seem to trigger an Idle period (which may unexpectedly cause the stack to range beyond its bounds, depending on how the "Init( Stub )" is called.

Link:

http://www.moreawesomethanyou.com/ffs/uni/moreawesomethanyou.zip
« Last Edit: 2005 November 16, 11:01:14 by dizzy » Logged

J. M. Pescado
Fat Obstreperous Jerk
El Presidente
*****
Posts: 26288



View Profile
Re: Bug Report: "Stack number out of range." with commlightson/Smart Lights hack
« Reply #1 on: 2005 November 12, 23:00:17 »
THANKS THIS IS GREAT

I am not certain this is truly an "error". Does it produce any ill effects if the game is simply run without debug mode on? A lot of debug errors are essentially benign, caused by object code changes forcing an object to reset. Perhaps it is enough to load the lot, then save it again.
Logged

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
Motoki
Lord of the Nannies
Uncouth Undesirable
****
Posts: 3509


View Profile
Re: Bug Report: "Stack number out of range." with commlightson/Smart Lights hack
« Reply #2 on: 2005 November 12, 23:09:39 »
THANKS THIS IS GREAT

It seems to make certain lots with those pool lights hang forever on the loading screen.
Logged

In communist China Peggy's hairs cut you!
crammyboy
Dimwitted Dunce
*
Posts: 197



View Profile
Re: Bug Report: "Stack number out of range." with commlightson/Smart Lights hack
« Reply #3 on: 2005 November 12, 23:17:08 »
THANKS THIS IS GREAT

This one is a big problem because is causes the lot to hang indefinitely.

The problem is related to the stub that sits on the bottom of the pool. If you change the semi-global init routine to test object type, it bypasses the problem. But the main problem is still unknown.   

###
# Group = 0x7F60C397, Instance = 0x2006
# Title = Function - Init
#
# Format = 8009, Params = 0, Locals = 0
# Tree type = 0, Header flag = 6, Tree version = 20 (32), Cache flags = 0

     0: [0x10F]Init - Object; true: 1, false: error
     1: My light source (0x10) := 1; true: 2, false: error
     2: My flag field 2 (0x28) Set Flag Burns; true: 3, false: error
     3: My flag field 2 (0x28) Set Flag Can Be Repossessed; true: 4, false: error
     4: My flag field 2 (0x28) Clear Flag Cannot Be Stolen; true: 5, false: error
     5: My category (0x3B) := Const 0x106(Category):0x17; true: 6, false: error
     6: My support strength (0x1C) := 0; true: 7, false: error
     7: My weight (0x1B) := Const 0x1000:0x1; true: 8, false: error
     8: My Flammibility (0x54) := Const 0x102(Global Tuning):0x2B; true: 9, false: error
     9: Stack Object := Me; true: A, false: error
     A: Test Object Type: type of Stack Object == GUID 0x4FBF0DA6 (0x7FA230E7: Lamp - Wall - Pool - New - 1, 0 - Lower); true: true, false: B
     B: [0x17C]Lot - Is Community?; true: D, false: C
     C: semiglobal.0x2022; true: E, false: 10
     D: Stack Objects Semi Attribute 0x1 := 1; true: E, false: E
     E: Stack Objects Semi Attribute 0x2 := Const 0x2000:0x0; true: F, false: error
     F: semiglobal.0x200F(Me, Stack Object, Stack Object, Stack Object); true: true, false: error
    10: Stack Objects Semi Attribute 0x2 := Const 0x2000:0x1; true: 11, false: error
    11: semiglobal.0x2010(Me, Stack Object, Stack Object, Stack Object); true: true, false: error



Logged
dizzy
Souped!
*
Posts: 1572


unplugged


View Profile
Re: Bug Report: "Stack number out of range." with commlightson/Smart Lights hack
« Reply #4 on: 2005 November 13, 00:26:41 »
THANKS THIS IS GREAT

I tried this for my workaround and it seems to resolve the problem for now:

Code:
###
# Group = 0x7F60C397, Instance = 0x2006
# Title = Function - Init
#
# Format = 8009, Params = 0, Locals = 0
# Tree type = 0, Header flag = 6, Tree version = 20 (32), Cache flags = 0

     0: Init - Object; true: 3, false: error
     1: My weight (0x1B) := Const 0x1000:0x1; true: 8, false: error
     2: My support strength (0x1C) := 0; true: 1, false: error
     3: My light source (0x10) := 1; true: 4, false: error
     4: My flag field 2 (0x28) Set Flag Burns; true: 5, false: error
     5: My flag field 2 (0x28) Set Flag Can Be Repossessed; true: 6, false: error
     6: My flag field 2 (0x28) Clear Flag Cannot Be Stolen; true: 7, false: error
     7: My category (0x3B) := Const 0x106(Category):0x17; true: 2, false: error
     8: My Flammibility (0x54) := Const 0x102(Global Tuning):0x2B; true: C, false: error
     9: semiglobal.0x2010(Me, Stack Object, Stack Object, Stack Object); true: true, false: error
     A: Me == My lead tile object ID (0x13); true: F, false: true
     B: .Is It Night?; true: E, false: D
     C: Stack Object := Me; true: B, false: error
     D: Stack Objects Semi Attribute 0x2 := Const 0x2000:0x1; true: 9, false: error
     E: Stack Objects Semi Attribute 0x2 := Const 0x2000:0x0; true: A, false: error
     F: semiglobal.0x200F(Me, Stack Object, Stack Object, Stack Object); true: true, false: error
Logged

Pages: [1] Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.09 seconds with 19 queries.