Add Joplin, old Mac, and Fedora WiFi runbooks; simplify JA3 Whisky scripts and hotspot recovery.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ahauimix
2026-06-19 22:26:33 +03:00
parent 1938b7c743
commit 4bc9629a09
381 changed files with 3442 additions and 773 deletions

View File

@@ -0,0 +1,215 @@
# MacBook Pro M1 — зависания после замены матрицы
**Контекст:** заменена матрица (Built-in Liquid Retina XDR). После ремонта — повторяющиеся полные зависания системы.
**Инцидент:** 2026-06-16, ~4 зависания за час (21:3121:43).
**Проверено:** 2026-06-16, логи `/Library/Logs/DiagnosticReports/`, `log show`, `last reboot`.
См. также: [README.md](./README.md)
---
## 1. Симптом
| Что видит пользователь | Что в логах |
|------------------------|-------------|
| Экран и ввод «замирают», курсор не двигается | Нет записей в unified log на время freeze (дыра в логах) |
| Помогает только **удержание кнопки питания** | `btn_rst` / `finger_reset` в `forceReset-full-*.diag` |
| Зависания повторяются **сразу после перезагрузки** (через 29 мин) | Аптайм в отчётах: 155 с, 537 с |
| Не kernel panic с диалогом «перезагрузить» | Нет свежих `panic-full-*.panic` за 16.06; только `forceReset` |
Это **hard lockup** (полная неотзывчивость SoC), а не обычный краш приложения.
---
## 2. Хронология 2026-06-16
| Время | Событие | Аптайм до freeze |
|-------|---------|------------------|
| ~19:19 | Загрузка (сессия до первого сбоя) | — |
| 21:2421:26 | Telegram: отчёт `cpu_resource` (~55% CPU за 3 мин) | ~2 ч |
| **21:31** | `forceReset-full-2026-06-16-213115` · `btn_rst` | **~7921 с (~2 ч 12 мин)** |
| **21:34** | `forceReset-full-2026-06-16-213425` · `btn_rst` | **~155 с (~2.5 мин)** |
| 21:3421:37 | `deleted` (CacheDelete): `cpu_resource` (~52% CPU) | после 2-го reboot |
| **21:43** | `forceReset-full-2026-06-16-214334` · `btn_rst` | **~537 с (~9 мин)** |
`last reboot`:
```
reboot Tue Jun 16 21:43
reboot Tue Jun 16 21:34
reboot Tue Jun 16 21:31
```
В логах — **пропуск ~18 мин** (21:33 → 21:51): пока система зависла, запись остановилась.
---
## 3. RCA — что зафиксировано в отчётах
### 3.1 Тип сбоя: принудительный reset
Все три отчёта за 16.06:
```
panic(cpu N caller ...): btn_rst
Debugger message: panic
Boot faults: btn_rst, finger_reset, force_off (в ResetCounter)
```
`btn_rst` = ядро зафиксировало сброс **кнопкой питания**, когда система уже не отвечала. Это не программный panic с stack trace приложения.
Файлы:
- `/Library/Logs/DiagnosticReports/forceReset-full-2026-06-16-213115.0002.diag`
- `/Library/Logs/DiagnosticReports/forceReset-full-2026-06-16-213425.0002.diag`
- `/Library/Logs/DiagnosticReports/forceReset-full-2026-06-16-214334.0002.diag`
- `/Library/Logs/DiagnosticReports/ResetCounter-2026-06-16-213129.diag` (и 213438, 214346)
### 3.2 Главный подозреваемый: WindowServer (графический стек)
Снимок процессов **на момент зависания** (поле `systemTimeTask`):
| Freeze | Аптайм | WindowServer CPU time | Паттерн потоков |
|--------|--------|----------------------|-----------------|
| 21:31 | ~2 ч 12 мин | **714 с** | потоки ждут `semaphore port ... owned by pid` **самого WindowServer** |
| 21:34 | ~2.5 мин | **15 с** | то же — deadlock на semaphore |
| 21:43 | ~9 мин | **49 с** | то же — deadlock на semaphore |
WindowServer — процесс отрисовки всего UI (SkyLight). Потоки, ждущие semaphore у того же PID, — типичный **deadlock в графическом конвейере**.
Рядом в снимках присутствуют процессы дисплейного стека:
- `corebrightnessd` — яркость / подсветка
- `IOMFB_bics_daemon` — framebuffer (IOMFB)
- `backboardd` — события ввода / дисплей
### 3.3 Что **не** найдено в открытых логах
Поиск за 3 ч по `DCP`, `IOMFB`, `CLCD`, `backlight`, `GPU reset`, `panel`, `LCD`:
- **Нет** явных ошибок драйвера дисплея или DCP
- Только штатные записи (`mobileassetd`, `backlightservices`, уведомления)
Apple часто **не пишет** аппаратные ошибки шлейфа/матрицы в открытый unified log. Отсутствие строк не опровергает аппаратную причину.
### 3.4 Дополнительная нагрузка (усиливающие факторы)
| Процесс | Когда | Наблюдение |
|---------|-------|------------|
| **Telegram** | 21:2421:26 | `cpu_resource`: ~55% CPU за 162 с |
| **deleted** (CacheDelete) | 21:3421:37 | `cpu_resource`: ~52% CPU, 88 с после boot |
| **mds** / Spotlight | после каждого reboot | активная индексация (`mdworker_shared`) |
| **Память** | на момент проверки | 16 GB почти заняты, ~7.8 GB в compressor, свободно ~140 MB |
Высокая нагрузка и давление на память **усиливают** нестабильность, но паттерн WindowServer-deadlock + быстрые повторы после reboot указывают на проблему **графики/дисплея**, а не только на фоновые процессы.
### 3.5 История до 16.06 (система нестабильна несколько дней)
| Период | Тип отчётов | Характер |
|--------|-------------|----------|
| 1011.06 | `shutdown_stall` | зависание при выключении |
| 1214.06 | `panic-full` + `shutdown_stall` | `Wake transition timed out after 35 seconds` · suspected: `com.apple.driver.AppleSEPManager` |
| 15.06 | `forceReset` (21:42) + `shutdown_stall` | тот же `btn_rst` |
| 16.06 | 3× `forceReset` за час | WindowServer deadlock |
До замены матрицы уже были сбои power management (SEP / wake). После ремонта доминирует другой профиль: **GUI freeze через WindowServer**, в том числе через несколько минут после загрузки.
---
## 4. Связь с заменой матрицы
Прямых строк «ошибка шлейфа» в логах нет. Косвенные признаки, согласующиеся с ремонтом дисплея:
1. **WindowServer стабильно уходит в deadlock** на всех трёх снимках
2. В стеке рядом — `corebrightnessd`, `IOMFB_bics_daemon`
3. Зависания **сразу после reboot** (2.5 и 9 мин) — типично для драйвера/железа дисплея, а не для «прогрева» одного приложения
4. Полный lockup (`btn_rst`) без kernel panic — возможен при зависании GPU/DCP-конвейера
**Вероятные аппаратные причины (для сервиса):**
- плохой контакт **шлейфа матрицы** (eDP/LVDS)
- повреждение или неправильная укладка **кабеля дисплея**
- несовместимая или дефектная **матрица** для `MacBookPro18,1` (Liquid Retina XDR)
- ошибка сборки: винты, заземление, T-Con / подсветка
---
## 5. Действия
### 5.1 Сервис (приоритет)
Вернуть в сервис с этим runbook. Попросить проверить:
1. Посадку шлейфа матрицы и display cable на обоих концах
2. Отсутствие перекоса / залома шлейфа при закрытии крышки
3. Совместимость матрицы с **MacBookPro18,1** (Liquid Retina XDR, не «похожая» панель)
4. Корректность сборки подсветки и T-Con
### 5.2 Диагностика на Mac
**Apple Diagnostics** (нативная):
1. Выключить Mac
2. Зажать питание → «Параметры» → «Диагностика»
**Safe Mode** (отсечь сторонние драйверы/агенты):
1. Выключить → зажать питание → «Продолжить с безопасным режимом»
2. Если в Safe Mode стабильно час+ — сильнее аргумент в пользу софта/агентов; если снова freeze — железо/драйвер дисплея
**Минимальная нагрузка после reboot:**
- не открывать Cursor, Brave, Telegram сразу после загрузки
- проверить, воспроизводится ли freeze на пустом рабочем столе
### 5.3 Мониторинг
```bash
# последние force reset
ls -lt /Library/Logs/DiagnosticReports/forceReset-full-* | head -5
# причина в заголовке отчёта
head -12 /Library/Logs/DiagnosticReports/forceReset-full-*.0002.diag | \
grep -o 'panic(cpu[^\\]*'
# ошибки WindowServer
log stream --predicate 'process == "WindowServer"' --level error
# перезагрузки
last reboot | head -10
```
После следующего зависания **не перезагружать сразу** (если возможно подождать 12 мин) — иногда успевает дописаться больше в `/Library/Logs/DiagnosticReports/`. На практике при hard lockup это редко помогает; основные данные уже в `forceReset-full`.
---
## 6. Краткий вывод
| Вопрос | Ответ |
|--------|-------|
| Это kernel panic? | Нет (16.06). Это **hard lockup**сброс кнопкой (`btn_rst`) |
| Сколько зафиксировано 16.06? | **3** отчёта `forceReset`; пользователь сообщал о ~4 зависаниях |
| Что зависало? | **WindowServer** — deadlock, графический стек |
| Есть ли ошибки DCP/шлейфа в логах? | **Нет** в открытом unified log |
| Главная рекомендация | **Перепроверка шлейфа и сборки дисплея в сервисе** |
| Была ли нестабильность раньше? | Да, с 1011.06 (`shutdown_stall`, SEP wake timeout) |
---
## 7. Ссылки на файлы отчётов
```
/Library/Logs/DiagnosticReports/forceReset-full-2026-06-16-213115.0002.diag
/Library/Logs/DiagnosticReports/forceReset-full-2026-06-16-213425.0002.diag
/Library/Logs/DiagnosticReports/forceReset-full-2026-06-16-214334.0002.diag
/Library/Logs/DiagnosticReports/ResetCounter-2026-06-16-213129.diag
/Library/Logs/DiagnosticReports/ResetCounter-2026-06-16-213438.diag
/Library/Logs/DiagnosticReports/ResetCounter-2026-06-16-214346.diag
/Library/Logs/DiagnosticReports/Telegram_2026-06-16-212645_Eternals.cpu_resource.diag
/Library/Logs/DiagnosticReports/deleted_2026-06-16-213726_Eternals.cpu_resource.diag
# более ранние (контекст)
/Library/Logs/DiagnosticReports/panic-full-2026-06-14-115455.0002.panic # Wake transition / SEP
/Library/Logs/DiagnosticReports/panic-full-2026-06-13-155145.0002.panic
/Library/Logs/DiagnosticReports/forceReset-full-2026-06-15-194242.0002.diag
```

42
docs/mac/README.md Normal file
View File

@@ -0,0 +1,42 @@
# Mac — основной MacBook (Apple Silicon)
Контур для **MacBook Pro M1 Pro** (`MacBookPro18,1`): диагностика, нестабильность, дисплей.
**Проверено:** 2026-06-16
---
## Документы
| Документ | Назначение |
|----------|------------|
| **[DISPLAY_FREEZE_RUNBOOK.md](./DISPLAY_FREEZE_RUNBOOK.md)** | Зависания после замены матрицы: RCA по логам, хронология, действия |
---
## Железо (справка)
| Параметр | Значение |
|----------|----------|
| Модель | MacBook Pro 14" (`MacBookPro18,1`) |
| Чип | Apple M1 Pro, 10 ядер, 16 GB RAM |
| Дисплей | Built-in Liquid Retina XDR, 3456×2234 |
| ОС | macOS 15.3.1 (24D70) |
| Серийник | X47KCRG26W |
---
## Быстрая диагностика зависания
```bash
# последние принудительные перезагрузки (кнопка питания)
ls -lt /Library/Logs/DiagnosticReports/forceReset-full-* | head -5
# история перезагрузок
last reboot | head -10
# ошибки WindowServer в реальном времени
log stream --predicate 'process == "WindowServer"' --level error
```
Подробно: [DISPLAY_FREEZE_RUNBOOK.md](./DISPLAY_FREEZE_RUNBOOK.md)