MantisBT - opensim
View Issue Details
0008390opensim[REGION] Script Functionspublic2018-10-06 12:362018-10-08 07:48
highmajorhave not tried
Grid (1 Region per Sim)
0008390: colllision_start() event cycles repeatedly
The collision_start() event cycles every 2 seconds, repeating a collision event for the same avatar.

Expected activity: It should register collision of the same avatar once, ignoring further collisions until the avatar leaves the collision area.
Create a platform 10m diameter.

Add the following script:

collision_start(integer a){llOwnerSay("Detected collision event.");}

The event will register a new collision every 2 seconds instead of once (at the start of agent contact).
This causes minor cascade problems on scripts that require collision_start() to be a one-time event. In some instances it will cause repetitive teleports, song players to re-start music, notecards and landmarks to be given repetitively, etc.

Since collision_start() usage is very common, this might be considered a major scripting issue.
No tags attached.
Issue History
2018-10-06 12:36SnootsDwagonNew Issue
2018-10-07 05:56mewtwo0641Note Added: 0033135
2018-10-07 06:04SnootsDwagonNote Added: 0033136
2018-10-07 06:04SnootsDwagonNote Edited: 0033136bug_revision_view_page.php?bugnote_id=33136#r6794
2018-10-07 06:05SnootsDwagonNote Added: 0033137
2018-10-07 06:06SnootsDwagonNote Added: 0033138
2018-10-07 07:38mewtwo0641Note Added: 0033139
2018-10-07 10:17SnootsDwagonNote Added: 0033142
2018-10-07 19:47mewtwo0641Note Added: 0033144
2018-10-07 20:53SnootsDwagonNote Added: 0033145
2018-10-08 07:48SnootsDwagonNote Added: 0033147

2018-10-07 05:56   
I was not able to reproduce this in master revision. It did register a second collision when I first stepped up onto the prim but I suspect that's because my avatar bounces into the air ever so slightly as it walks up the side of the prim and lands (Using a <10.0, 10.0, 0.1> sized prim). But other than that I can walk on it indefinitely or stand still indefinitely and it never registers another collision unless I jump and land back on the prim again.
2018-10-07 06:04   
Thanks Mew. I'll test it again in various locations and see what I come up with.

2018-10-07 06:05   
Follow-up: I plan on testing with various avatars to see if the avatar bounding box may have something to do with it.
2018-10-07 06:06   
Question Mew: Did you test on Bullet or Ubode physics?
2018-10-07 07:38   
I tested with ubODE physics with an av height of 1.67m
2018-10-07 10:17   
That's likely the difference. This report applies to Bullet physics. However, your testing indicates the problem doesn't exist in Ubode, so that's good to know. : )
2018-10-07 19:47   
Hi, I retested with BulletSim as physics and still was unable to reproduce. I also tried with a short avatar (1.37m; the shortest it can be made without body deformers) as well as a tall avatar (2.36m; the tallest it can be made).
2018-10-07 20:53   
Thanks Mew. I haven't had a chance to test yet. I'll put it on the top of my to-do list.
2018-10-08 07:48   
I tested this on a 10x10 platform at 21m. While it didn't cycle every 2 seconds, it did register multiple contacts by the same avatar.

This was tested on a primary, little-used sandbox, both at 21m and 3500m, on platforms ranging from 5m to 20m. Performance was identical.

So the good news it it's not cycling at 2 seconds as it was on the 1st test... but it is registering multiple contacts by the same avatar.

To test the different avatar theory I switched to my "Basic TP av" which is just body and textured clothing. It also registered multiple collisions.

Expected function: collision_start() should register only the first contact until the avatar leaves the object. No additional contacts should be registered, either while standing still or during walking, as neither function should cause the avatar to leave the contact point.