From e8ca900ef837f7d4faa7e9cc4dd9e02947a4d46f Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 3 Sep 2014 12:57:29 -0400 Subject: [PATCH 01/12] Move the 32 bit launchers as discussed at OpenSimulator Office Hour 9//2/14 http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2014-09-02. --- share/32BitLaunch/OpenSim.32BitLaunch.exe | Bin 0 -> 5632 bytes .../OpenSim.32BitLaunch/Program.cs | 59 ++++++++++++++++ .../Properties/AssemblyInfo.cs | 63 ++++++++++++++++++ share/32BitLaunch/README | 5 ++ share/32BitLaunch/Robust.32BitLaunch.exe | Bin 0 -> 5632 bytes .../32BitLaunch/Robust.32BitLaunch/Program.cs | 60 +++++++++++++++++ .../Properties/AssemblyInfo.cs | 63 ++++++++++++++++++ .../Robust.32BitLaunch/Robust.32BitLaunch.sln | 20 ++++++ 8 files changed, 270 insertions(+) create mode 100755 share/32BitLaunch/OpenSim.32BitLaunch.exe create mode 100644 share/32BitLaunch/OpenSim.32BitLaunch/Program.cs create mode 100644 share/32BitLaunch/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs create mode 100644 share/32BitLaunch/README create mode 100755 share/32BitLaunch/Robust.32BitLaunch.exe create mode 100644 share/32BitLaunch/Robust.32BitLaunch/Program.cs create mode 100644 share/32BitLaunch/Robust.32BitLaunch/Properties/AssemblyInfo.cs create mode 100644 share/32BitLaunch/Robust.32BitLaunch/Robust.32BitLaunch.sln diff --git a/share/32BitLaunch/OpenSim.32BitLaunch.exe b/share/32BitLaunch/OpenSim.32BitLaunch.exe new file mode 100755 index 0000000000000000000000000000000000000000..62c14af416b823e435f976ca503ed51974f3c899 GIT binary patch literal 5632 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 literal 0 HcmV?d00001 diff --git a/share/32BitLaunch/Robust.32BitLaunch/Program.cs b/share/32BitLaunch/Robust.32BitLaunch/Program.cs new file mode 100644 index 0000000000..490414c456 --- /dev/null +++ b/share/32BitLaunch/Robust.32BitLaunch/Program.cs @@ -0,0 +1,60 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using log4net; + +namespace Robust._32BitLaunch +{ + class Program + { + static void Main(string[] args) + { + log4net.Config.XmlConfigurator.Configure(); + + System.Console.WriteLine("32-bit OpenSim executor"); + System.Console.WriteLine("-----------------------"); + System.Console.WriteLine(""); + System.Console.WriteLine("This application is compiled for 32-bit CPU and will run under WOW32 or similar."); + System.Console.WriteLine("All 64-bit incompatibilities should be gone."); + System.Console.WriteLine(""); + System.Threading.Thread.Sleep(300); + try + { + global::OpenSim.Server.OpenSimServer.Main(args); + } + catch (Exception ex) + { + System.Console.WriteLine("OpenSim threw an exception:"); + System.Console.WriteLine(ex.ToString()); + System.Console.WriteLine(""); + System.Console.WriteLine("Application will now terminate!"); + System.Console.WriteLine(""); + } + } + } +} diff --git a/share/32BitLaunch/Robust.32BitLaunch/Properties/AssemblyInfo.cs b/share/32BitLaunch/Robust.32BitLaunch/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..cf80f472ef --- /dev/null +++ b/share/32BitLaunch/Robust.32BitLaunch/Properties/AssemblyInfo.cs @@ -0,0 +1,63 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Robust.32BitLaunch")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("http://opensimulator.org")] +[assembly: AssemblyProduct("Robust.32BitLaunch")] +[assembly: AssemblyCopyright("Copyright (c) 2008")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("5072e919-46ab-47e6-8a63-08108324ccdf")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("0.6.3.*")] +[assembly: AssemblyVersion("0.6.3.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/share/32BitLaunch/Robust.32BitLaunch/Robust.32BitLaunch.sln b/share/32BitLaunch/Robust.32BitLaunch/Robust.32BitLaunch.sln new file mode 100644 index 0000000000..a48a2d34fc --- /dev/null +++ b/share/32BitLaunch/Robust.32BitLaunch/Robust.32BitLaunch.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robust.32BitLaunch", "Robust.32BitLaunch.csproj", "{595D67F3-B413-4A43-8568-5B5930E3B31D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {595D67F3-B413-4A43-8568-5B5930E3B31D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {595D67F3-B413-4A43-8568-5B5930E3B31D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {595D67F3-B413-4A43-8568-5B5930E3B31D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {595D67F3-B413-4A43-8568-5B5930E3B31D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal From 3e5bc75f89998e9b1bba5e7e5f4042e883afb522 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 3 Sep 2014 13:00:09 -0400 Subject: [PATCH 02/12] Remove the 32 bit launchers as discussed at OpenSimulator Office Hour 9//2/14 http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2014-09-02. Find the binaries, sources and README in ./share/32BitLaunch if needed. --- .../OpenSim.32BitLaunch.csproj | 97 ----------------- OpenSim/Tools/OpenSim.32BitLaunch/Program.cs | 59 ----------- .../Properties/AssemblyInfo.cs | 63 ----------- OpenSim/Tools/Robust.32BitLaunch/Program.cs | 60 ----------- .../Properties/AssemblyInfo.cs | 63 ----------- .../Robust.32BitLaunch.csproj | 99 ------------------ .../Robust.32BitLaunch/Robust.32BitLaunch.sln | 20 ---- bin/OpenSim.32BitLaunch.exe | Bin 5632 -> 0 bytes bin/Robust.32BitLaunch.exe | Bin 5632 -> 0 bytes 9 files changed, 461 deletions(-) delete mode 100644 OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj delete mode 100644 OpenSim/Tools/OpenSim.32BitLaunch/Program.cs delete mode 100644 OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/Tools/Robust.32BitLaunch/Program.cs delete mode 100644 OpenSim/Tools/Robust.32BitLaunch/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj delete mode 100644 OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.sln delete mode 100755 bin/OpenSim.32BitLaunch.exe delete mode 100755 bin/Robust.32BitLaunch.exe diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj deleted file mode 100644 index 4625c330e0..0000000000 --- a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj +++ /dev/null @@ -1,97 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {595D67F3-B413-4A43-8568-5B5930E3B31D} - Exe - Properties - OpenSim._32BitLaunch - OpenSim.32BitLaunch - v4.0 - 512 - - - - - 3.5 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - true - full - false - ..\..\..\bin\ - DEBUG;TRACE - prompt - 4 - x86 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - False - .exe - ..\..\..\bin\OpenSim.exe - - - - - - - - - - False - Microsoft .NET Framework 4 %28x86 and x64%29 - true - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - false - - - False - Windows Installer 3.1 - true - - - - - \ No newline at end of file diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs deleted file mode 100644 index 52806b81bf..0000000000 --- a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; - -namespace OpenSim._32BitLaunch -{ - class Program - { - static void Main(string[] args) - { - log4net.Config.XmlConfigurator.Configure(); - - System.Console.WriteLine("32-bit OpenSim executor"); - System.Console.WriteLine("-----------------------"); - System.Console.WriteLine(""); - System.Console.WriteLine("This application is compiled for 32-bit CPU and will run under WOW32 or similar."); - System.Console.WriteLine("All 64-bit incompatibilities should be gone."); - System.Console.WriteLine(""); - System.Threading.Thread.Sleep(300); - try - { - global::OpenSim.Application.Main(args); - } - catch (Exception ex) - { - System.Console.WriteLine("OpenSim threw an exception:"); - System.Console.WriteLine(ex.ToString()); - System.Console.WriteLine(""); - System.Console.WriteLine("Application will now terminate!"); - System.Console.WriteLine(""); - } - } - } -} diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs deleted file mode 100644 index e81870f92f..0000000000 --- a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenSim.32BitLaunch")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("http://opensimulator.org")] -[assembly: AssemblyProduct("OpenSim.32BitLaunch")] -[assembly: AssemblyCopyright("Copyright (c) 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("5072e919-46ab-47e6-8a63-08108324ccdf")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("0.6.3.*")] -[assembly: AssemblyVersion("0.6.3.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/Robust.32BitLaunch/Program.cs b/OpenSim/Tools/Robust.32BitLaunch/Program.cs deleted file mode 100644 index 490414c456..0000000000 --- a/OpenSim/Tools/Robust.32BitLaunch/Program.cs +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using log4net; - -namespace Robust._32BitLaunch -{ - class Program - { - static void Main(string[] args) - { - log4net.Config.XmlConfigurator.Configure(); - - System.Console.WriteLine("32-bit OpenSim executor"); - System.Console.WriteLine("-----------------------"); - System.Console.WriteLine(""); - System.Console.WriteLine("This application is compiled for 32-bit CPU and will run under WOW32 or similar."); - System.Console.WriteLine("All 64-bit incompatibilities should be gone."); - System.Console.WriteLine(""); - System.Threading.Thread.Sleep(300); - try - { - global::OpenSim.Server.OpenSimServer.Main(args); - } - catch (Exception ex) - { - System.Console.WriteLine("OpenSim threw an exception:"); - System.Console.WriteLine(ex.ToString()); - System.Console.WriteLine(""); - System.Console.WriteLine("Application will now terminate!"); - System.Console.WriteLine(""); - } - } - } -} diff --git a/OpenSim/Tools/Robust.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/Robust.32BitLaunch/Properties/AssemblyInfo.cs deleted file mode 100644 index cf80f472ef..0000000000 --- a/OpenSim/Tools/Robust.32BitLaunch/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Robust.32BitLaunch")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("http://opensimulator.org")] -[assembly: AssemblyProduct("Robust.32BitLaunch")] -[assembly: AssemblyCopyright("Copyright (c) 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("5072e919-46ab-47e6-8a63-08108324ccdf")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("0.6.3.*")] -[assembly: AssemblyVersion("0.6.3.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj deleted file mode 100644 index 9618c08500..0000000000 --- a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj +++ /dev/null @@ -1,99 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {595D67F3-B413-4A43-8568-5B5930E3B31D} - Exe - Properties - Robust._32BitLaunch - Robust.32BitLaunch - v4.0 - 512 - - - - - 3.5 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - true - full - false - ..\..\..\bin\ - DEBUG;TRACE - prompt - 4 - x86 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - False - ..\..\..\bin\log4net.dll - - - False - ..\..\..\bin\Robust.exe - - - - - - - - - - False - Microsoft .NET Framework 4 %28x86 and x64%29 - true - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - false - - - False - Windows Installer 3.1 - true - - - - - \ No newline at end of file diff --git a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.sln b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.sln deleted file mode 100644 index a48a2d34fc..0000000000 --- a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C# Express 2010 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robust.32BitLaunch", "Robust.32BitLaunch.csproj", "{595D67F3-B413-4A43-8568-5B5930E3B31D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {595D67F3-B413-4A43-8568-5B5930E3B31D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {595D67F3-B413-4A43-8568-5B5930E3B31D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {595D67F3-B413-4A43-8568-5B5930E3B31D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {595D67F3-B413-4A43-8568-5B5930E3B31D}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/bin/OpenSim.32BitLaunch.exe b/bin/OpenSim.32BitLaunch.exe deleted file mode 100755 index 62c14af416b823e435f976ca503ed51974f3c899..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5632 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 From 40c579addf86b4dff23cf67062a879e95e89bf51 Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Wed, 3 Sep 2014 14:14:26 -0400 Subject: [PATCH 03/12] Don't show the ScrLPS data twice in the WebStats based statistics page. --- OpenSim/Region/UserStatistics/SimStatsAJAX.cs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/OpenSim/Region/UserStatistics/SimStatsAJAX.cs b/OpenSim/Region/UserStatistics/SimStatsAJAX.cs index ad848a1330..06d9e91449 100644 --- a/OpenSim/Region/UserStatistics/SimStatsAJAX.cs +++ b/OpenSim/Region/UserStatistics/SimStatsAJAX.cs @@ -162,9 +162,6 @@ namespace OpenSim.Region.UserStatistics output.Append("OthrMS"); HTMLUtil.TD_C(ref output); HTMLUtil.TD_O(ref output, TDHeaderClass); - output.Append("ScrLPS"); - HTMLUtil.TD_C(ref output); - HTMLUtil.TD_O(ref output, TDHeaderClass); output.Append("OutPPS"); HTMLUtil.TD_C(ref output); HTMLUtil.TD_O(ref output, TDHeaderClass); @@ -194,9 +191,6 @@ namespace OpenSim.Region.UserStatistics output.Append(sdata.OtherFrameTime); HTMLUtil.TD_C(ref output); HTMLUtil.TD_O(ref output, TDDataClassCenter); - output.Append(sdata.ScriptLinesPerSecond); - HTMLUtil.TD_C(ref output); - HTMLUtil.TD_O(ref output, TDDataClassCenter); output.Append(sdata.OutPacketsPerSecond); HTMLUtil.TD_C(ref output); HTMLUtil.TD_O(ref output, TDDataClassCenter); From e19d1ecce8a5e1ca921323fa9e4f92ebfba73725 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 3 Sep 2014 17:00:03 -0400 Subject: [PATCH 04/12] Cleanup some unused code and configuration entries --- OpenSim/Services/LLLoginService/LLLoginResponse.cs | 2 +- OpenSim/Services/LLLoginService/LLLoginService.cs | 6 +----- bin/Robust.HG.ini.example | 10 ---------- bin/Robust.ini.example | 10 ---------- 4 files changed, 2 insertions(+), 26 deletions(-) diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs index e67ecf05fa..27376cc69d 100644 --- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs +++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs @@ -227,7 +227,7 @@ namespace OpenSim.Services.LLLoginService public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo, GridRegion destination, List invSkel, FriendInfo[] friendsList, ILibraryService libService, string where, string startlocation, Vector3 position, Vector3 lookAt, List gestures, string message, - GridRegion home, IPEndPoint clientIP, string mapTileURL, string profileURL, string openIDURL, string searchURL, string currency, + GridRegion home, IPEndPoint clientIP, string mapTileURL, string searchURL, string currency, string DSTZone, string destinationsURL, string avatarsURL, string classifiedFee) : this() { diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 0ad9f9284a..80596525d1 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -77,8 +77,6 @@ namespace OpenSim.Services.LLLoginService protected string m_GatekeeperURL; protected bool m_AllowRemoteSetLoginLevel; protected string m_MapTileURL; - protected string m_ProfileURL; - protected string m_OpenIDURL; protected string m_SearchURL; protected string m_Currency; protected string m_ClassifiedFee; @@ -119,8 +117,6 @@ namespace OpenSim.Services.LLLoginService m_GatekeeperURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "LoginService" }, String.Empty); m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty); - m_ProfileURL = m_LoginServerConfig.GetString("ProfileServerURL", string.Empty); - m_OpenIDURL = m_LoginServerConfig.GetString("OpenIDServerURL", String.Empty); m_SearchURL = m_LoginServerConfig.GetString("SearchURL", string.Empty); m_Currency = m_LoginServerConfig.GetString("Currency", string.Empty); m_ClassifiedFee = m_LoginServerConfig.GetString("ClassifiedFee", string.Empty); @@ -498,7 +494,7 @@ namespace OpenSim.Services.LLLoginService = new LLLoginResponse( account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP, - m_MapTileURL, m_ProfileURL, m_OpenIDURL, m_SearchURL, m_Currency, m_DSTZone, + m_MapTileURL, m_SearchURL, m_Currency, m_DSTZone, m_DestinationGuide, m_AvatarPicker, m_ClassifiedFee); m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to {0} {1}", firstName, lastName); diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 684c019175..edcbec3a74 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -372,16 +372,6 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; Url to search service ; SearchURL = "http://127.0.0.1:8002/"; - ; For V2/3 Web Profiles - ; Work in progress: The ProfileServerURL/OpenIDServerURL are - ; being used in a development viewer as support for webprofiles - ; is being developed across the componets - ; - ; ProfileServerURL = "http://127.0.0.1/profiles/[AGENT_NAME]" - ; - ; For V2/V3 webapp authentication SSO - ; OpenIDServerURL = "http://127.0.0.1/openid/openidserver/" - ; For V3 destination guide ; DestinationGuide = "http://127.0.0.1/guide" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index eafab64c4a..6686c3f7a2 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -331,16 +331,6 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; Url to search service ; SearchURL = "http://127.0.0.1:8002/"; - ; For V2/3 Web Profiles - ; Work in progress: The ProfileServerURL/OpenIDServerURL are - ; being used in a development viewer as support for webprofiles - ; is being developed across the componets - ; - ; ProfileServerURL = "http://127.0.0.1/profiles/[AGENT_NAME]" - ; - ; For V2/V3 webapp authentication SSO - ; OpenIDServerURL = "http://127.0.0.1/openid/openidserver/" - ; For V3 destination guide ; DestinationGuide = "http://127.0.0.1/guide" From b08ab1e3754da4a2855bb77fca91dce01e9c2fae Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 3 Sep 2014 23:31:45 +0100 Subject: [PATCH 05/12] If BulletSim is running on its own threads, start this thread via the thread watchdog. This allows us to see the presence of the permanent thread via the "show threads" console comand. Also adds the region name to the thread name. --- OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 11 ++++++++--- prebuild.xml | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index f7317c01fe..d3b2ad701c 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -32,6 +32,7 @@ using System.Runtime.InteropServices; using System.Text; using System.Threading; using OpenSim.Framework; +using OpenSim.Framework.Monitoring; using OpenSim.Region.Framework; using OpenSim.Region.CoreModules; using Logging = OpenSim.Region.CoreModules.Framework.Statistics.Logging; @@ -286,9 +287,13 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters if (BSParam.UseSeparatePhysicsThread) { // The physics simulation should happen independently of the heartbeat loop - m_physicsThread = new Thread(BulletSPluginPhysicsThread); - m_physicsThread.Name = BulletEngineName; - m_physicsThread.Start(); + m_physicsThread + = Watchdog.StartThread( + BulletSPluginPhysicsThread, + string.Format("{0} ({1})", BulletEngineName, RegionName), + ThreadPriority.Normal, + true, + false); } } diff --git a/prebuild.xml b/prebuild.xml index 006f545fd4..ba18a2c50f 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -1746,6 +1746,7 @@ + From 29400538b7bb9505ab2873d90680d9ad4cb101d0 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 3 Sep 2014 23:37:20 +0100 Subject: [PATCH 06/12] minor: fix indenting from previous commit b08ab1e --- OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index d3b2ad701c..f87c6c4c64 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -287,13 +287,13 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters if (BSParam.UseSeparatePhysicsThread) { // The physics simulation should happen independently of the heartbeat loop - m_physicsThread - = Watchdog.StartThread( - BulletSPluginPhysicsThread, - string.Format("{0} ({1})", BulletEngineName, RegionName), - ThreadPriority.Normal, - true, - false); + m_physicsThread + = Watchdog.StartThread( + BulletSPluginPhysicsThread, + string.Format("{0} ({1})", BulletEngineName, RegionName), + ThreadPriority.Normal, + true, + false); } } From 6e6512eb4a9fb9fb88d5ec7f3968598f3012b356 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 3 Sep 2014 23:43:59 +0100 Subject: [PATCH 07/12] Make bulletsim thread alarm if no update for 5 seconds. The cost is minimal (also done for scene loop) at the benefit of telling us if this thread simply stops for some reason. --- OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index f87c6c4c64..338593f75e 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -293,7 +293,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters string.Format("{0} ({1})", BulletEngineName, RegionName), ThreadPriority.Normal, true, - false); + true); } } @@ -861,6 +861,9 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters // TODO. DetailLog("{0},BulletSPluginPhysicsThread,longerThanRealtime={1}", BSScene.DetailLogZero, simulationTimeVsRealtimeDifferenceMS); } + + if (BSParam.UseSeparatePhysicsThread) + Watchdog.UpdateThread(); } } From 4b04d22899e954831c4bf0904b5c2d9adacf650a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 3 Sep 2014 23:53:04 +0100 Subject: [PATCH 08/12] Don't need to check separate physics status in bulletsim update since that method is only run for an indepndent thread anyway. Also remove bulletsim monitored thread from watchdog on shutdown. --- OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index 338593f75e..a46c241db3 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -862,9 +862,10 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters DetailLog("{0},BulletSPluginPhysicsThread,longerThanRealtime={1}", BSScene.DetailLogZero, simulationTimeVsRealtimeDifferenceMS); } - if (BSParam.UseSeparatePhysicsThread) - Watchdog.UpdateThread(); + Watchdog.UpdateThread(); } + + Watchdog.RemoveThread(); } #endregion // Simulation From 0692ebfbc6bfbbae428d79cb824622cea297fbaf Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 4 Sep 2014 00:00:51 +0100 Subject: [PATCH 09/12] Start long-lived thread in IRCConnector via watchdog rather than indepedently, so that it can be seen in "show threads" and stats --- .../Avatar/Chat/IRCConnector.cs | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs b/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs index f5bd44db5f..bdd07e0a99 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs @@ -109,10 +109,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat internal int m_resetk = 0; - // Working threads - - private Thread m_listener = null; - private Object msyncConnect = new Object(); internal bool m_randomizeNick = true; // add random suffix @@ -363,10 +359,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat m_log.InfoFormat("[IRC-Connector-{0}]: Connected to {1}:{2}", idn, m_server, m_port); - m_listener = new Thread(new ThreadStart(ListenerRun)); - m_listener.Name = "IRCConnectorListenerThread"; - m_listener.IsBackground = true; - m_listener.Start(); + Watchdog.StartThread(ListenerRun, "IRCConnectionListenerThread", ThreadPriority.Normal, true, false); // This is the message order recommended by RFC 2812 if (m_password != null) @@ -510,21 +503,20 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat { while (m_enabled && m_connected) { - if ((inputLine = m_reader.ReadLine()) == null) throw new Exception("Listener input socket closed"); + Watchdog.UpdateThread(); + // m_log.Info("[IRCConnector]: " + inputLine); if (inputLine.Contains("PRIVMSG")) { - Dictionary data = ExtractMsg(inputLine); // Any chat ??? if (data != null) { - OSChatMessage c = new OSChatMessage(); c.Message = data["msg"]; c.Type = ChatTypeEnum.Region; @@ -540,9 +532,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat c.Message = String.Format("/me {0}", c.Message.Substring(8, c.Message.Length - 9)); ChannelState.OSChat(this, c, false); - } - } else { @@ -562,6 +552,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat if (m_enabled && (m_resetk == resetk)) Reconnect(); + + Watchdog.RemoveThread(); } private Regex RE = new Regex(@":(?[\w-]*)!(?\S*) PRIVMSG (?\S+) :(?.*)", From 73e20b7f5f3c6b8b45233cc04e5c6abce0d6b0a2 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 4 Sep 2014 00:22:30 +0100 Subject: [PATCH 10/12] For processing outbound http requests in the XMLRPCModule, start the thread through Watchdog for monitoring and stat purposes. --- .../Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs index c6e05b1f6a..d7ea906d8c 100644 --- a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs @@ -36,6 +36,7 @@ using Nini.Config; using Nwc.XmlRpc; using OpenMetaverse; using OpenSim.Framework; +using OpenSim.Framework.Monitoring; using OpenSim.Framework.Servers; using OpenSim.Framework.Servers.HttpServer; using OpenSim.Region.Framework.Interfaces; @@ -656,12 +657,8 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC public void Process() { - httpThread = new Thread(SendRequest); - httpThread.Name = "HttpRequestThread"; - httpThread.Priority = ThreadPriority.BelowNormal; - httpThread.IsBackground = true; _finished = false; - httpThread.Start(); + Watchdog.StartThread(SendRequest, "HttpRequestThread", ThreadPriority.BelowNormal, true, false); } /* @@ -733,6 +730,8 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC } _finished = true; + + Watchdog.RemoveThread(); } public void Stop() From e4d16e67955cf40861caf31116efe6e727eabdfa Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 4 Sep 2014 18:24:59 +0100 Subject: [PATCH 11/12] Make LLUDP output queue refill thread active by default, since load tests have shown that this has better scalability. For testing, previous behaviour can be restored with the console command "debug lludp oqre stop" at runtime. --- OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 2 ++ .../Region/ClientStack/Linden/UDP/OutgoingQueueRefillEngine.cs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index 87aa37dad1..e879e7636f 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs @@ -447,6 +447,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP { StartInbound(); StartOutbound(); + OqrEngine.Start(); m_elapsedMSSinceLastStatReport = Environment.TickCount; } @@ -491,6 +492,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_log.Info("[LLUDPSERVER]: Shutting down the LLUDP server for " + Scene.Name); base.StopOutbound(); base.StopInbound(); + OqrEngine.Stop(); } protected override bool EnablePools() diff --git a/OpenSim/Region/ClientStack/Linden/UDP/OutgoingQueueRefillEngine.cs b/OpenSim/Region/ClientStack/Linden/UDP/OutgoingQueueRefillEngine.cs index 0659d8e47e..069c9c8162 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/OutgoingQueueRefillEngine.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/OutgoingQueueRefillEngine.cs @@ -92,7 +92,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP "debug lludp oqre", "debug lludp oqre ", "Start, stop or get status of OutgoingQueueRefillEngine.", - "Experimental.", + "If stopped then refill requests are processed directly via the threadpool.", HandleOqreCommand); } From 41f2f3132bdcbfb8020c7fd6e5f3b7e48c75b1cf Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 5 Sep 2014 23:20:59 +0100 Subject: [PATCH 12/12] For monitoring purposes, start non-timeout tasks (which do not currently use a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout() The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc. Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for). --- .../GroupsServiceHGConnectorModule.cs | 5 +- OpenSim/Framework/Monitoring/Watchdog.cs | 60 +++++++++++++++---- OpenSim/Framework/Util.cs | 30 ---------- .../CoreModules/Asset/FlotsamAssetCache.cs | 4 +- .../Archiver/InventoryArchiveWriteRequest.cs | 3 +- .../LocalInventoryServiceConnector.cs | 5 +- .../World/Archiver/ArchiveReadRequest.cs | 5 +- .../World/Archiver/ArchiveWriteRequest.cs | 3 +- .../World/Archiver/AssetsRequest.cs | 5 +- OpenSim/Region/Framework/Scenes/Scene.cs | 17 +++--- .../Region/Framework/Scenes/ScenePresence.cs | 6 +- prebuild.xml | 1 + 12 files changed, 79 insertions(+), 65 deletions(-) diff --git a/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs b/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs index a750d8d870..9fbc1b3501 100644 --- a/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs +++ b/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs @@ -32,6 +32,7 @@ using System.Reflection; using System.Text; using OpenSim.Framework; +using OpenSim.Framework.Monitoring; using OpenSim.Framework.Servers; using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Interfaces; @@ -560,7 +561,7 @@ namespace OpenSim.Groups // so we have the list of urls to send the notice to // this may take a long time... - Util.RunThreadNoTimeout(delegate + Watchdog.RunInThread(delegate { foreach (string u in urls) { @@ -571,7 +572,7 @@ namespace OpenSim.Groups hasAttachment, attType, attName, attItemID, AgentUUIForOutside(attOwnerID)); } } - }, "AddGroupNotice", null); + }, string.Format("AddGroupNotice (agent {0}, group {1})", RequestingAgentID, groupID) , null); return true; } diff --git a/OpenSim/Framework/Monitoring/Watchdog.cs b/OpenSim/Framework/Monitoring/Watchdog.cs index 427ed7bb0d..e9e7bd21c0 100644 --- a/OpenSim/Framework/Monitoring/Watchdog.cs +++ b/OpenSim/Framework/Monitoring/Watchdog.cs @@ -187,15 +187,16 @@ namespace OpenSim.Framework.Monitoring /// Priority to run the thread at /// True to run this thread as a background thread, otherwise false /// Trigger an alarm function is we have timed out + /// If true then creation of thread is logged. /// The newly created Thread object public static Thread StartThread( - ThreadStart start, string name, ThreadPriority priority, bool isBackground, bool alarmIfTimeout) + ThreadStart start, string name, ThreadPriority priority, bool isBackground, bool alarmIfTimeout, bool log = true) { - return StartThread(start, name, priority, isBackground, alarmIfTimeout, null, DEFAULT_WATCHDOG_TIMEOUT_MS); + return StartThread(start, name, priority, isBackground, alarmIfTimeout, null, DEFAULT_WATCHDOG_TIMEOUT_MS, log); } /// - /// Start a new thread that is tracked by the watchdog timer + /// Start a new thread that is tracked by the watchdog /// /// The method that will be executed in a new thread /// A name to give to the new thread @@ -208,10 +209,11 @@ namespace OpenSim.Framework.Monitoring /// Normally, this will just return some useful debugging information. /// /// Number of milliseconds to wait until we issue a warning about timeout. + /// If true then creation of thread is logged. /// The newly created Thread object public static Thread StartThread( ThreadStart start, string name, ThreadPriority priority, bool isBackground, - bool alarmIfTimeout, Func alarmMethod, int timeout) + bool alarmIfTimeout, Func alarmMethod, int timeout, bool log = true) { Thread thread = new Thread(start); thread.Name = name; @@ -222,8 +224,9 @@ namespace OpenSim.Framework.Monitoring = new ThreadWatchdogInfo(thread, timeout) { AlarmIfTimeout = alarmIfTimeout, AlarmMethod = alarmMethod }; - m_log.DebugFormat( - "[WATCHDOG]: Started tracking thread {0}, ID {1}", twi.Thread.Name, twi.Thread.ManagedThreadId); + if (log) + m_log.DebugFormat( + "[WATCHDOG]: Started tracking thread {0}, ID {1}", twi.Thread.Name, twi.Thread.ManagedThreadId); lock (m_threads) m_threads.Add(twi.Thread.ManagedThreadId, twi); @@ -233,6 +236,39 @@ namespace OpenSim.Framework.Monitoring return thread; } + /// + /// Run the callback in a new thread immediately. If the thread exits with an exception log it but do + /// not propogate it. + /// + /// Code for the thread to execute. + /// Name of the thread + /// Object to pass to the thread. + public static void RunInThread(WaitCallback callback, string name, object obj, bool log = false) + { + if (Util.FireAndForgetMethod == FireAndForgetMethod.RegressionTest) + { + Culture.SetCurrentCulture(); + callback(obj); + return; + } + + ThreadStart ts = new ThreadStart(delegate() + { + try + { + Culture.SetCurrentCulture(); + callback(obj); + Watchdog.RemoveThread(log:false); + } + catch (Exception e) + { + m_log.Error(string.Format("[WATCHDOG]: Exception in thread {0}.", name), e); + } + }); + + StartThread(ts, name, ThreadPriority.Normal, true, false, log:log); + } + /// /// Marks the current thread as alive /// @@ -244,24 +280,26 @@ namespace OpenSim.Framework.Monitoring /// /// Stops watchdog tracking on the current thread /// + /// If true then normal events in thread removal are not logged. /// /// True if the thread was removed from the list of tracked /// threads, otherwise false /// - public static bool RemoveThread() + public static bool RemoveThread(bool log = true) { - return RemoveThread(Thread.CurrentThread.ManagedThreadId); + return RemoveThread(Thread.CurrentThread.ManagedThreadId, log); } - private static bool RemoveThread(int threadID) + private static bool RemoveThread(int threadID, bool log = true) { lock (m_threads) { ThreadWatchdogInfo twi; if (m_threads.TryGetValue(threadID, out twi)) { - m_log.DebugFormat( - "[WATCHDOG]: Removing thread {0}, ID {1}", twi.Thread.Name, twi.Thread.ManagedThreadId); + if (log) + m_log.DebugFormat( + "[WATCHDOG]: Removing thread {0}, ID {1}", twi.Thread.Name, twi.Thread.ManagedThreadId); twi.Cleanup(); m_threads.Remove(threadID); diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 2c38571147..fefa05039a 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -2399,36 +2399,6 @@ namespace OpenSim.Framework #endregion FireAndForget Threading Pattern - /// - /// Run the callback on a different thread, outside the thread pool. This is used for tasks - /// that may take a long time. - /// - public static void RunThreadNoTimeout(WaitCallback callback, string name, object obj) - { - if (FireAndForgetMethod == FireAndForgetMethod.RegressionTest) - { - Culture.SetCurrentCulture(); - callback(obj); - return; - } - - Thread t = new Thread(delegate() - { - try - { - Culture.SetCurrentCulture(); - callback(obj); - } - catch (Exception e) - { - m_log.Error("Exception in thread " + name, e); - } - }); - - t.Name = name; - t.Start(); - } - /// /// Environment.TickCount is an int but it counts all 32 bits so it goes positive /// and negative every 24.9 days. This trims down TickCount so it doesn't wrap diff --git a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs index f06d70d9e0..9d6870f1b5 100644 --- a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs +++ b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs @@ -43,6 +43,7 @@ using Mono.Addins; using OpenMetaverse; using OpenSim.Framework; using OpenSim.Framework.Console; +using OpenSim.Framework.Monitoring; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; @@ -963,7 +964,8 @@ namespace OpenSim.Region.CoreModules.Asset case "assets": con.Output("Ensuring assets are cached for all scenes."); - Util.RunThreadNoTimeout(delegate { + Watchdog.RunInThread(delegate + { int assetReferenceTotal = TouchAllSceneAssets(true); con.OutputFormat("Completed check with {0} assets.", assetReferenceTotal); }, "TouchAllSceneAssets", null); diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index d15703eb73..a5b5aa24c7 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -34,6 +34,7 @@ using System.Xml; using log4net; using OpenMetaverse; using OpenSim.Framework; +using OpenSim.Framework.Monitoring; using OpenSim.Framework.Serialization; using OpenSim.Framework.Serialization.External; using OpenSim.Region.CoreModules.World.Archiver; @@ -356,7 +357,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver m_scene.UserAccountService, m_scene.RegionInfo.ScopeID, options, ReceivedAllAssets); - Util.RunThreadNoTimeout(o => ar.Execute(), "AssetsRequest", null); + Watchdog.RunInThread(o => ar.Execute(), string.Format("AssetsRequest ({0})", m_scene.Name), null); } else { diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs index f80fab3e1d..470ef0274d 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs @@ -33,6 +33,7 @@ using System; using System.Collections.Generic; using System.Reflection; using OpenSim.Framework; +using OpenSim.Framework.Monitoring; using OpenSim.Data; using OpenSim.Server.Base; using OpenSim.Region.Framework.Interfaces; @@ -183,12 +184,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory // Protect ourselves against the caller subsequently modifying the items list List items = new List(invCol.Items); - Util.RunThreadNoTimeout(delegate + Watchdog.RunInThread(delegate { foreach (InventoryItemBase item in items) if (!string.IsNullOrEmpty(item.CreatorData)) UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData); - }, "GetFolderContent", null); + }, string.Format("GetFolderContent (user {0}, folder {1})", userID, folderID), null); } return invCol; diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs index c8056d425d..3e0c9f30b0 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs @@ -36,6 +36,7 @@ using System.Xml; using log4net; using OpenMetaverse; using OpenSim.Framework; +using OpenSim.Framework.Monitoring; using OpenSim.Framework.Serialization; using OpenSim.Framework.Serialization.External; using OpenSim.Region.CoreModules.World.Terrain; @@ -371,7 +372,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver // Start the scripts. We delayed this because we want the OAR to finish loading ASAP, so // that users can enter the scene. If we allow the scripts to start in the loop above // then they significantly increase the time until the OAR finishes loading. - Util.RunThreadNoTimeout(delegate(object o) + Watchdog.RunInThread(o => { Thread.Sleep(15000); m_log.Info("[ARCHIVER]: Starting scripts in scene objects"); @@ -386,7 +387,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver sceneContext.SceneObjects.Clear(); } - }, "ReadArchiveStartScripts", null); + }, string.Format("ReadArchiveStartScripts (request {0})", m_requestId), null); m_log.InfoFormat("[ARCHIVER]: Successfully loaded archive"); diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index 448147ac7b..803f24e2a9 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -36,6 +36,7 @@ using System.Xml; using log4net; using OpenMetaverse; using OpenSim.Framework; +using OpenSim.Framework.Monitoring; using OpenSim.Framework.Serialization; using OpenSim.Region.CoreModules.World.Terrain; using OpenSim.Region.Framework.Interfaces; @@ -199,7 +200,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver m_rootScene.AssetService, m_rootScene.UserAccountService, m_rootScene.RegionInfo.ScopeID, options, ReceivedAllAssets); - Util.RunThreadNoTimeout(o => ar.Execute(), "AssetsRequest", null); + Watchdog.RunInThread(o => ar.Execute(), "Archive Assets Request", null); // CloseArchive() will be called from ReceivedAllAssets() } diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index 4f428c35a6..ec39bc02af 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs @@ -33,6 +33,7 @@ using System.Timers; using log4net; using OpenMetaverse; using OpenSim.Framework; +using OpenSim.Framework.Monitoring; using OpenSim.Framework.Serialization; using OpenSim.Framework.Serialization.External; using OpenSim.Services.Interfaces; @@ -226,7 +227,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver finally { if (timedOut) - Util.RunThreadNoTimeout(PerformAssetsRequestCallback, "AssetsRequestCallback", true); + Watchdog.RunInThread(PerformAssetsRequestCallback, "Archive Assets Request Callback", true); } } @@ -295,7 +296,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver // We want to stop using the asset cache thread asap // as we now need to do the work of producing the rest of the archive - Util.RunThreadNoTimeout(PerformAssetsRequestCallback, "AssetsRequestCallback", false); + Watchdog.RunInThread(PerformAssetsRequestCallback, "Archive Assets Request Callback", false); } else { diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 5f0dbd7497..28dbccb95f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -1623,7 +1623,12 @@ namespace OpenSim.Region.Framework.Scenes { tmpMS = Util.EnvironmentTickCount(); m_cleaningTemps = true; - Util.RunThreadNoTimeout(delegate { CleanTempObjects(); m_cleaningTemps = false; }, "CleanTempObjects", null); + + Watchdog.RunInThread( + delegate { CleanTempObjects(); m_cleaningTemps = false; }, + string.Format("CleanTempObjects ({0})", Name), + null); + tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpMS); } @@ -1803,7 +1808,7 @@ namespace OpenSim.Region.Framework.Scenes if (!m_backingup) { m_backingup = true; - Util.RunThreadNoTimeout(BackupWaitCallback, "BackupWaitCallback", null); + Watchdog.RunInThread(o => Backup(false), string.Format("BackupWaitCallback ({0})", Name), null); } } @@ -1814,14 +1819,6 @@ namespace OpenSim.Region.Framework.Scenes { m_eventManager.TriggerOnFrame(); } - - /// - /// Wrapper for Backup() that can be called with Util.RunThreadNoTimeout() - /// - private void BackupWaitCallback(object o) - { - Backup(false); - } /// /// Backup the scene. diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 3c37de84ec..59b521db5f 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -37,6 +37,7 @@ using log4net; using Nini.Config; using OpenSim.Framework; using OpenSim.Framework.Client; +using OpenSim.Framework.Monitoring; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes.Animation; using OpenSim.Region.Framework.Scenes.Types; @@ -3362,7 +3363,7 @@ namespace OpenSim.Region.Framework.Scenes SentInitialDataToClient = true; // Send all scene object to the new client - Util.RunThreadNoTimeout(delegate + Watchdog.RunInThread(delegate { // m_log.DebugFormat( // "[SCENE PRESENCE]: Sending initial data to {0} agent {1} in {2}, tp flags {3}", @@ -3380,8 +3381,7 @@ namespace OpenSim.Region.Framework.Scenes if (e != null && e is SceneObjectGroup) ((SceneObjectGroup)e).SendFullUpdateToClient(ControllingClient); } - - }, "SendInitialDataToClient", null); + }, string.Format("SendInitialDataToClient ({0} in {1})", Name, Scene.Name), null); } /// diff --git a/prebuild.xml b/prebuild.xml index ba18a2c50f..a10d824053 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2489,6 +2489,7 @@ +