Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002221opensim[REGION] Physics Enginespublic2008-09-20 09:542018-01-06 17:12
Reportertyre 
Assigned ToUbitUmarov 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0002221: [ODE] Erratic behavior of llMoveToTarget()
DescriptionRepro:

1) Rezz a prim, drop in this sample script: (see also http://wiki.secondlife.com/wiki/Follower_script [^])

---------------
vector myOffset = <-1, 0, 1>; // Offset back one metre in X and up one metre in Z based on world coordinates. Use whatever you want.
 
default
{
    state_entry()
    {
        llSetStatus(STATUS_PHYSICS, TRUE);
        llSleep(0.1); // Little pause to allow server to make potentially large linked object physical.
        llSensorRepeat("", llGetOwner(), AGENT, 20.0, PI, 5.0); // Look for owner within 20 metres in 360 degree arc every 5 seconds.
    }
    sensor(integer total_number)
    {
        // Get avatars position and rotation
        vector avPos = llDetectedPos(0);
        rotation avRot = llDetectedRot(0);
        vector myNewPos = avPos + myOffset * avRot; // Offset relative to avatar needs a quaternion.
        llOwnerSay("Owner is at " + (string) avPos + ", I move to " + (string) myNewPos);
        llMoveToTarget(myNewPos, 0.4);
    }
}
---------------

2) Watch what happens :D

Chat log:
----------
 Follower: Owner is at <68.595490,159.767700,22.629759>, I move to <68.272136,160.713978,23.629759>

Console log:
----------
18:36:42 - [Compiler]: Compiled new assembly for c5bca928-b07a-48b6-b8a5-abd929353060
18:36:42 - [XEngine]: Loaded script Follower.Follower
18:36:48 - [INTERREGION]: Prim crossing failed for Follower 1f324108-6a5a-43c7-8ead-cb50ecd62534 (<2.419351E+08, -3.089247E+08, 1.052398E+08>)
18:36:48 - {[INTERREGION]: A new prim arrived from a neighbor
18:36:48 - [REGION DB]: Removing obj: 1f324108-6a5a-43c7-8ead-cb50ecd62534 from region: 7671cfa6-c00c-4f28-9119-b208d7d78262
18:36:48 - {[INTERREGION]: A new prim arrived from a neighbor
18:36:48 - [REGION DB]: Removing obj: 1f324108-6a5a-43c7-8ead-cb50ecd62534 from region: 1a88c0fa-d4b1-4d26-8749-450f643c6d34
18:36:48 - [INTERREGION]: Prim crossing failed for Follower 1f324108-6a5a-43c7-8ead-cb50ecd62534 (<-6.745481E+26, 8.613251E+26, -2.934226E+26>)
18:36:48 - [INTERREGION]: Prim crossing failed for Follower 1f324108-6a5a-43c7-8ead-cb50ecd62534 (<-6.745481E+26, 8.613251E+26, -2.934226E+26>)
18:36:48 - [INTERREGION]: Prim crossing failed for Follower 1f324108-6a5a-43c7-8ead-cb50ecd62534 (<-6.745481E+26, 8.613251E+26, -2.934226E+26>)
18:36:48 - [INTERREGION]: Prim crossing failed for Follower 1f324108-6a5a-43c7-8ead-cb50ecd62534 (<-6.745481E+26, 8.613251E+26, -2.934226E+26>)
18:36:48 - [PHYSICS]: Too many crossing failures for: Follower
18:36:48 - [INTERREGION]: Prim crossing failed for Follower 1f324108-6a5a-43c7-8ead-cb50ecd62534 (<-6.745481E+26, 8.613251E+26, -2.934226E+26>)
18:36:48 - [PHYSICS]: Physical Object went out of bounds.
18:37:00 - [SCENE]: Storing Follower, 1f324108-6a5a-43c7-8ead-cb50ecd62534 in Far Away
18:37:00 - [INTERREGION]: Prim crossing failed for Follower 1f324108-6a5a-43c7-8ead-cb50ecd62534 (<-6.745481E+26, 8.613251E+26, -2.934226E+26>)
18:37:00 - [REGION DB]: Persisting Prim Inventory with prim ID 1f324108-6a5a-43c7-8ead-cb50ecd62534
Additional InformationTested with XEngine only
TagsNo tags attached.
Git Revision or version number
Run Mode Standalone (Multiple Regions)
Physics EngineODE
Environment.NET / Windows32
Mono VersionNone
Viewer
Attached Filespatch file icon SetCurrentCulture.patch [^] (15,305 bytes) 2008-09-21 08:00 [Show Content]

- Relationships
child of 0003987acknowledged [ODE] 

-  Notes
(0005382)
tyre (reporter)
2008-09-21 07:30

This issue seems to be related to wrong (default) culture settings in the ODE plugin. (I usually use a german WinXP and .NET Environment)

I have added some logging infos to ODEPrim.cs (starting at line 1203):

--------------------
                if (fx != 0 || fy != 0 || fz != 0)
                {
                    d.Vector3 pos = d.BodyGetPosition(Body);
                    m_log.Info("[OBJPID]: pos: <" + pos.X.ToString() + "," + pos.Y.ToString() + "," + pos.Y.ToString() + ">" +
                        " fx:" + fx.ToString() + " fy:" + fy.ToString() + " fz:" + fz.ToString());
                    //m_taintdisable = true;
                    //base.RaiseOutOfBounds(Position);
                    //d.BodySetLinearVel(Body, fx, fy, 0f);
                    enableBodySoft();
                    d.BodyAddForce(Body, fx, fy, fz);
                }
 ------------------

In the console log I now see this:

-------
16:01:19 - [Compiler]: Returning existing assembly for c5bca928-b07a-48b6-b8a5-abd929353060
16:01:19 - [XEngine]: Loaded script Follower.Follower
16:01:24 - [OBJPID]: pos: <70,34712,157,1952,157,1952> fx:601,3506 fy:153,0116 fz:427,6151
16:01:24 - [OBJPID]: pos: <70,45933,157,2213,157,2213> fx:1192,003 fy:310,1746 fz:663,6523
16:01:24 - [OBJPID]: pos: <70,95298,157,3467,157,3467> fx:1729,203 fy:444,748 fz:1087,3
16:01:24 - [OBJPID]: pos: <71,99998,157,6144,157,6144> fx:544,6265 fy:141,1979 fz:322,1739
16:01:24 - [OBJPID]: pos: <73,22125,157,9273,157,9273> fx:-7810,069 fy:-1999,643 fz:-5071,399
16:01:24 - [OBJPID]: pos: <71,94331,157,6003,157,6003> fx:20968,26 fy:5364,72 fz:13763,83
16:01:24 - [OBJPID]: pos: <77,3752,158,99,158,99> fx:-289170,3 fy:-73981,1 fz:-189707,8
16:01:24 - [OBJPID]: pos: <-9,727348,136,7057,136,7057> fx:1,243494E+07 fy:3181344 fz:8158385
16:01:24 - [OBJPID]: pos: <3882,347,1132,451,1132,451> fx:-1,423169E+09 fy:-3,641022E+08 fz:-9,337192E+08
16:01:24 - [OBJPID]: pos: <-447639,3,-114384,4,-114384,4> fx:4,166173E+11 fy:1,06587E+11 fz:2,733362E+11
16:01:24 - {[INTERREGION]: A new prim arrived from a neighbor
16:01:24 - [REGION DB]: Removing obj: 7ff296ab-11f9-4680-a2df-396eae7af6e1 from region: 7671cfa6-c00c-4f28-9119-b208d7d78262
16:01:25 - {[INTERREGION]: A new prim arrived from a neighbor
16:01:25 - [REGION DB]: Removing obj: 7ff296ab-11f9-4680-a2df-396eae7af6e1 from region: 1a88c0fa-d4b1-4d26-8749-450f643c6d34
16:01:25 - [INTERREGION]: Prim crossing failed for Follower 7ff296ab-11f9-4680-a2df-396eae7af6e1 (<1.324175E+08, 3.387715E+07, 8.687757E+07>)
16:01:25 - [INTERREGION]: Prim crossing failed for Follower 7ff296ab-11f9-4680-a2df-396eae7af6e1 (<1.324175E+08, 3.387715E+07, 8.687757E+07>)
16:01:25 - [INTERREGION]: Prim crossing failed for Follower 7ff296ab-11f9-4680-a2df-396eae7af6e1 (<1.324175E+08, 3.387715E+07, 8.687757E+07>)
16:01:25 - [INTERREGION]: Prim crossing failed for Follower 7ff296ab-11f9-4680-a2df-396eae7af6e1 (<1.324175E+08, 3.387715E+07, 8.687757E+07>)
16:01:25 - [PHYSICS]: Too many crossing failures for: Follower
16:01:25 - [INTERREGION]: Prim crossing failed for Follower 7ff296ab-11f9-4680-a2df-396eae7af6e1 (<1.324175E+08, 3.387715E+07, 8.687757E+07>)
16:01:25 - [PHYSICS]: Physical Object went out of bounds.
16:01:31 - [SCENE]: Storing Follower, 7ff296ab-11f9-4680-a2df-396eae7af6e1 in Far Away
16:01:31 - [INTERREGION]: Prim crossing failed for Follower 7ff296ab-11f9-4680-a2df-396eae7af6e1 (<1.324175E+08, 3.387715E+07, 8.687757E+07>)
16:01:31 - [REGION DB]: Persisting Prim Inventory with prim ID 7ff296ab-11f9-4680-a2df-396eae7af6e1
-------

Look at the pos vector in the [OBJPID] lines, there are comas where should be dots.

Unfortunatly I dont find a way to change the culture settings for the ODE plugin.
(0005383)
melanie (administrator)
2008-09-21 07:31

We should really tell people to run OpenSim in a US culture setting
(0005384)
tyre (reporter)
2008-09-21 07:38

Yes, but HOW if one owns a non US WinXP?
(0005385)
melanie (administrator)
2008-09-21 07:38

i think it can be set per process in .NET. in mono, it's aconfig file
(0005386)
tyre (reporter)
2008-09-21 08:00

Just to be sure, the attached patch adds the correct US culture settings to every new thread, but this won't solve this issue either.
(0005408)
tyre (reporter)
2008-09-22 04:32

Anyway... this patch should go in to prevent further issues related to incorrect culture settings.
(0005730)
Twitch (manager)
2008-10-06 11:21

This ticket describes the typical pathology of a physical scripted prim when it attempts to travel from it's region of origin into an adjacent region. This is, at present, an unimplemented functionality so the ticket has been set to status 'suspended' pending the implementation of this functionality.
(0005735)
tyre (reporter)
2008-10-06 12:27
edited on: 2008-10-06 12:34

Twitch, I tried to describe in detail what happend when I started this sample script from SL wiki. The scripted prim should follow you avatar closely (Offset back one metre in X and up one metre in Z) and I rezzed that prim and started the script just a few meters away (same region).

I think this issue here is simply related to incorrect culture settings: Comma vs. Dot, see this log entry:

16:01:24 - [OBJPID]: pos: <70,34712,157,1952,157,1952>

But I don't know how to fix that. Any hints would be very much apprechiated.

(0005739)
Teravus (administrator)
2008-10-06 20:01

The ODEPlugin never actually 'parses' a vector. It takes whatever vector the simulator gives it. Therefore, the premise that culture settings are being parsed incorrectly in the ODE Plugin is false.

The parsing error is somewhere else.
(0006279)
tyre (reporter)
2008-10-17 09:52

Still an issue for me with r6886.

If ODE don't 'parses' vectors, there must be another reason for it... edited the summary accordingly.
(0007964)
Teravus (administrator)
2008-12-15 06:43

Can you post the ODEPhysicsSettings section of your opensim.ini?
(0008701)
master zephyr (reporter)
2009-01-10 20:02
edited on: 2009-01-10 20:10

We also see this w. about any type of follower script. In rev.7970 UGAIM under xp hosting many local regions gridmode, the object ends up on the map in a cornor. In god mode as owner of the(region) the object becomes un-reachable and is also not returnable or deletable. It can however be disabled. The object end's up w. a + or - hight or depth of 32000m, When a becon of the object is lit, it points to the spot the object was created at, not the actual x,y,x as reported in godmode.
The object also becomes inviso. to the owner even if they own whole sim and the object.
We have a few of these "Stuck" in places now lol. I have to deactivate them in god mode. I then added in a DIE function for testing it further and that at least does the job should it get away from you. I was going to mantis this but decided to look and see if there wasent one all ready. We also see this happen when apply implulse is used. I would suggest adding in a timed DIE if ppl are trying to sort this bug out. At one time though, the follower script did work.
Sadly i was not recording rev.'s then and its been at least 5mos back when it did.

(0032494)
UbitUmarov (administrator)
2018-01-06 17:12

obsolete

- Issue History
Date Modified Username Field Change
2008-09-20 09:54 tyre New Issue
2008-09-20 09:54 tyre SVN Revision => 6385
2008-09-20 09:54 tyre Run Mode => Standalone (Multiple Regions)
2008-09-20 09:54 tyre Physics Engine => ODE
2008-09-20 09:54 tyre Environment => .NET / Windows32
2008-09-20 09:57 tyre Description Updated
2008-09-20 10:03 tyre Description Updated
2008-09-21 07:30 tyre Note Added: 0005382
2008-09-21 07:31 melanie Note Added: 0005383
2008-09-21 07:31 tyre Summary llMoveToTarget() is faulty => [ODE] llMoveToTarget() is faulty -- Non US culture settings?
2008-09-21 07:32 melanie Category [REGION] OpenSim Core => [REGION] Physics Engines
2008-09-21 07:32 melanie Summary [ODE] llMoveToTarget() is faulty -- Non US culture settings? => [ODE] fails with non US culture settings
2008-09-21 07:38 tyre Note Added: 0005384
2008-09-21 07:38 melanie Note Added: 0005385
2008-09-21 08:00 tyre File Added: SetCurrentCulture.patch
2008-09-21 08:00 tyre Note Added: 0005386
2008-09-22 04:32 tyre Note Added: 0005408
2008-09-22 04:32 tyre Status new => patch included
2008-10-06 11:21 Twitch Status patch included => closed
2008-10-06 11:21 Twitch Note Added: 0005730
2008-10-06 11:21 Twitch Resolution open => suspended
2008-10-06 12:27 tyre Status closed => feedback
2008-10-06 12:27 tyre Resolution suspended => reopened
2008-10-06 12:27 tyre Note Added: 0005735
2008-10-06 12:29 tyre Note Edited: 0005735
2008-10-06 12:34 tyre Note Edited: 0005735
2008-10-06 20:01 Teravus Note Added: 0005739
2008-10-17 09:52 tyre Note Added: 0006279
2008-10-17 09:52 tyre Summary [ODE] fails with non US culture settings => [ODE] Erratic behavior of llMoveToTarget()
2008-12-15 06:43 Teravus Note Added: 0007964
2008-12-26 14:16 Teravus Mono Version => None
2008-12-26 14:16 Teravus Target Version => 0.6.2
2009-01-10 20:02 master zephyr Note Added: 0008701
2009-01-10 20:03 master zephyr Note Edited: 0008701
2009-01-10 20:05 master zephyr Note Edited: 0008701
2009-01-10 20:10 master zephyr Note Edited: 0008701
2009-01-21 03:05 lbsa71 Relationship added child of 0002870
2009-01-21 03:06 lbsa71 Relationship deleted child of 0002870
2009-08-09 05:57 Fly-Man- Relationship added child of 0003987
2018-01-06 17:12 UbitUmarov Note Added: 0032494
2018-01-06 17:12 UbitUmarov Status feedback => closed
2018-01-06 17:12 UbitUmarov Assigned To => UbitUmarov
2018-01-06 17:12 UbitUmarov Resolution reopened => fixed


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker