Sentry Error Analysis & Fixes Complete workflow for analyzing and fixing production errors from Sentry crash reports. Workflow Overview 1. Obtain Sentry JSON log ↓ 2. Analyze error ↓ 3. Identify root cause ↓ 4. Generate bug analysis log ↓ 🚨 WAIT FOR USER CONFIRMATION 🚨 ↓ 5. Implement fix (only after approval) ↓ 6. Test & verify ↓ 7. Create PR Critical Requirements MUST follow these rules: ✅ Always create a bug analysis log in node_modules/.cache/bugs/ before implementing fixes 🚨 MUST wait for user confirmation before starting any code changes ✅ Bug analysis must be complete with all sections filled ✅ Use evidence-based methodology (环环相扣,逐步递进) Quick Reference Common Error Types Type Description Common Causes AppHang iOS app frozen >5s Too many concurrent requests, main thread blocking ANR Android Not Responding Heavy operations on main thread, deadlocks Crash App terminated Null pointer, memory issues, unhandled exceptions Exception Handled error Network failures, validation errors, state issues Analysis Methodology Use 6 types of proof to establish causation: Stack Trace Evidence - Error location in code Breadcrumbs Evidence - User actions leading to error Code Logic Evidence - Why the code causes the issue Timing Evidence - When and how often it occurs Device/Platform Evidence - Affected platforms/devices Fix Verification - Testing confirms fix works Common Fix Patterns // Pattern 1: Concurrent request control async function executeBatched < T
( tasks : Array < ( ) => Promise < T
, concurrency = 3 , ) : Promise < Array < PromiseSettledResult < T
{ const results : Array < PromiseSettledResult < T
= [ ] ; for ( let i = 0 ; i < tasks . length ; i += concurrency ) { const batch = tasks . slice ( i , i + concurrency ) ; const batchResults = await Promise . allSettled ( batch . map ( ( task ) => task ( ) ) , ) ; results . push ( ... batchResults ) ; } return results ; } // Pattern 2: Main thread offloading (React Native) import { InteractionManager } from 'react-native' ; InteractionManager . runAfterInteractions ( ( ) => { // Heavy operation here } ) ; // Pattern 3: Error boundary < ErrorBoundary fallback = { < ErrorFallback /
}
< Component /
< / ErrorBoundary
Detailed Guide For comprehensive Sentry error analysis workflow, see fix-sentry-errors.md . Topics covered: Obtaining Sentry JSON logs Python-based quick analysis Bug analysis log template 6 types of proof methodology Root cause identification Common fix patterns (AppHang, ANR, Crashes) Real-world case studies Testing and verification PR creation workflow Key Files Purpose Location Bug analysis logs node_modules/.cache/bugs/ Sentry config packages/shared/src/modules/sentry/ Error boundaries packages/kit/src/components/ErrorBoundary/ When to Use This Skill Analyzing iOS AppHang errors (5+ second freezes) Fixing Android ANR (Application Not Responding) Investigating crash reports with stack traces Understanding user actions before crashes (breadcrumbs) Creating evidence-based bug analysis reports Implementing fixes for production errors