Browse Source

fix(grouping): Revert overreaching threadbase->std rule (#27994)

Markus Unterwaditzer 3 years ago
parent
commit
c411e81cdd

+ 7 - 2
src/sentry/grouping/enhancer/enhancement-configs/mobile@2021-04-02.txt

@@ -172,6 +172,13 @@ module:java.util.concurrent.ThreadPoolExecutor* function:runWorker category=thre
 module:android.os.* function:call category=threadbase
 module:android.app.ActivityThread function:main category=threadbase
 module:android.view.View function:layout category=threadbase
+module:android.os.Looper function:loop category=threadbase
+family:native function:TppWorkerThread category=threadbase
+family:native function:TppWorkpExecuteCallback category=threadbase
+family:native function:RtlpTpWorkCallback category=threadbase
+module:android.os.Handler function:dispatchMessage category=threadbase
+module:android.os.Handler function:handleCallback category=threadbase
+module:android.app.ActivityThread* function:handleMessage category=threadbase
 
 family:native package:"**/libsystem_malloc.dylib" category=malloc
 family:native function:malloc category=malloc
@@ -389,5 +396,3 @@ family:native function:*.cold.1 category=indirection
 [ category:runtime ]    | category:system  category=internals
 [ category:runtime ]    | category:runtime category=internals
 [ category:dtor ]       | category:dtor    category=internals
-[ category:threadbase ] | category:system  category=internals
-[ category:threadbase ] | category:std     category=internals

+ 0 - 107
tests/sentry/grouping/categorization_inputs/mobile1-xhy.json

@@ -1,107 +0,0 @@
-{
-  "event_id": "09dae7bdbf714f239ccd8c2b1b82202e",
-  "exception": {
-    "values": [
-      {
-        "mechanism": {
-          "data": null,
-          "description": null,
-          "handled": false,
-          "help_link": null,
-          "meta": {
-            "signal": {
-              "name": "SIGSEGV",
-              "number": 11
-            }
-          },
-          "synthetic": true,
-          "type": "signalhandler"
-        },
-        "stacktrace": {
-          "frames": [
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "__start_thread",
-              "package": "/system/lib/libc.so"
-            },
-            {
-              "function": "__pthread_start",
-              "package": "/system/lib/libc.so"
-            },
-            {
-              "function": "std::__ndk1::__thread_proxy<T>"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "std::__ndk1::__function::__func<T>::operator()"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            }
-          ]
-        },
-        "type": "SIGSEGV",
-        "value": "Segfault"
-      }
-    ]
-  },
-  "platform": "native"
-}

+ 0 - 83
tests/sentry/grouping/categorization_inputs/mobile1-xrx.json

@@ -1,83 +0,0 @@
-{
-  "event_id": "59e0d4064b90445543700999c38a92f5",
-  "exception": {
-    "values": [
-      {
-        "mechanism": {
-          "data": null,
-          "description": null,
-          "handled": false,
-          "help_link": null,
-          "meta": {
-            "signal": {
-              "name": "SIGSEGV",
-              "number": 11
-            }
-          },
-          "synthetic": true,
-          "type": "signalhandler"
-        },
-        "stacktrace": {
-          "frames": [
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "__start_thread",
-              "package": "/apex/com.android.runtime/lib/bionic/libc.so"
-            },
-            {
-              "function": "__pthread_start",
-              "package": "/apex/com.android.runtime/lib/bionic/libc.so"
-            },
-            {
-              "function": "std::__ndk1::__thread_proxy<T>"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "std::__ndk1::__function::__func<T>::operator()"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            },
-            {
-              "function": "stripped_application_code"
-            }
-          ]
-        },
-        "type": "SIGSEGV",
-        "value": "Segfault"
-      }
-    ]
-  },
-  "platform": "native"
-}

+ 60 - 0
tests/sentry/grouping/categorization_inputs/regression-threadbase-and-system.json

@@ -0,0 +1,60 @@
+{
+  "event_id": "b3f3459f9c964e97bb0d168583e97053",
+  "exception": {
+    "values": [
+      {
+        "mechanism": {
+          "handled": false,
+          "meta": {
+            "signal": {
+              "name": "SIGSEGV",
+              "number": 11
+            }
+          },
+          "synthetic": true,
+          "type": "signalhandler"
+        },
+        "stacktrace": {
+          "frames": [
+            {
+              "function": "__start_thread",
+              "package": "/system/lib/libc.so"
+            },
+            {
+              "function": "__pthread_start",
+              "package": "/system/lib/libc.so",
+              "raw_function": "__pthread_start(void*)"
+            },
+            {
+              "function": "art::ThreadPoolWorker::Callback",
+              "package": "/system/lib/libart.so",
+              "raw_function": "art::ThreadPoolWorker::Callback(void*)"
+            },
+            {
+              "function": "art::ThreadPoolWorker::Run",
+              "package": "/system/lib/libart.so",
+              "raw_function": "art::ThreadPoolWorker::Run()"
+            },
+            {
+              "function": "art::ThreadPool::GetTask",
+              "package": "/system/lib/libart.so",
+              "raw_function": "art::ThreadPool::GetTask(art::Thread*)"
+            },
+            {
+              "function": "art::ConditionVariable::WaitHoldingLocks",
+              "package": "/system/lib/libart.so",
+              "raw_function": "art::ConditionVariable::WaitHoldingLocks(art::Thread*)"
+            },
+            {
+              "function": "syscall",
+              "package": "/system/lib/libc.so"
+            }
+          ]
+        },
+        "type": "SIGSEGV",
+        "value": "Segfault"
+      }
+    ]
+  },
+  "platform": "native"
+}

+ 4 - 4
tests/sentry/grouping/snapshots/test_categorization/test_categorization/android_anr2.pysnap

@@ -1,5 +1,5 @@
 ---
-created: '2021-08-03T17:17:27.405665Z'
+created: '2021-08-06T16:25:44.936147Z'
 creator: sentry
 source: tests/sentry/grouping/test_categorization.py
 ---
@@ -10,9 +10,9 @@ ApplicationNotResponding:Application Not Responding for at least 5000 ms. (threa
   com.android.internal.os.ZygoteInit$MethodA  run category=internals
                     java.lang.reflect.Method  invoke category=indirection
                   android.app.ActivityThread  main category=threadbase
-                           android.os.Looper  loop category=internals
-                          android.os.Handler  dispatchMessage category=internals
-                          android.os.Handler  handleCallback category=internals
+                           android.os.Looper  loop category=threadbase
+                          android.os.Handler  dispatchMessage category=threadbase
+                          android.os.Handler  handleCallback category=threadbase
   android.view.Choreographer$FrameDisplayEve  run category=indirection
                   android.view.Choreographer  doFrame category=ui
                   android.view.Choreographer  doCallbacks category=internals

+ 4 - 4
tests/sentry/grouping/snapshots/test_categorization/test_categorization/group_200_event_200.pysnap

@@ -1,5 +1,5 @@
 ---
-created: '2021-08-03T15:05:54.212999Z'
+created: '2021-08-06T16:25:45.195581Z'
 creator: sentry
 source: tests/sentry/grouping/test_categorization.py
 ---
@@ -8,9 +8,9 @@ source: tests/sentry/grouping/test_categorization.py
 EXCEPTION_ACCESS_VIOLATION_WRITE:Fatal Error: EXCEPTION_ACCESS_VIOLATION_WRITE (thread_id:_, crashed:_)
                C:\WINDOWS\SYSTEM32\ntdll.dll  RtlUserThreadStart category=threadbase
             C:\WINDOWS\System32\KERNEL32.DLL  BaseThreadInitThunk category=threadbase
-               C:\WINDOWS\SYSTEM32\ntdll.dll  TppWorkerThread category=internals
-               C:\WINDOWS\SYSTEM32\ntdll.dll  TppWorkpExecuteCallback category=internals
-             C:\WINDOWS\SYSTEM32\WINHTTP.dll  HTTP_THREAD_POOL::_StaticWorkItemCallback category=internals
+               C:\WINDOWS\SYSTEM32\ntdll.dll  TppWorkerThread category=threadbase
+               C:\WINDOWS\SYSTEM32\ntdll.dll  TppWorkpExecuteCallback category=threadbase
+             C:\WINDOWS\SYSTEM32\WINHTTP.dll  HTTP_THREAD_POOL::_StaticWorkItemCallback category=system
              C:\WINDOWS\SYSTEM32\WINHTTP.dll  HTTP_ASYNC_OVERLAPPED::OnWorkItem category=internals
              C:\WINDOWS\SYSTEM32\WINHTTP.dll  WEBIO_REQUEST::OnIoComplete category=internals
              C:\WINDOWS\SYSTEM32\WINHTTP.dll  HTTP_USER_REQUEST::OnSendRequest category=internals

+ 3 - 3
tests/sentry/grouping/snapshots/test_categorization/test_categorization/group_432_event_432.pysnap

@@ -1,5 +1,5 @@
 ---
-created: '2021-08-03T15:05:52.084020Z'
+created: '2021-08-06T16:30:59.415109Z'
 creator: sentry
 source: tests/sentry/grouping/test_categorization.py
 ---
@@ -8,8 +8,8 @@ source: tests/sentry/grouping/test_categorization.py
 0x40000015 / 0x00000001:Fatal Error: 0x40000015 / 0x00000001 (thread_id:_, crashed:_)
                C:\WINDOWS\SYSTEM32\ntdll.dll  RtlUserThreadStart category=threadbase
             C:\WINDOWS\System32\KERNEL32.DLL  BaseThreadInitThunk category=threadbase
-               C:\WINDOWS\SYSTEM32\ntdll.dll  TppWorkerThread category=internals
-               C:\WINDOWS\SYSTEM32\ntdll.dll  RtlpTpWorkCallback category=internals
+               C:\WINDOWS\SYSTEM32\ntdll.dll  TppWorkerThread category=threadbase
+               C:\WINDOWS\SYSTEM32\ntdll.dll  RtlpTpWorkCallback category=threadbase
                                               stripped_application_code
                                               stripped_application_code
                                               stripped_application_code

+ 3 - 3
tests/sentry/grouping/snapshots/test_categorization/test_categorization/group_432_event_453.pysnap

@@ -1,5 +1,5 @@
 ---
-created: '2021-08-03T15:05:51.810683Z'
+created: '2021-08-06T16:30:59.491005Z'
 creator: sentry
 source: tests/sentry/grouping/test_categorization.py
 ---
@@ -8,8 +8,8 @@ source: tests/sentry/grouping/test_categorization.py
 0x40000015 / 0x00000001:Fatal Error: 0x40000015 / 0x00000001 (thread_id:_, crashed:_)
                C:\windows\SYSTEM32\ntdll.dll  RtlUserThreadStart category=threadbase
             C:\windows\System32\KERNEL32.DLL  BaseThreadInitThunk category=threadbase
-               C:\windows\SYSTEM32\ntdll.dll  TppWorkerThread category=internals
-               C:\windows\SYSTEM32\ntdll.dll  RtlpTpWorkCallback category=internals
+               C:\windows\SYSTEM32\ntdll.dll  TppWorkerThread category=threadbase
+               C:\windows\SYSTEM32\ntdll.dll  RtlpTpWorkCallback category=threadbase
                                               stripped_application_code
                                               stripped_application_code
                                               stripped_application_code

+ 2 - 2
tests/sentry/grouping/snapshots/test_categorization/test_categorization/group_445_event_445.pysnap

@@ -1,5 +1,5 @@
 ---
-created: '2021-08-03T15:05:49.744595Z'
+created: '2021-08-06T16:16:56.757525Z'
 creator: sentry
 source: tests/sentry/grouping/test_categorization.py
 ---
@@ -11,7 +11,7 @@ source: tests/sentry/grouping/test_categorization.py
                                               stripped_application_code
                               exe_common.inl  invoke_main category=threadbase
                                  WinMain.cpp  wWinMain category=threadbase
-                                     xstring  std::basic_string<T>::{ctor} category=internals
+                                     xstring  std::basic_string<T>::{ctor} category=std
                                      xstring  std::basic_string<T>::assign category=internals
                                      xstring  std::basic_string<T>::assign category=internals
                                      xstring  std::basic_string<T>::_Reallocate_for category=internals

+ 13 - 13
tests/sentry/grouping/snapshots/test_categorization/test_categorization/mobile1_xaz.pysnap

@@ -1,5 +1,5 @@
 ---
-created: '2021-08-03T17:17:28.035438Z'
+created: '2021-08-06T16:25:45.041586Z'
 creator: sentry
 source: tests/sentry/grouping/test_categorization.py
 ---
@@ -10,9 +10,9 @@ UnsatisfiedLinkError:dlopen failed: "/data/app/com.android.chrome-2/base.apk!/li
   com.android.internal.os.ZygoteInit$MethodA  run category=internals
                     java.lang.reflect.Method  invoke category=indirection
                   android.app.ActivityThread  main category=threadbase
-                           android.os.Looper  loop category=internals
-                          android.os.Handler  dispatchMessage category=internals
-                          android.os.Handler  handleCallback category=internals
+                           android.os.Looper  loop category=threadbase
+                          android.os.Handler  dispatchMessage category=threadbase
+                          android.os.Handler  handleCallback category=threadbase
                                               stripped_application_code
                       android.webkit.WebView  <init> category=std
                       android.webkit.WebView  <init> category=internals
@@ -43,9 +43,9 @@ Dk2:errorCode=2 (thread_id:_, crashed:_)
   com.android.internal.os.ZygoteInit$MethodA  run category=internals
                     java.lang.reflect.Method  invoke category=indirection
                   android.app.ActivityThread  main category=threadbase
-                           android.os.Looper  loop category=internals
-                          android.os.Handler  dispatchMessage category=internals
-                          android.os.Handler  handleCallback category=internals
+                           android.os.Looper  loop category=threadbase
+                          android.os.Handler  dispatchMessage category=threadbase
+                          android.os.Handler  handleCallback category=threadbase
                                               stripped_application_code
                       android.webkit.WebView  <init> category=std
                       android.webkit.WebView  <init> category=internals
@@ -74,9 +74,9 @@ InvocationTargetException:_ (thread_id:_, crashed:_)
   com.android.internal.os.ZygoteInit$MethodA  run category=internals
                     java.lang.reflect.Method  invoke category=indirection
                   android.app.ActivityThread  main category=threadbase
-                           android.os.Looper  loop category=internals
-                          android.os.Handler  dispatchMessage category=internals
-                          android.os.Handler  handleCallback category=internals
+                           android.os.Looper  loop category=threadbase
+                          android.os.Handler  dispatchMessage category=threadbase
+                          android.os.Handler  handleCallback category=threadbase
                                               stripped_application_code
                       android.webkit.WebView  <init> category=std
                       android.webkit.WebView  <init> category=internals
@@ -100,9 +100,9 @@ AndroidRuntimeException:java.lang.reflect.InvocationTargetException (thread_id:_
   com.android.internal.os.ZygoteInit$MethodA  run category=internals
                     java.lang.reflect.Method  invoke category=indirection
                   android.app.ActivityThread  main category=threadbase
-                           android.os.Looper  loop category=internals
-                          android.os.Handler  dispatchMessage category=internals
-                          android.os.Handler  handleCallback category=internals
+                           android.os.Looper  loop category=threadbase
+                          android.os.Handler  dispatchMessage category=threadbase
+                          android.os.Handler  handleCallback category=threadbase
                                               stripped_application_code
                       android.webkit.WebView  <init> category=std
                       android.webkit.WebView  <init> category=internals

Some files were not shown because too many files changed in this diff