Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006051opensim[REGION] Scripting Enginepublic2012-06-16 16:012012-06-22 22:55
Reportertomhainescciu 
Assigned Tojustincc 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformLinuxOSUbuntuOS Version11.10
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0006051: Once an http-in url has been released with llReleaseURL(), hitting that stale URL results in two exceptions
DescriptionIn UrlModule.cs, an exception is thrown when the requested URL is not found in the m_UrlMap dictionary in HttpRequestHandler(). A second exception is thrown after 25 seconds when no response information is returned in NoEvents().
Steps To ReproduceRequest a URL with llRequestURL()
Release it with llReleaseURL()
Hit that URL with curl or wget
Additional InformationA patch is provided that stops these exceptions. Hitting a stale URL no longer throws an exception. After the 25 second timeout it returns a 404. However it seems that further correct behavior would be to avoid the timeout period, and have the 404 immediately returned.
TagsNo tags attached.
Git Revision or version numbered513fc
Run Mode Grid (Multiple Regions per Sim)
Physics EngineODE
EnvironmentMono / Linux64
Mono Version2.10
ViewerDolphin, SL Viewer
Attached Filespatch file icon UrlModule.cs.patch [^] (1,972 bytes) 2012-06-16 16:01 [Show Content]

- Relationships

-  Notes
(0021667)
justincc (administrator)
2012-06-18 21:42

Please do not apply this patch yet. I want to do some investigation work to see how we can cut down the 404 reply to immediate instead of 25 seconds.

If anybody else wants to help with that too then that's more than welcome :)
(0021675)
justincc (administrator)
2012-06-22 02:03

Tom, do you have a handy short script you could attach that will demonstrate the problem?
(0021681)
justincc (administrator)
2012-06-22 22:55
edited on: 2012-06-22 22:55

Okay, should be resolved by commit dca04c7. This does the steps in your patch but also returns true instead of false if the request can't be found, which allows us to return the 404 properly instead of waiting for the polling thread to reach the hardcoded 25 second timeout.

However, the actual commit you want is the one after this (7814376) which also looks to resolve other various possible race conditions between using and releasing threads.


- Issue History
Date Modified Username Field Change
2012-06-16 16:01 tomhainescciu New Issue
2012-06-16 16:01 tomhainescciu File Added: UrlModule.cs.patch
2012-06-18 21:42 justincc Note Added: 0021667
2012-06-18 21:42 justincc Assigned To => justincc
2012-06-18 21:42 justincc Status new => patch included
2012-06-22 02:03 justincc Note Added: 0021675
2012-06-22 22:55 justincc Note Added: 0021681
2012-06-22 22:55 justincc Status patch included => resolved
2012-06-22 22:55 justincc Resolution open => fixed
2012-06-22 22:55 justincc Note Edited: 0021681 View Revisions


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker