Reliable crash to desktop, modding


#1

In ACE, I’m currently trying to work on performance for my generic connection service, right now with my vine service (which is used to moderate vine growth/expansion rates so they don’t quickly try to cover the whole world). I’m now very reliably crashing to desktop after one or two dozen vine entities have been created (and not having performance issues), when previously I was creating hundreds with the only problem being performance (@DaniAngione was also crashing to desktop sometimes earlier, though I think he was stressing the system more than me). Usually I don’t get a crash dump or anything interesting in the log, but this time I did:

2018-11-16 01:32:57.521539 |       client |  0 |                          sysinfo | Memory Stats: Fatal Exception
2018-11-16 01:32:57.521539 |       client |  0 |                          sysinfo |  Total System Memory:     31.951 GB (34307125248 bytes)
2018-11-16 01:32:57.521539 |       client |  0 |                          sysinfo |  Current Memory Usage:    1.251 GB (1343369216 bytes)
2018-11-16 01:32:57.521539 |       client |  0 |                          sysinfo |  Total Address Space:     128.000 TB (140737488224256 bytes)
2018-11-16 01:32:57.521539 |       client |  0 |                          sysinfo |  Available Address Space: 127.994 TB (140731269828608 bytes)
2018-11-16 01:32:57.522514 |       client |  0 |                          sysinfo |  Used Address Space:      5.791 GB (6218395648 bytes)

crash.dmp (163.7 KB)

This was in a Microworld in which I insta-built a building, stamped 3 vine entities around it, and then let them start growing. Aside from that I was just running a few of my old UI mods and of course the current unstable version of ACE. I also was reliably crashing from a save that’s basically just a new normal game (banner placed, nothing else done).


#2

I have no idea about the crash, just wanted to say: Omg vines yes please! You can do it! Good luck! :slight_smile:


#3

Is this crash reproducible if we install the current unstable version of ACE and try to stamp vines and let them grow? (like without other mods, just ACE).


#4

That is my experience, yes. The vines are currently set to not spread on the ground, so you’ll want to place them next to a wall (top or bottom). Their uri is stonehearth_ace:vines:highland_vine.

Also, I’m trying to get my persistent timers to work within the vine service, but it seems like radiant.bind only works for controllers or functions. When I try to specify a string reference to a function instead, the invoke tries to access/index the undeclared _Gj instead of _G as I imagine it should. Is there a different way I should do persistent timers from the service level? Maybe I just need to refactor it to use controllers.


#5

I just made a small commit to the ACE unstable-work branch that I think solves the mystery crashing problem. The critical change seems to be that in my connection graphs, I only store node indexes in a node’s “connected nodes” property, rather than references to those nodes themselves. When these nodes are traversed, they are now looked up in a node table for that graph. None of my code was running into cycling issues, but perhaps there’s a failure to detect table cycles in some of the deeper “saved variables” code that can cause crashes?

(Also, I did end up making a separate vine controller so I could use binding for persistent timers for them.)