secondlife / jira-archive

2 stars 0 forks source link

[BUG-9724] llGetRootRotation() on an attachment is broken. #17193

Open sl-service-account opened 9 years ago

sl-service-account commented 9 years ago

Steps to Reproduce

To reproduce this bug, create a box and add a script inside it, with the following source code :


default {
  state_entry () {
    llSetTimerEvent (0.5);
  }

  timer() {
    llSetText ((string)llGetRootRotation(), < 1, 1, 1 >, 1);
  }
}

Wear that box anywhere on your avatar, HUD or not it doesn't make any difference.

Click on your avatar name, hold the mouse button down.

Move your mouse (still holding the mouse button) up or down until your camera is looking up or down more than 45° from the horizontal plane. Once there, release the mouse button and don't move your avatar.

Witness the white hovertext change twice a second... It should not change if you're not moving. This is not a rounding error, you can actually see the numbers change in a sinusoidal fashion and the steeper the angle, the bigger the span.

Edit : It seems being inside a mesh building may be helpful or even required to reproduce the bug.

Actual Behavior

I'm working on a project that needs an attachment to report the avatar's rotation in the XY plane, and I noticed that when the camera is looking up or down, the reported rotation is unstable. Tried with a very simple script to reproduce the issue, got a firm reproduction.

Expected Behavior

The avatar rotation should be exact and stable.

Other information

Please note that while I'm using the RLV, the same bug happens on the official SL viewer.

Attachments

Original Jira Fields | Field | Value | | ------------- | ------------- | | Issue | BUG-9724 | | Summary | llGetRootRotation() on an attachment is broken. | | Type | Bug | | Priority | Unset | | Status | Accepted | | Resolution | Accepted | | Reporter | Marine Kelley (marine.kelley) | | Created at | 2015-07-22T08:28:01Z | | Updated at | 2015-10-21T01:56:58Z | ``` { 'Business Unit': ['Platform'], 'Date of First Response': '2015-07-22T12:38:08.820-0500', "Is there anything you'd like to add?": "Please note that while I'm using the RLV, the same bug happens on the official SL viewer.", 'Severity': 'Unset', 'System': 'SL Viewer', 'Target Viewer Version': 'viewer-development', 'What just happened?': "I'm working on a project that needs an attachment to report the avatar's rotation in the XY plane, and I noticed that when the camera is looking up or down, the reported rotation is unstable. Tried with a very simple script to reproduce the issue, got a firm reproduction.", 'What were you doing when it happened?': "To reproduce this bug, create a box and add a script inside it, with the following source code :\r\n\r\ndefault {\r\n state_entry () {\r\n llSetTimerEvent (0.5);\r\n }\r\n \r\n timer() {\r\n llSetText ((string)llGetRootRotation(), < 1, 1, 1 >, 1);\r\n }\r\n}\r\n\r\n\r\nWear that box anywhere on your avatar, HUD or not it doesn't make any difference.\r\n\r\nClick on your avatar name, hold the mouse button down.\r\n\r\nMove your mouse (still holding the mouse button) up or down until your camera is looking up or down more than 45° from the horizontal plane. Once there, release the mouse button and don't move your avatar.\r\n\r\nWitness the white hovertext change twice a second... It should not change if you're not moving. This is not a rounding error, you can actually see the numbers change in a sinusoidal fashion and the steeper the angle, the bigger the span.", 'What were you expecting to happen instead?': 'The avatar rotation should be exact and stable.', 'Where': 'Anywhere on the SL grid, the location is irrelevant.', } ```
sl-service-account commented 9 years ago

Kyle Linden commented at 2015-07-22T17:38:09Z

Hi Marine,

Will you please confirm that you can reproduce this bug on the current release viewer Second Life 3.8.1 (303130) Jun 30 2015 16:26:17 (Second Life Release).

I cannot reproduce the problem with the steps you provided on the Second Life release viewer.

Thanks

sl-service-account commented 9 years ago

Whirly Fizzle commented at 2015-07-22T17:44:08Z

I cannot reproduce this on Second Life 3.8.1 (303130) Jun 30 2015 16:26:17 (Second Life Release) or on Firestorm 4.7.2. I tested attaching the repro prim to a HUD point and to the skull attachment point.

Second Life 3.8.1 (303130) Jun 30 2015 16:26:17 (Second Life Release)
Release Notes

You are at 87.6, 102.4, 21.8 in Testylvania Sandbox located at sim10356.agni.lindenlab.com (216.82.50.78:13014)
SLURL: http://maps.secondlife.com/secondlife/Testylvania%20Sandbox/88/102/22
(global coordinates 332,632.0, 306,278.0, 21.8)
Second Life RC Magnum 15.07.16.303633
Release Notes

CPU: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz (3491.94 MHz)
Memory: 16268 MB
OS Version: Microsoft Windows 7 64-bit Service Pack 1 (Build 7601)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce GTX 750/PCIe/SSE2

Windows Graphics Driver Version: 10.18.0013.5330
OpenGL Version: 4.5.0 NVIDIA 353.30

libcurl Version: libcurl/7.38.0 OpenSSL/1.0.1h zlib/1.2.8
J2C Decoder Version: KDU v7.2
Audio Driver Version: FMOD Ex 4.44.31
Qt Webkit Version: 4.7.1 (version number hard-coded)
Voice Server Version: Vivox 4.6.0017.21209

Built with MSVC version 1800
Packets Lost: 322/75,745 (0.4%)
sl-service-account commented 9 years ago

Marine Kelley commented at 2015-07-22T18:15:24Z

This is odd. I can reproduce it 100% of the time... on the second floor of my mesh house, but anywhere else is quite random. I could reproduce the bug at http://maps.secondlife.com/secondlife/Musing%20Meadows/183/121/26, exactly at those coordinates, and with the camera pretty close (i.e. not bumping into the ceiling). It's inside a mesh building, seems I have to be inside one if I want to reproduce it. Maybe the camera is being disturbed by the collision mesh or something, I don't know. I know though that it reproduces on the official SL viewer too, I'm looking at the numbers going all over the place as I'm typing this comment.

Hope this helps, Marine

sl-service-account commented 9 years ago

Marine Kelley commented at 2015-07-22T18:33:47Z

After some research, it seems to happen when the camera is close to a mesh object (the wall of a house for example), as I could reproduce it at http://maps.secondlife.com/secondlife/Redemption/222/22/50 (that spot is close to a wall, but I can't reproduce the bug in the middle of a room in that house).

It doesn't seem to do that when I'm standing close to a mesh object outside, but when I'm inside a house (i.e. a concave mesh object), like at http://maps.secondlife.com/secondlife/Musing%20Meadows/121/200/31, then I reproduce it all the time.

sl-service-account commented 9 years ago

Kyle Linden commented at 2015-07-22T23:56:50Z

Hi Marine,

I still cannot reproduce the issue in either Musing Meadows or Redemption. I wonder if you have a particular setting that is affecting the behavior you are experiencing.

If after checking these settings and trying to change them, does the problem go away?

If not, please reproduce this problem with the Second Life viewer and attach the SecondLife.log data from your viewer to this issue; see https://wiki.secondlife.com/wiki/Finding_Log_Files

Thanks

sl-service-account commented 9 years ago

Whirly Fizzle commented at 2015-07-23T01:10:56Z, updated at 2015-07-23T01:28:55Z

I can reproduce it at Marine's location: http://maps.secondlife.com/secondlife/Musing%20Meadows/183/121/26 Repro'd on Second Life 3.8.1 (303130) Jun 30 2015 16:26:17 (Second Life Release)

Gif showing the repro - I have the repro script attached to Center HUD point and also to skull: http://gyazo.com/085cfb9d8ca88af2bb6ea876073888e3

Repros on default settings (I deleted my settings folder). My graphics quality defauts to High-Ultra. (Note that on default settings, you cannot left click hold on your avatar nametag to change camera angle, as Marine says to do in her repro. This is because single click to move is enabled by default. You can either disable single click move or just change camera angle the usual way with CTRL+ALT & ALT+zoom, either way will repro.)

It's really location dependant, even close to that mesh wall. Bit tricky to reproduce consistantly.

sl-service-account commented 9 years ago

Whirly Fizzle commented at 2015-07-23T01:14:25Z

Attached Whirly_1.log from session on default release when I made the above gif.

sl-service-account commented 9 years ago

Marine Kelley commented at 2015-07-23T06:59:42Z, updated at 2015-07-23T07:02:18Z

Thank you for spending time to reproduce it and for giving it attention, Whirly and Kyle. Sorry for not precising that my single click action wasn't set to move me, and yes my camera is unconstrained. My graphics are set to Ultra by default, and I didn't change anything to them.

Whirly's GIF shows exactly what I was observing, indeed, numbers that changes every cycle.

I know this is an odd bug, it took me time to find a few places yesterday. I've never noticed it before and I've been using llGetRootRotation() for years. I think the multiplication of mesh houses has a thing to do with its detection. Good luck !

sl-service-account commented 9 years ago

Kyle Linden commented at 2015-07-24T16:22:43Z

Thank you both for the updated information. I still cannot reproduce the issue, however there is enough proof that it is happening to qualify this as a bug.

Thanks

sl-service-account commented 9 years ago

Kadah Coba commented at 2015-10-18T23:24:32Z, updated at 2015-10-21T01:56:59Z

Jasdac Stockholm brought this to my attention (he is unable to comment here). We did some testing and were unable to repo on my sim, but could at http://maps.secondlife.com/secondlife/Quiddity/123/126/23 until it was rebooted. Both regions are running Second Life Server 15.09.25.305449.

He was able to repo at another sim where it would tick incorrectly for a while before locking in to the correct rotation.

I noticed while it was repoing for me that x and y were non-zero while in 3rd person default camera and the phantom rotation was apparently in all axes. Feels like a recursive off-by-one or bit-shift.