sldev-traffic no 14
sldev discussions through June 1, 2007
Debit Permission Spoofing
There is a still-running conversation about how to address debit permission spoofing. In summary, its possible to lump together multiple permission requests in a permission request dialog, making it non obvious that debit permission is being granted. To wit, the dialog looks exactly as other dialogs users maya be accustomed to accepting blindly for actions as common as hugging and dancing.
Able Whitman attached a patch to, which makes the permissions dialog red if the debit permission is part of the request, as well as emitting the granter and the grantee's names to the log. Able's summary of the patch is also attached to the patch as a .txt file, wherein Able notes minor problems with the patch and asks for input.
More to follow when the thread runs its course. For now, the issue is still open and the problem still exists.
Comment at End of LSL File Crash Fixed
Nicholaz Beresford was running the game with the debugger attached and found a hard lock. After posting the location of the lock as, Lex Neva provided input that helped Nicholaz confirm that this lock happened when an LSL script ended in a comment. Nicholaz submitted a patch, and Sardonyx Linden confirmed that the bug was now fixed.
Crash with Invisible or Unrendered Flexis Crash Fixed
Nicholaz Beresford found a codepath wherein flexies could crash with an uninitialized variable. Nicholaz posted a patch against, and Tofu Linden confirmed that it had been applied.
Dead Data Elimination Patch
Nicholaz Beresford identified some uninitialized variables, which turned out to be uninitialized as they were unused. A cleanup patch is posted against. Nicholaz identified it as a low-priority fix, and to date it has not been accepted.
Uninitialized Members in llVolume
Nicholaz found some minor uninitialized variables. No malfunction was associated with these, but initialization would be safe, and Sardonyx Linden accepted the patch.
More Leaks Fixed
Nicholaz Beresford identified memory leaks in the group dialog. After some back and forth with Sardonyx Linden, Sardonyx confirmed that a fix had been developed. Nicholaz provided a patch, attached to, which Sardonyx reports fixed as well.
Nicholaz links to a post in his blog about his work so far. Thanks, Nicholaz!
VWR-364 Still Open
persisted in this week's update, causing some further discussion on the mailing list and on the JIRA. Patches are attached and awaiting criticism or integration.
Particle System Review
Nicholaz Beresford is continuing to examine why particle systems are not rendering consistently, with some emitters no longer emitting particles at all - referencefor discussion and one possible patch. Of note, Nicholaz found that there used to be a block of code in llViewerPartGroup.cpp that randomly selected a particle system to begin with on each update (as well as apparently choosing whether the systems would be updated in forward or reverse order) - this code is no longer there. Further, while the viewer allows activating a large number of particles, the particle count is capped at 4096 at llviewerpartsim.cpp:44 (look for uses of MAX_PART_COUNT).
A comment in some older particle code suggests that the author didn't want to sort particle systems, and Argent Stonecutter suggested that a "slow bubble sort" would be an improvement if a full sort weren't desired - presumably this means a single pass through what's normally the outer loop of a bubble sort. Argent also suggested preventing particle systems from spawning if they're outside the view distance.
Nicholaz posted a patch to the list which implements an approach which does not require sorting, though it does not appear to be copied to the JIRA yet. There was no review of the patch on the list.
Sticky Admin Options
Gigs Taggart posted a patch against, which makes the "view admin options" persist between logins.
Object to Object IM Discussion
Kamilion Schnook asked whether object to object IM support would happen. Gigs Taggart, Erik Anderson and Strife Onizuka exchanged several ideas on why the functionality might not exist at current, while Tateru Nino noted that the task had been voted up and accepted in the old feature voting system, but that the state of the feature was currently unknown. Chance Unknown pointed to a 2005 post by Zero Linden, which detailed one method of accomplishing object to object communications via a user-hosted PHP script.
Kelly Linden confirmed suspicions that the cost of central object location tracking was one reason why object to object communications could be difficult, but made the suggestion that it would be feasible to offload the duty of region tracking to the scripter, who would include a region ID along with the target object ID. For any application with a known location for one end, this would be an easy win.
Gigs Taggart asked about, in which odd messages are given for identified CPUs under Linux. Several issues are linked to this one in JIRA, not all of them Linux-related. Dzonatas Sol pointed to a patch she submitted against , which lead to a continued discussion on the topic within JIRA on this and . Tofu Linden suggests that /proc/cpuinfo may be the better source of CPU information under Linux, and that he believes he recalls that CPU vendors recommend that people stop using CPUID.
Setting the above aside, Dzonatas Sol also posted a note about a bogus comparison which was resulting in streaming extensions always being reported as present, at. This one didn't get any follow-up to date. (Thanks for your persistence on this, Dzonatas!)
Entering Brackets and Braces Crashes German Viewer - Fixed
Some users had noted that entering certain characters in international viewers caused crashes. As it turns out, features from the debug render features menu were being toggled by these keys! Nicholaz Beresford attached a fix to. There was no follow-up discussion.
Bryan O'Sullivan (Linden) posted, offering guidelines for how to submit patches that the Lindens can rapidly accept and integrate. Nicholaz Beresford took Bryan's request and added more details, producing Submitting patches. Gigs Taggart asked for some clarification on names being placed in the code, in response from a request by Rob Lanphier (Linden) to put credits in doc/contributions.txt as part of the patch. Ryan Williams (Linden) notes that names are only placed in code to note the most egregious hacks, for blame and cleanup, not for credit. Says Ryan, "So, we shouldn't be doing that, either."
SLDev Traffic-12 Errata
In SLDev Traffic-12, I wrote about Callum Lerwick's patches for supporting OpenAL:
This could be a first step toward eliminating the need for fmod. In the past, there has also been discussion of replacing fmod with gstreamer, but no patches have been submitted.
To be clear, fmod provides not only an audio voice playback API, but decoding as well. OpenAL and gstreamer would be complementary in replacing fmod, handling the voice abstraction and stream decoding respectively... ultimately we'd love to see both integrated, not one or the other. Seg Baphomet pointed out the ambiguity of my statement.
(Thanks for keeping me on my toes. -- Soft) :)