llPlaySound fails to play at unpredictable intervals in a specific region
tracked
Nuup Bergan
Identical issue to [BUG-6294] ( https://github.com/secondlife/jira-archive/issues/14166 )
llPlaySound in a script fails to play at unpredictable intervals in the region Vodka. Issue was first noticed in the beginning of march 2024.
I'm using the Firestorm beta but that's irrelevant because people with stable viewers are experiencing the same issue.
Expected Behavior
Using the function llPlaySound reliably
Actual Behavior
llPlaySound fails to play at unpredictable intervals.
Log In
Maestro Linden
tracked
Irish Munro
Now and then I hear dogs bark, cats meow and cannons go off. I have none of the above on my sim. I ask my partner if she heard the particular sound and she confirms it. It's no big deal. So let's move on and have fun.
Eren Padar
Irish Munro Second Life is an expensive virtual environment. For some people it is their "home". Would any of us like odd sounds repeatedly going off in our RL home, unable to locate the source?
Unwanted effects can spoil a carefully-crafted environment. Imagine you have a fantasy sim and every so often you hear a jet plane taking off, police sirens, or other totally out-of-place sounds.*
People pay a great deal for SL regions (an average of $3,000 per sim per year, sometimes less, sometimes more). That doesn't include the time investment, upload fees and inventory purchases to create a beautiful region. At such prices one should expect reliable performance, yes? ; )
I know when I trigger a sound (either manually or by script) I need that sound played when triggered. Otherwise, of what use is it?
* (That said, if you're hearing odd sounds... the most common cause of that is a sound emitter that someone has left behind or that a griefer has placed underground or in high sky. You might check the sources of such sounds to see if you can find their origin location, or see if there are any objects present owned by unauthorized residents.)
Eren Padar
While I'm glad Maestro Linden has found the primary cause of your specific issue, poor sound playing has been an issue throughout SL for many many years.
We find a similar problem in using gestures; sometimes the gesture and/or accompanying sound will be delayed for as long as 30 to 60 seconds after it's triggered.
At one time sounds and gestures played instantly and correctly. But this function has been broken so many times that a merchant friend packed up his shop because SL repeatedly broke his sound playing merchandise... and eventually no amount of scripting could work around the severity of the problem. Time and again he would "fix" the problem, but eventually he simply got tired of how many times LL broke the sound playing system.
As a sound scripter myself, I experienced exactly the same thing as that merchant. Bottom line is that sound playing and gestures simply do not work properly.
englishrose1 Resident
This happens to me every day and continues throughout my evening. It is very annoying and sometimes so bad I have given up and logged off.
Maestro Linden
Hi Nuup Bergan, I visited your region and can reproduce the issue. It appears that the viewer is throttling sound updates due to a very high rate - approximately 150 messages/second - of sound playback events from a few objects in your region. You can view these events in the viewer log by enabling Develop -> Network -> Enable Message Log; the sound update events will appear as
AttachedSound
in the log.From what I see in the message log, all the problematic objects are owned by your agent. This is almost certainly causing viewers to throttle sound playback events.
I used a script to print the object details of some of the sound-triggering objects, and they all seem to be in the same area of your sim:
93549ce4-2c7f-8887-38e3-359c8afe0bbe
[11:51] object details listener: Object details for 93549ce4-2c7f-8887-38e3-359c8afe0bbe:
_NAME: wheadlight
_DESC: (No Description)
_POS: <6.564804, 135.296300, 30.681810>
_ROT: <-0.502093, 0.498039, 0.497850, -0.502003>
_VELOCITY: <0.000000, 0.000000, 0.000000>
_OWNER: 6ff03b8a-2879-4d75-8e0e-40e30c537368
_GROUP: 00000000-0000-0000-0000-000000000000
_CREATOR: 6ff03b8a-2879-4d75-8e0e-40e30c537368
_RUNNING_SCRIPT_COUNT: 17
_TOTAL_SCRIPT_COUNT: 18
_TOTAL_SCRIPT_MEMORY: 1128112
_TOTAL_SCRIPT_TIME: 0.000027
_PRIM_EQUIVALENCE: 23
_SERVER_COST: 22.500000
_STREAMING_COST: 21.011410
_PHYSICS_COST: 13.940000
_CHARACTER_TIME: 0.000000
_ROOT: 8590c7cc-3ab9-d459-9923-bcb2e19021ee
_ATTACHED_POINT: 0
_PATHFINDING_TYPE: 0
_PHYSICS: 0
_PHANTOM: 0
_TEMP_ON_REZ: 0
llGetBoundingBox(): <-1.188598, -1.183152, -4.125910>, <0.444184, 1.180899, 1.195214>
[11:53] object details listener: Object details for fc5828c7-36f1-b542-f958-5a29991da7d0:
_NAME: BezierCurve.001
_DESC: (No Description)
_POS: <11.225070, 137.410500, 30.312990>
_ROT: <0.002209, 0.002201, 0.680025, -0.733182>
_VELOCITY: <0.000000, 0.000000, 0.000000>
_OWNER: 6ff03b8a-2879-4d75-8e0e-40e30c537368
_GROUP: 00000000-0000-0000-0000-000000000000
_CREATOR: 6ff03b8a-2879-4d75-8e0e-40e30c537368
_RUNNING_SCRIPT_COUNT: 17
_TOTAL_SCRIPT_COUNT: 17
_TOTAL_SCRIPT_MEMORY: 1013424
_TOTAL_SCRIPT_TIME: 0.000140
_PRIM_EQUIVALENCE: 30
_SERVER_COST: 22.750000
_STREAMING_COST: 30.450840
_PHYSICS_COST: 24.880000
_CHARACTER_TIME: 0.000000
_ROOT: 13cc7d56-3c2c-ba37-d27c-2c0658bf5549
_ATTACHED_POINT: 0
_PATHFINDING_TYPE: 0
_PHYSICS: 0
_PHANTOM: 0
_TEMP_ON_REZ: 0
llGetBoundingBox(): <-1.552905, -1.119370, -4.207952>, <0.487842, 1.119535, 1.161146>
[11:55] object details listener: Object details for 8d1a3dcc-a99b-f08b-b550-18283484146a:
_NAME: Object
_DESC: (No Description)
_POS: <170.810300, 99.468780, 15.975020>
_ROT: <-0.853568, -0.353539, -0.353495, 0.146536>
_VELOCITY: <0.000000, 0.000000, 0.000000>
_OWNER: 6ff03b8a-2879-4d75-8e0e-40e30c537368
_GROUP: 6799196e-6d75-fb81-12ab-3232255ff385
_CREATOR: 6ff03b8a-2879-4d75-8e0e-40e30c537368
_RUNNING_SCRIPT_COUNT: 1
_TOTAL_SCRIPT_COUNT: 1
_TOTAL_SCRIPT_MEMORY: 65536
_TOTAL_SCRIPT_TIME: 0.000001
_PRIM_EQUIVALENCE: 1
_SERVER_COST: 0.750000
_STREAMING_COST: 0.489775
_PHYSICS_COST: 0.480000
_CHARACTER_TIME: 0.000000
_ROOT: 8d1a3dcc-a99b-f08b-b550-18283484146a
_ATTACHED_POINT: 0
_PATHFINDING_TYPE: 0
_PHYSICS: 0
_PHANTOM: 0
_TEMP_ON_REZ: 0
llGetBoundingBox(): <-0.178667, -0.176672, -0.179380>, <0.166028, 0.176673, 0.165315>
[11:56] object details listener: Object details for 052a97f0-6d42-97cd-05ca-84535bd3942e:
_NAME: light
_DESC:
_POS: <11.139810, 132.726300, 30.701980>
_ROT: <0.681616, 0.025398, -0.027733, -0.730743>
_VELOCITY: <0.000000, 0.000000, 0.000000>
_OWNER: 6ff03b8a-2879-4d75-8e0e-40e30c537368
_GROUP: 00000000-0000-0000-0000-000000000000
_CREATOR: 6ff03b8a-2879-4d75-8e0e-40e30c537368
_RUNNING_SCRIPT_COUNT: 17
_TOTAL_SCRIPT_COUNT: 17
_TOTAL_SCRIPT_MEMORY: 1013424
_TOTAL_SCRIPT_TIME: 0.000139
_PRIM_EQUIVALENCE: 30
_SERVER_COST: 22.750000
_STREAMING_COST: 30.450840
_PHYSICS_COST: 24.880000
_CHARACTER_TIME: 0.000000
_ROOT: 13cc7d56-3c2c-ba37-d27c-2c0658bf5549
_ATTACHED_POINT: 0
_PATHFINDING_TYPE: 0
_PHYSICS: 0
_PHANTOM: 0
_TEMP_ON_REZ: 0
llGetBoundingBox(): <-1.552905, -1.119370, -4.207952>, <0.487842, 1.119535, 1.161146>
[11:59] object details listener: Object details for 79f2d462-b15c-5e34-aeab-1c3014f1def1:
_NAME: light
_DESC:
_POS: <8.705910, 139.647500, 30.818740>
_ROT: <0.006185, -0.703637, 0.710507, 0.006121>
_VELOCITY: <0.000000, 0.000000, 0.000000>
_OWNER: 6ff03b8a-2879-4d75-8e0e-40e30c537368
_GROUP: 00000000-0000-0000-0000-000000000000
_CREATOR: 6ff03b8a-2879-4d75-8e0e-40e30c537368
_RUNNING_SCRIPT_COUNT: 17
_TOTAL_SCRIPT_COUNT: 18
_TOTAL_SCRIPT_MEMORY: 1128112
_TOTAL_SCRIPT_TIME: 0.000027
_PRIM_EQUIVALENCE: 23
_SERVER_COST: 22.500000
_STREAMING_COST: 23.350090
_PHYSICS_COST: 13.940000
_CHARACTER_TIME: 0.000000
_ROOT: 7d986678-83dc-4232-19c9-1ceb8a8c9943
_ATTACHED_POINT: 0
_PATHFINDING_TYPE: 0
_PHYSICS: 0
_PHANTOM: 0
_TEMP_ON_REZ: 0
llGetBoundingBox(): <-1.188598, -1.183152, -4.125910>, <0.444184, 1.180899, 1.195214>
Looking up the root prim info of these objects, it seems like some of the cars parked in the garage around http://maps.secondlife.com/secondlife/Vodka/12/138/31 are to blame. I didn't look at every single packet, but it appears that your 'SUUP 3B Concept' and 'SUUP F0-Turbo Cabriolet' are at least partially to blame.
Curiously, it looks like the spammy sound updates are playing a NULL_KEY sound asset at zero volume. I'm not sure what's triggering this, but all the spammy objects are scripted, so it seems like some LSL scripts in the objects really could be calling
llPlaySound(NULL_KEY, 0)
or perhaps llLinkStopSound()
across several (or all?) prims in the linkset to cause this problem. I suspect that the viewer's sound beacons view isn't showing anything for these playback events because they are all silent.I did a bit more digging, and believe this is caused by scripts in the object calling either llStopSound() or llLinkStopSound() repeatedly. Arguably, the simulator should not be sending out messages for already-silent prims stopping their sound playback, but you might have a bug in your LSL scripts if they're indeed calling those functions repeatedly while the cars are parked. You may find it helpful to add some debug chat next to those function calls to see what's going on.
Is it possible to derez some of these objects, or at least disable the scripts in them? I would expect a reduced rate in AttachedSound events with them gone.
Nuup Bergan
Maestro Linden That was it! I fixed my car script bug and now all sounds are playing smoothly again. Thank you for the help!
Maestro Linden
Nuup Bergan glad the suggestion worked. I do think there's a legitimate simulator bug / performance issue here. I think it's reasonable to say that if some bugged script is repeatedly calling
llLinkStopSound(LINK_SET)
(which I suspect the cars were doing), the simulator should not
send an AttachedSound
message on each call, as the object was already silent.