
The following notes were taken from the Tuesday, August 12th, 2025 Simulator User Group (SUG) off-week meeting (which I refer to as the “SUG Leviathan Hour”). These notes form a summary of the items discussed, and are not intended to be a full transcript. They were taken from my chat log of the meeting.
Meeting Overview
- The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas is held every other Tuesday at 12:00 noon, SLT (holidays, etc., allowing), per the Second Life Public Calendar.
- The “SUG Leviathan Hour” meetings are held on the Tuesdays which do not have a formal SUG meeting, and are chaired by Leviathan Linden. They are more brainstorming / general discussion sessions.
- Meetings are held in text in-world, at this location.
Simulator Deployments
- There are no planned deployments to any channels this week, only restarts.
In Brief
- Harold Linden – SLua:
- Has been working on “some major garbage collector surgery” so that memory usage is “properly less than Mono” and general memory profiling will be much better under SLua.
- The garbage collector is good with creation and deletion of lots of small objects, with Harold noting:
SLua is weird in that most of the objects managed by the GC are built-in things that will never go away as long as the script is running, so I’ve changed the GC to ignore those entirely to make garbage collection much much faster … I’ve added some code to the GC that’s inspired by some work that was proposed for Lua proper that makes the GC get more aggressive if it thinks it might run out of memory soon .. Luckily GC is _incredibly_ cheap now so you could run it tens of thousands of times a second and it wouldn’t make much of a dent.
-
- llGetFreeMemory() and llGetUsedMemory() “actually do something now”.
- Next up, Harold is hoping to work on SLua events, on which he notes:
The event style will be similar to the EventEmitter API in JS `whatever.on(‘someevent’, callback)` with an alternative form that’s similar to how they’re currently specified … It’ll return a handle you can use to unsubscribe … I’m writing a pure-SLua implementation of the new event API first so people can comment on it before it’s solidified as production code, I’ve got a WIP version but I’m just sorting out some unsubscription bugs; the most notable ones, lists-in-lists and the ability to use dictionaries / objects.
-
- He also indicated the the LSL → SLua compiler “will be open-source once we’ve start the beta phase on Agni so people can feel free to improve it. It’s much more approachable than the current compiler.”
- Overall, the hope is to start beta testing of SLua on Agni in the next few months; ahead of that, Harold hopes to get an updated alpha to Aditi (the Beta grid) “to make sure events are sound”.
- Leviathan provided an update on another issue he has been looking into – a bug that would sometimes cause objects to not show up on login. In providing his update on this work, he noted:
The repro case we had was delicate and would not always show up. In any case that work finally merged into the next server update. The problem was: we were clearing out the server’s “interest list” info on login that would cause the viewer to have to re-request static/cacheable data. With the change going forward we now do a better job of resetting your interest list when you arrive at your final position in the region (on login or teleport from far away). This causes the stuff to show up maybe just a second or two sooner, and less likelihood of some stuff being missing.
- However, regarding the issue of issue of some people experiencing failures on logging-in (see my summary of the previous Leviathan Hour), Leviathan noted the fix he thought he had isn’t going to help. Instead, he was able to get a reliable repro which has helped better pin down the problem, which he described thus:
It turns out… if you login with lots of inventory folders at a lull in the traffic in SL you will be more likely to succeed. The system will happily handle 100k inventory folders in less than 10 seconds when the database and login.cgi servers are not under load. However, when things are busy the viewer might decide to timeout after 40 seconds. So… Signal has an idea for how to reduce the problem. It turns out you can configure Mysql server and clients to use gzip data transmission. This would happen between login.cgi and the database, while the login server is trying to compile the big chunk of data that it sends back to your viewer. Perhaps that idea will just help login.cgi and the database keep up and the problem may happen less frequently. That is the status of that.
He further noted another workaround would be to tweak the viewer’s timeout on that particular HTTPS request. This approach would allow TPVs make suitable changes and help their users get around the issue.
- Restoring LindenWorld:
- This has been a repeated request – to have LindenWorld (the Lab’s first attempt at a virtual environment) “brought back to the grid”, which has had pretty much the same answer with each request.
- In essence – the LindenWorld code is very different to the Second Life code; it is incompatible with the current account system. While these problems could be fixed, they would require time and effort.
- Harder to solve, as noted by Leviathan at this meeting, are matters of all the backend support: asset system, user database, spaceserver, etc.
- All of this would divert developer resources from Second Life, it “would require an unknown amount of backburner work. Couldn’t be done as a first priority”.
Date of Next Meetings
- Formal SUG meeting: Tuesday, August 19th, 2025.
- Leviathan Linden: Tuesday, August 26th, 2025.
† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.




