From 20b974cff0e88f41e7a80069575594853cf6eb82 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 4 Mar 2020 17:19:12 +0000 Subject: [PATCH] place the try/catch in right place on profiles process. This is still bad. Last code changes moved from blocking a user for a long time, to block profiles for all, for a long time. This because some viewers like firestorm, ask for the profiles of all user friends to show their ugly 1st life pictures. thats hundred requests taking from 500ms to more than 30s each --- .../Avatar/UserProfiles/UserProfileModule.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs index de28404540..43952d60f3 100644 --- a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs @@ -94,9 +94,9 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles { lock(m_asyncRequestsLock) { - try + while(m_asyncRequests.TryDequeue(out AsyncPropsRequest req)) { - while(m_asyncRequests.TryDequeue(out AsyncPropsRequest req)) + try { IClientAPI client = req.client; if(!client.IsActive) @@ -209,10 +209,10 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles } } } - } - catch(Exception e ) - { - m_log.ErrorFormat("[ProfileModule]: Process fail {0}",e.Message); + catch (Exception e) + { + m_log.ErrorFormat("[ProfileModule]: Process fail {0} : {1}", e.Message, e.StackTrace); + } } m_asyncRequestsRunning = false; }