Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007919opensim[GRID] Asset Servicepublic2016-06-06 08:552016-06-09 14:16
ReporterShikuma 
Assigned To 
PriorityhighSeveritycrashReproducibilityrandom
StatusnewResolutionopen 
PlatformOSOS Version
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0007919: Opensim Null Reference Exception causing server crash
DescriptionWe have been getting random periodic crashes about once a week. We have about 30 active users, mostly at a set time in a class room environment. This is the error we are getting:

2016-06-04 05:16:10,392 ERROR - OpenSim.Application [APPLICATION]:
APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs

Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at OpenSim.Region.CoreModules.Scripting.LoadImageURL.LoadImageURLModule.HttpRequestReturn(IAsyncResult result)
   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.HttpWebRequest.SetResponse(Exception E)
   at System.Net.ConnectionReturnResult.SetResponses(ConnectionReturnResult returnResult)
   at System.Net.Connection.CompleteConnectionWrapper(Object request, Object state)
   at System.Net.PooledStream.ConnectionCallback(Object owningObject, Exception e, Socket socket, IPAddress address)
   at System.Net.ServicePoint.ConnectSocketCallback(IAsyncResult asyncResult)
   at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
   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)

Application is terminating: True
Steps To Reproducen/a happens at random
Additional Information
This is definitely due to an object on the grid. Problem is, we don't know what object it is and Opensim isn't very helpful there.

Recently turned on DEBUG logging. Also tried saving crash reports, but no crash reports have been saved. Unsure why. This is how we have it set in the Opensim.ini currently.
--
save_crashes = true

    ;# {crash_dir} {save_crashes:true} {Directory to save crashes to?} {} crashes
    ;; Directory to save crashes to if above is enabled
    ;; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt)
     crash_dir = "C:\OpenSim\diva-r08200\crashes\*.txt"
TagsNo tags attached.
Git Revision or version number
Run Mode Standalone (Multiple Regions)
Physics EngineBulletSim
Script Engine
Environment.NET / Windows64
Mono VersionNone
ViewerSingularity
Attached Files

- Relationships

-  Notes
(0030410)
Diva (administrator)
2016-06-06 09:56

See if this helps.

[09:55] <cia-opensim> opensim: diva * r8e10963f4550 OpenSim/Region/CoreModules/Scripting/LoadImageURL (LoadImageURLModule.cs):
[09:55] <cia-opensim> Mantis 0007919: fatal exception on LoadImageURLModule
(0030411)
Shikuma (reporter)
2016-06-06 12:44

Sorry if this is a dumb question, but how do I compile that one module for my server? Or what exactly do I do with that?
(0030412)
aiaustin (developer)
2016-06-07 01:01
edited on: 2016-06-07 01:04

@Shikuma... the facility is in core OpenSim and included whenever you compile OpenSm. Diva's commit (in this case its only at present in 0.9.0 dev master) helps by catching whatever exception is being generated and printing it out to the console and logs. That ought to help find the object that might be genrating the exception.

(0030424)
Shikuma (reporter)
2016-06-08 07:18

@aiaustin Right. But do I need to compile the whole current commit of 0.9.0? Or can I simply compile that one script into my already existing project? If so, how do I do that?
(0030425)
aiaustin (developer)
2016-06-08 07:41

A lot has changed in 0.9.0 and I would not recommend trying to merge back specific parts into an earlier 0.8.X setup @Shikuma.
(0030435)
Shikuma (reporter)
2016-06-09 12:25

Sorry for the late response. I built the 0.9.0 build and have been testing a little with that. Is there a diva commit at v0.9? Or could I possibly use WiFi at that version?
(0030436)
aiaustin (developer)
2016-06-09 12:52
edited on: 2016-06-09 13:19

Diva wifi works fine with 0.9.0... but there is no precompiled version as Diva only releases that for stable OpenSm releases. If you don't know how to create Opensim wifi from source its probably better to wait for a stable 0.9.0 release.

But if you want to try things... get the latest source at

https://github.com/diva/diva-distribution/ [^]

Extract just the addon-modules directory (I remove modules I don't use like OnLook viewer support) and place that into the 0.9.0 unzipped sources prior to runprebuild and compile. But you do need also to use a new Wifi build process that includes runnng a make_languages script in addon-modules/21Wifi/Localization before first run.

On Windows, this blog post might be useful...
http://blog.inf.ed.ac.uk/atate/2015/04/06/diva-wifi-on-windows/ [^]

I stress again... if that all sounds hard.. wait for a stable 0.9.0.

(0030437)
Mandarinka Tasty (reporter)
2016-06-09 14:16

Shikuma. All what You need to do, is compiling your actual opensim version against last Diva Canto's commit referring your problem.

You do not need to use any Diva Wifi distribution to investigate your problem.

If you download last master dev, then you may compile it and run and test in

your region where you meet your problem.

Instead of downloading all last master source, you may read:

http://opensimulator.org/viewgit/?a=commitdiff&p=opensim&h=8e10963f4550fd82129a9e3c1777066f257c2361 [^]


what Diva has made in this LoadImageURLModule.cs file

and repeat the same in your file and after saving, also compile all source

and test it in your region.

You can't just compile one file ( script) , because it needs references etc.

Within testing , just observe moment when you meet the crash,

and next go to logs to read it and eventually show it here,

Diva has added possibility to catch, precisely, exception that appears.

- Issue History
Date Modified Username Field Change
2016-06-06 08:55 Shikuma New Issue
2016-06-06 09:56 Diva Note Added: 0030410
2016-06-06 12:44 Shikuma Note Added: 0030411
2016-06-07 01:01 aiaustin Note Added: 0030412
2016-06-07 01:04 aiaustin Note Edited: 0030412 View Revisions
2016-06-07 01:04 aiaustin Note Edited: 0030412 View Revisions
2016-06-08 07:18 Shikuma Note Added: 0030424
2016-06-08 07:41 aiaustin Note Added: 0030425
2016-06-09 12:25 Shikuma Note Added: 0030435
2016-06-09 12:52 aiaustin Note Added: 0030436
2016-06-09 12:53 aiaustin Note Edited: 0030436 View Revisions
2016-06-09 12:53 aiaustin Note Edited: 0030436 View Revisions
2016-06-09 13:05 aiaustin Note Edited: 0030436 View Revisions
2016-06-09 13:19 aiaustin Note Edited: 0030436 View Revisions
2016-06-09 14:16 Mandarinka Tasty Note Added: 0030437


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker