Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007899opensim[REGION] Specific OpenSim Modulepublic2016-05-04 17:152016-05-07 16:21
Reportergofaster 
Assigned To 
PrioritynormalSeverityminorReproducibilityrandom
StatusnewResolutionopen 
Platformmono 4.2.1OSLinux64OS Version
Product Version 
Target VersionFixed in Version 
Summary0007899: Console error messages from HTTP module while serving ManagedStats query.
DescriptionI recently started querying ManagedStats via the collectd stats daemon and the following errors are intermittently appearing on the console.

2016-05-04 19:13:27,756 ERROR - OpenSim.Framework.Servers.HttpServer.BaseHttpServer [BASE HTTP SERVER]: HandleRequest() threw exception
System.InvalidOperationException: Collection was modified after the enumerator was instantiated.
  at System.ThrowHelper.ThrowInvalidOperationException (ExceptionResource resource) <0x68bc7190 + 0x00027> in <filename unknown>:0
  at System.Collections.Generic.SortedSet`1+Enumerator[T].MoveNext () <0x5f81b540 + 0x00047> in <filename unknown>:0
  at System.Collections.Generic.SortedDictionary`2+Enumerator[TKey,TValue].MoveNext () <0x401b37d0 + 0x00024> in <filename unknown>:0
  at System.Collections.Generic.SortedDictionary`2+KeyCollection+Enumerator[TKey,TValue].MoveNext () <0x68baa5b0 + 0x00027> in <filename unknown>:0
  at OpenSim.Framework.Monitoring.StatsManager.GetStatsAsOSDMap (System.String pCategoryName, System.String pContainerName, System.String pStatName) <0x68b
a9c90 + 0x0056f> in <filename unknown>:0
  at OpenSim.Framework.Monitoring.StatsManager.HandleStatsRequest (System.Collections.Hashtable request) <0x68ba99c0 + 0x00163> in <filename unknown>:0
  at OpenSim.Framework.Servers.HttpServer.BaseHttpServer.HandleContentVerbs (OpenSim.Framework.Servers.HttpServer.OSHttpRequest request, OpenSim.Framework.
Servers.HttpServer.OSHttpResponse response) <0x5ba96e30 + 0x00604> in <filename unknown>:0
  at OpenSim.Framework.Servers.HttpServer.BaseHttpServer.HandleHTTPRequest (OpenSim.Framework.Servers.HttpServer.OSHttpRequest request, OpenSim.Framework.S
ervers.HttpServer.OSHttpResponse response) <0x5ba96d90 + 0x0007b> in <filename unknown>:0
  at OpenSim.Framework.Servers.HttpServer.BaseHttpServer.HandleRequest (OpenSim.Framework.Servers.HttpServer.OSHttpRequest request, OpenSim.Framework.Serve
rs.HttpServer.OSHttpResponse response) <0x5ba8b880 + 0x00e77> in <filename unknown>:0

The JSON output is not malformed.
Steps To ReproduceRandom. The URI that collectd is querying is:
http://192.168.0.68:8002/ManagedStats/?cat=server&con=memory [^]
TagsNo tags attached.
Git Revision or version numberDiva Distro 8.2.1
Run Mode Grid (1 Region per Sim)
Physics EngineBulletSim
Script Engine
EnvironmentMono / Linux64
Mono VersionOther
Viewer
Attached Files

- Relationships

-  Notes
(0030275)
Mandarinka Tasty (reporter)
2016-05-04 17:34

Hello !

Is Your port: 8002 = TCP port of your simulator ? defined in OpenSim.ini file ?

I write this query in such form:

http://external_ip:tcp_region_port/ManagedStats/ [^]

for example: http://81.20.234.77:9000/ManagedStats/?cat=server&con=memory [^]

plus uncommented variable: ManagedStatsRemoteFetchURI = "ManagedStats"
(0030276)
gofaster (reporter)
2016-05-04 17:51

Hi. Yes that is how mine is configured, except that my HTTP listener port is on 8002.
To be clear, the query never fails and the JSON output is correct. Just the randomly intermittent error messages on the console.
(0030277)
Mandarinka Tasty (reporter)
2016-05-04 18:35

Personally, I would give a try to set other http_listener_port for your region,

unless You really need to use this one: 8002

Especially, in Diva's default configurations, 8002 is important public port that

refers to grid services.

I feel intuitevely, that you run , maybe, default mini grid configuration of Diva.

8002 can be your public port and 9000 can be one of your listener ports.

this moment: Collection was modified after the enumerator was instantiated

concerns some race condition problem =

maybe, something ( callback, handler etc) works in same time (asynchronously )

on this 8002

when your deamon makes query. And that does not happen always, but randomly.

So consider to change port and observe then.

I would do that.
(0030279)
gofaster (reporter)
2016-05-07 16:21

Correction, when the above console message appears, the output from the HTTP handler includes some of the text below, as received by collectd's JSON handler.

... yajl_parse failed: lexical error: invalid char in json text.0000012 <HTML><HEAD><TITLE>500 Internal#012

- Issue History
Date Modified Username Field Change
2016-05-04 17:15 gofaster New Issue
2016-05-04 17:34 Mandarinka Tasty Note Added: 0030275
2016-05-04 17:51 gofaster Note Added: 0030276
2016-05-04 18:35 Mandarinka Tasty Note Added: 0030277
2016-05-07 16:21 gofaster Note Added: 0030279


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker