From ac0299fc7cef28720533947154d34aa1e006e720 Mon Sep 17 00:00:00 2001
From: Alexander Gavriliuk <alexandrgproductengine@lindenlab.com>
Date: Fri, 22 Sep 2023 11:10:40 +0200
Subject: SL-20244 Log crash reason before assertion in check_rigged_group()

---
 indra/newview/llspatialpartition.cpp | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

(limited to 'indra')

diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index 17c834326c..39ed23e131 100644
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -1632,6 +1632,8 @@ bool check_rigged_group(LLDrawable* drawable)
 
         if (root->isState(LLDrawable::RIGGED) && root->getSpatialGroup() != group)
         {
+            LL_WARNS() << "[root->isState(LLDrawable::RIGGED) and root->getSpatialGroup() != group] is true"
+                " (" << root->getSpatialGroup() << " != " << group << ")" << LL_ENDL;
             llassert(false);
             return false;
         }
@@ -1641,8 +1643,10 @@ bool check_rigged_group(LLDrawable* drawable)
         {
             for (auto& face : root->getFaces())
             {
-                if ((S32) face->getDrawOrderIndex() <= last_draw_index)
+                if ((S32)face->getDrawOrderIndex() <= last_draw_index)
                 {
+                    LL_WARNS() << "[(S32)face->getDrawOrderIndex() <= last_draw_index] is true"
+                        " (" << (S32)face->getDrawOrderIndex() << " <= " << last_draw_index << ")" << LL_ENDL;
                     llassert(false);
                     return false;
                 }
@@ -1656,17 +1660,21 @@ bool check_rigged_group(LLDrawable* drawable)
             {
                 for (auto& face : child->mDrawable->getFaces())
                 {
-                    if ((S32) face->getDrawOrderIndex() <= last_draw_index)
+                    if ((S32)face->getDrawOrderIndex() <= last_draw_index)
                     {
+                        LL_WARNS() << "[(S32)face->getDrawOrderIndex() <= last_draw_index] is true"
+                            " (" << (S32)face->getDrawOrderIndex() << " <= " << last_draw_index << ")" << LL_ENDL;
                         llassert(false);
                         return false;
                     }
                     last_draw_index = face->getDrawOrderIndex();
                 }
             }
-            
+
             if (child->mDrawable->getSpatialGroup() != group)
             {
+                LL_WARNS() << "[child->mDrawable->getSpatialGroup() != group] is true"
+                    " (" << child->mDrawable->getSpatialGroup() << " != " << group << ")" << LL_ENDL;
                 llassert(false);
                 return false;
             }
-- 
cgit v1.2.3