Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007636opensim[GRID] Other Servicepublic2015-07-09 05:082019-12-03 11:44
ReporterCz Wolf 
Assigned To 
PrioritynormalSeverityblockReproducibilityalways
StatusnewResolutionopen 
PlatformLinuxOSUbuntuOS Version14.04.2 LTS
Product Version 
Target VersionFixed in Version 
Summary0007636: Avatars cannot login/verify, Diva distro, standalone + OSG on one PC.
DescriptionThis problem with gatekeeper service I consulted with Nebadon and Allen Kerensky, and it may be connected to:
Field 'TMStamp' doesn't have a default valueMySql.Data.MySqlClient.MySqlException
in newest MySQL
Steps To Reproduce- have newly installed server version: 5.6.25 MySQL
- have mono 4.0.1 or 4.0.2.5
- have new database
- have already running OSgrid OpenSimulators 0.8.2.dev.f4dfdbb06-28-2015 for reference
- have Mono JIT compiler version 4.0.1 (tarball Thu May 28 09:08:28 UTC 2015) or 4.0.2.5
- unpack and configure DIVA distro, binary, diva-r25950
- run simulator
- create users using console or using Wifi web
- unable to verify identity on login for any user
Additional InformationThe console outputs (the whole process) included in attached file or to be found here online, as long as not solved issue:
http://pastebin.com/jCfhdrWf [^]
TagsNo tags attached.
Git Revision or version numberdiva-r25950
Run ModeStandalone (1 Region)
Physics EngineBulletSim
Script Engine
EnvironmentMono / Linux64
Mono Version4.0.1
ViewerFirestorm 4.7.1 (45325)
Attached Filestxt file icon Unable to verify identity - DIVA.txt [^] (55,780 bytes) 2015-07-09 05:08 [Show Content]
txt file icon IRC discussion with Nebadon & Allen.txt [^] (12,550 bytes) 2015-07-09 23:57 [Show Content]

- Relationships
related to 0007848closedDiva Incorrect datetime value for column 'TMStamp' 

-  Notes
(0028888)
Isis Ophelia (reporter)
2015-07-09 22:53

I had also "unable to verify identity" I run diva-r25950. Both diva and the viewer in the same LAN behind a router on windows 8.1

In your attached file I read that "'TMStamp' doesn't have a default value" and googling for TimeStamp I found this: ".... for a timestamp that the operating system can provide during program execution" Seems to me that your operating system can not provide Mysql with the right timestamp to be executed.

I tried and tested so many different things, not sure which one fixed the problem. Listing them here, if you want to test them:
 
1)made new Inbound rules for tcp + udp ports in my windows firewall for public, private and domain.
2) to forward same tcp+udp ports in my router to my PC local IP.
3) this step is mentioned here https://github.com/diva/d2/wiki/DNS [^] under NAT Issues. Added an entry to the hosts file. Mine looks like this:
127.0.0.1 arcanavirtual.noip.me <---- I'm using a dyndns domain because I have a dynamic external IP. Yours would look instead like this:
127.0.0.1 your_external_IP

If I remove this entry in the hosts file I can not connect to my diva installation. So seems this one fixed the problem.

I can now connect to my regions and teleport to other grids, but I still can not teleport back home.

On a side note. I see in your diva.txt attachment that you get the same error when diva comes up: OpenSim.Framework.Communications.RestClient [REST CLIENT] Error fetching resource from server: http://metaverseink.com/cgi-bin/register.py?service=online&host=arcanavirtual.noip.me&port=9100&secret=e10c7e81-ffa5-4142-9f01-3acc5c1c29ea [^]
System.Net.WebException: Der Remoteserver hat einen Fehler zur├╝ckgegeben: (500) Interner Serverfehler.
   bei System.Net.HttpWebRequest.GetResponse()
   bei OpenSim.Framework.Communications.RestClient.Request(IServiceAuth auth)

I don't know why we both get the same error.
(0028889)
Cz Wolf (reporter)
2015-07-09 23:56

Thank you Isis for your reaction, going through my logs and for many suggestions. Reading that, I can add some more info on my configuration. There is no NAT and the computer is directly connected to internet, being a dedicated server just for opensim run by server hosting provider. The viewer is running on another PC, operating system and on different continent. :) There was no need to set any port forwarding rules, just to specify different ports for http listener and everything else listening on 9000 because of already running 3 other simulators (downloaded from OSG pages, success, no issues). Everything else is on default values and should work with them. Issues about teleporting you are describing I met when trying to deploy Raspberry PI but it is a different story about ARM architecture probably. Also teleporting was reported on Mantis (and closed and marked as resolved) by another user+Diva - not sure where. That metaverseink error seemed to me as trivial, some forgotten link and I have no answer to that too. Timestamps changed some way in newest MySQL and can be the cause as mentioned. There is a chance that change is still not reflected in Diva distro and that the fix is not described only. Including now our discussion on IRC (me, Nebadon and Allen) about this. After that discussion I tried to comment row in /etc/mysql/my.cnf i found, this way: # explicit_defaults_for_timestamp - my goal was to reestablish previous behavior in older versions of MySQL servers. But that did not help and no change was noticed after reboot. What we may need is the info how to run current diva opensim together with new MySQL, or to change the code of opensim in diva distro to reflect the change, or the culprit needs to be found somewhere else. I hope that the included discussion can be helpful too.
(0028890)
Isis Ophelia (reporter)
2015-07-10 11:19

MySql is Version 5.5.8
I'm using Mowes Portable II for MySql + Apache + PHP5

You are probably using a newer version as the one with MoWes as the distributor of mowes has given up few years ago. Sorry Cz that I could not add more to help with your issue.
(0028988)
Cz Wolf (reporter)
2015-07-26 06:40

Thank you anyway Isis! Further experimenting done ... Adding my new findings connected to the problem described above. My current oppinion and the conclusion: There is MySQL/TMStamp problem to be solved, to get compatibility MySQL/Diva distro. Otherwise I need a suggestion how to set corresponding values in Diva (similar to those working for standalones downloaded from opensimulator.org). I could also live with the solution - adding Wifi pages to standalone downloaded from opensimulator.org if I knew that it is possible and how to do that. What I tried was:

Previously I got running sim in OSgrid, in addition now I am also able to run standalone with hypergrid enabled, having code from opensimulator.org and described configuration (new MySQL, new Mono, default settings). I was getting "Unable to verify identity" errors when using opensimulator.org code too, but never I was getting TMStamp errors there. To get rid of "Unable to verify identity errors" when setting up the standalone from opensimulator.org I edited:

In opensim.ini
--------------

127.0.0.1 - replaced by public IP everywhere
numbers of ports 8002 and 9000 - replaced by choosen port (e. g. 9200)

[Network]
http_listener_port = choosen port (e. g. 9200)

[Architecture]
; Include-Architecture = "config-include/Standalone.ini"
Include-Architecture = "config-include/StandaloneHypergrid.ini"



File: StandaloneCommon.ini, works when set to:
----------------------------------------------

[Hypergrid]
HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"

[GridService]
MyRegion = "DefaultRegion, FallbackRegion"

[LoginService]
GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"

=======================================================
Result = working standalone, hypergriding tested & OK
=======================================================


Notes -->

File: OpenSim.ini, the original setting was:
--------------------------------------------

[Network]
; http_listener_port = 9000


[Architecture]
Include-Architecture = "config-include/Standalone.ini"
; Include-Architecture = "config-include/StandaloneHypergrid.ini"


File: StandaloneCommon.ini, the original settings I changed were:
-----------------------------------------------------------------

[Hypergrid]
; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"

[GridService]
Region_Welcome_Area = "DefaultRegion, FallbackRegion"

[LoginService]
; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"

=============================================================
=============================================================

DIVA DISTRO / tries, no luck:
Changes:

In opensim.ini

127.0.0.1 - replaced by public IP everywhere
numbers of ports 8002 and 9000 - replaced by choosen port (e. g. 9200)

In MyWorld.ini

127.0.0.1 - replaced by public IP everywhere
numbers of ports 8002 and 9000 - replaced by choosen port (e. g. 9200)

[LoginService]
GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
HomeURI = "${Const|BaseURL}:${Const|PublicPort}"

When tried: getting the same errors - services:

Field 'TMStamp' doesn't have a default valueMySql.Data.MySqlClient.MySqlException: Field 'TMStamp' doesn't have a default value
  at MySql.Data.MySqlClient.MySqlStream.ReadPacket () [0x00000]: in <filename unknown>:0
  at MySql.Data.MySqlClient.NativeDriver.GetResult (System.Int32& affectedRow, System.Int32& insertedId) [0x00000] in <filename unknown>:0

[GATEKEEPER SERVICE] Login request for Wifi Admin - Unable to verify identity of agent Wifi Admin. Refusing service.
[LLOGIN SERVICE]: Login failed for Wifi Admin, reason: Unable to verify identity
(0034947)
Clinton (reporter)
2019-03-21 14:39

I just had this error pop up on my stand alone. I reinstalled Windows so upgraded MySQL to ver.8.0 while I was at it. Now, OSgrid 0.9.1.0 Snail Dev 695d807696: 2019-01-26 16:42:42 version running in stand alone with hypergrid gives me the "Field 'TMStamp' doesn't have a default value" error and I can't login. If I take it off hypergrid and run localhost, I can log in. Everything was fine when I was running the previous version of MySQL. I think it was 5.5 but can't say for sure.

OSgrid 0.9.1.0 Snail Dev a1d132d3ca: 2018-10-25 02:36:36 +0100 works fine on hypergrid with MySQL 8.0.

The error in the log:

2019-03-21 14:17:07,563 ERROR Field 'TMStamp' doesn't have a default value
MySql.Data.MySqlClient.MySqlException (0x80004005): Field 'TMStamp' doesn't have a default value
   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
   at OpenSim.Data.MySQL.MySqlFramework.ExecuteNonQueryWithConnection(MySqlCommand cmd, MySqlConnection dbcon) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Data\MySQL\MySQLFramework.cs:line 102
2019-03-21 14:17:07,581 ERROR at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at OpenSim.Data.MySQL.MySqlFramework.ExecuteNonQueryWithConnection(MySqlCommand cmd, MySqlConnection dbcon) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Data\MySQL\MySQLFramework.cs:line 102
   at OpenSim.Data.MySQL.MySqlFramework.ExecuteNonQuery(MySqlCommand cmd) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Data\MySQL\MySQLFramework.cs:line 77
   at OpenSim.Data.MySQL.MySQLGenericTableHandler`1.Store(T row) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Data\MySQL\MySQLGenericTableHandler.cs:line 308
   at OpenSim.Services.HypergridService.UserAgentService.StoreTravelInfo(TravelingAgentInfo travel) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Services\HypergridService\UserAgentService.cs:line 709
   at OpenSim.Services.HypergridService.UserAgentService.CreateTravelInfo(AgentCircuitData agentCircuit, GridRegion region, Boolean fromLogin, TravelingAgentInfo& existing) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Services\HypergridService\UserAgentService.cs:line 345
   at OpenSim.Services.HypergridService.UserAgentService.LoginAgentToGrid(GridRegion source, AgentCircuitData agentCircuit, GridRegion gatekeeper, GridRegion finalDestination, Boolean fromLogin, String& reason) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Services\HypergridService\UserAgentService.cs:line 270
   at OpenSim.Services.LLLoginService.LLLoginService.LaunchAgentIndirectly(GridRegion gatekeeper, GridRegion destination, AgentCircuitData aCircuit, IPEndPoint clientIP, String& reason) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Services\LLLoginService\LLLoginService.cs:line 1079
   at OpenSim.Services.LLLoginService.LLLoginService.LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarAppearance avatar, UUID session, UUID secureSession, Vector3 position, String currentWhere, String viewer, String channel, String mac, String id0, IPEndPoint clientIP, TeleportFlags flags, String& where, String& reason, GridRegion& dest) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Services\LLLoginService\LLLoginService.cs:line 947
   at OpenSim.Services.LLLoginService.LLLoginService.Login(String firstName, String lastName, String passwd, String startLocation, UUID scopeID, String clientVersion, String channel, String mac, String id0, IPEndPoint clientIP, Boolean LibOMVclient) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Services\LLLoginService\LLLoginService.cs:line 547
   at OpenSim.Server.Handlers.Login.LLLoginHandlers.HandleXMLRPCLogin(XmlRpcRequest request, IPEndPoint remoteClient) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Server\Handlers\Login\LLLoginHandlers.cs:line 141
   at OpenSim.Framework.Servers.HttpServer.BaseHttpServer.HandleXmlRpcRequests(OSHttpRequest request, OSHttpResponse response) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Framework\Servers\HttpServer\BaseHttpServer.cs:line 1245
   at OpenSim.Framework.Servers.HttpServer.BaseHttpServer.HandleRequest(OSHttpRequest request, OSHttpResponse response) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Framework\Servers\HttpServer\BaseHttpServer.cs:line 812
   at OpenSim.Framework.Servers.HttpServer.BaseHttpServer.OnHandleRequestIOThread(IHttpClientContext context, IHttpRequest request) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Framework\Servers\HttpServer\BaseHttpServer.cs:line 609
   at OpenSim.Framework.Servers.HttpServer.BaseHttpServer.OnRequest(Object source, RequestEventArgs args) in K:\OSGRID\opensim-0.9.0.1-760-g695d807\OpenSim\Framework\Servers\HttpServer\BaseHttpServer.cs:line 583
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at HttpServer.HttpClientContext.OnRequestCompleted(Object source, EventArgs args)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at HttpServer.Parser.HttpRequestParser.AddToBody(Byte[] buffer, Int32 offset, Int32 count)
   at HttpServer.HttpClientContext.OnReceive(IAsyncResult ar)
   at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Net.ContextAwareResult.Complete(IntPtr userToken)
   at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
   at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
(0034948)
BillBlight (developer)
2019-03-21 14:41

Opensimulator has issues with the newest MYSQL, standing issue ..
(0034953)
BillBlight (developer)
2019-03-21 21:58

http://opensimulator.org/mantis/view.php?id=7848 [^]
(0035923)
Ferd Frederix (reporter)
2019-12-03 10:37
edited on: 2019-12-03 11:45

Mentioned above, but unrelated to the timestamp issue is that you cannot teleport home when using the /etc/hosts hack to solve loopback issues. etc/hosts will work when your Public IP address changes, the driver method will not.

Under /etc/hosts (which changes the DNS name for the server on the server to itself as 127.0.0.1 or the LAN address) you also will find you cannot log into another grid and visit your own grid from the server. If you use a Windows Loopback device driver, both will work : going home and Hypergridding in from another grid to yourself. This is due to a nasty bug in Opensim, discussed elsewhere, where Opensim tries to use the Gateway address instead of the Public WAN IP. This is typically 192.168.0.1, the routers gateway, which is certainly not going to work as it certainly does not loopback in any possible router.

See https://www.outworldz.com/Outworldz_installer/Loopback.htm [^] for the correct way to set up a Loopback adapter.

(0035928)
Ferd Frederix (reporter)
2019-12-03 11:44
edited on: 2019-12-03 11:51

Also unrelated to the main thread, but good to know: Never connect an old Sim On A Stick to the Hypergrid as it is easily hacked in very serious ways that will expose very private information on your CPU and LAN.

Also unrelated to the main thread, but mentioned above is that Search does not work in Diva distro. The error is caused by Diva's service at http://metaverseink.com/cgi-bin/register.py [^] which has been offline for several years.

I have an relative new replacement at http://www.hyperica.com, [^] which also works in the viewer search. The PHP search files are Open Sourced as AGPL at github.com/Outworldz

How to use Across the Hypergrid Search:

This INI registers your grid to be crawled by Datasnapshot Services, which must be enabled separately. Prims, regions and such have to be marked as "Show In Search".

Opensim.ini:
[DataSnapshot]
data_services=http://www.hyperica.com/Search/register.php [^]


This INI Setting sets Search on in the viewer. I used both setting for legacy reasons, not sure if both are necessary.

[Search]
SearchURL=http://www.hyperica.com/Search/query.php [^]
SimulatorFeatures=http://www.hyperica.com/Search/query.php [^]

Also look for this line, which lets you query the database at Hyperica ( or locally)


[SimulatorFeatures]
SearchServerURI=${Const|BaseURL}/Search/query.php/


Optional Hyperica Destination Guide, which is a work in progress. It is currently hand edited and needs to be made to be automatic.


- Issue History
Date Modified Username Field Change
2015-07-09 05:08 Cz Wolf New Issue
2015-07-09 05:08 Cz Wolf File Added: Unable to verify identity - DIVA.txt
2015-07-09 22:53 Isis Ophelia Note Added: 0028888
2015-07-09 23:56 Cz Wolf Note Added: 0028889
2015-07-09 23:57 Cz Wolf File Added: IRC discussion with Nebadon & Allen.txt
2015-07-10 11:19 Isis Ophelia Note Added: 0028890
2015-07-26 06:40 Cz Wolf Note Added: 0028988
2019-03-21 14:39 Clinton Note Added: 0034947
2019-03-21 14:41 BillBlight Note Added: 0034948
2019-03-21 21:58 BillBlight Note Added: 0034953
2019-03-21 21:58 BillBlight Relationship added related to 0007848
2019-12-03 10:37 Ferd Frederix Note Added: 0035923
2019-12-03 11:44 Ferd Frederix Note Added: 0035928
2019-12-03 11:45 Ferd Frederix Note Edited: 0035923 View Revisions
2019-12-03 11:51 Ferd Frederix Note Edited: 0035928 View Revisions


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker