| Предыдущий | Следующий |
| PEER_E_INVALID_TIME_PERIOD | PEER_E_CERT_STORE_CORRUPTED |
PEER_E_CIRCULAR_CHAIN_DETECTED
Диагностическая граница для PEER_E_CIRCULAR_CHAIN_DETECTED
PEER_E_CIRCULAR_CHAIN_DETECTED — HRESULT 0x80630706 означает, что при проверке учётных данных обнаружен цикл в цепочке издателей Group Membership Certificate. PEER_E_CIRCULAR_CHAIN_DETECTED — Исследуйте первый API, сообщивший этот результат, а не более поздний UI wrapper.
Вопросы, отделяющие этот сбой
- Объект был получен через PeerGroupIssueCredentials, при разборе приглашения и проверке цепочки GMC либо восстановлен из кэшированного текста или другого процесса?
- Сохраните упорядоченную цепочку сертификатов, идентификаторы издателя и субъекта, отпечатки, дублирующиеся сертификаты, а также учётные данные или приглашение, содержавшие эту цепочку.
- Произошли ли shutdown, deletion, sign-out, expiration или replication между выбором объекта и его использованием?
- Завершается ли операция успешно при контролируемом сравнении, описанном ниже?
Peer Grouping добавляет поверх graphing и PNRP учётные данные членства, роли, подпись записей и зашифрованные соединения. Local open state, online connection state и authorization state — разные состояния.
Контролируемое сравнение
независимо проверьте цепочку и сравните её с учётными данными, выданными непосредственно по заведомо нециклической административной цепочке. Сохраняйте identity, graph/group ID, cloud и user context неизменными, если только один из них не является проверяемой переменной.
Таблица решений
| Наблюдаемый результат | Следующее действие для PEER_E_CIRCULAR_CHAIN_DETECTED |
|---|---|
| HRESULT повторяется при идентичном зафиксированном состоянии | Проверьте контракт вызывающего кода и цепочку доверия GMC; повторные сетевые попытки не дадут новых диагностических данных. |
Вызов продвигается до PEER_E_CHAIN_TOO_LONG | PEER_E_CHAIN_TOO_LONG отличается тем, что длинная, но нециклическая цепочка нарушает ограничение глубины; здесь же путь доверия зациклен. |
| Контролируемый запуск успешен, production — нет | Сравните user token, database path, cloud, endpoint, certificate chain и фактическую firewall policy. |
Безопасное исправление и проверка
повторно выдайте учётные данные участника из доверенной иерархии без циклов и удалите ошибочный пакет из распространения. Перед изменениями создайте резервные копии экспортируемой identity и group configuration и сохраните hashes database/invitation artifacts.
Исправление подтверждено только когда нужная операция успешна, а полученные соединения, записи, членство, endpoint или область Peer Collaboration можно независимо перечислить.
Инструментирование и регрессионное покрытие
Фиксируйте первый неудачный вызов, а не более поздний результат cleanup. Решающее значение имеют упорядоченная цепочка сертификатов, идентификаторы издателя и субъекта, отпечатки, дублирующиеся сертификаты и учётные данные или приглашение, содержавшие эту цепочку.
| Регрессионный уровень | Проверяемый случай | Условие прохождения |
|---|---|---|
| Входные данные и время жизни объекта | Постройте минимальный объект, при проверке которого воспроизводится цикл в цепочке издателей Group Membership Certificate. | В тесте фиксируются владеющий дескриптор, контекст пользователя и точный API из PeerGroupIssueCredentials, разбора приглашения и проверки цепочки GMC. |
| Контролируемое сравнение | независимо проверьте цепочку и сравните её с учётными данными, выданными непосредственно по заведомо нециклической административной цепочке. | Между неуспешным и успешным запуском изменяется только целевая GMC trust chain. |
| Путь восстановления | повторно выдайте учётные данные участника из доверенной иерархии без циклов и удалите ошибочный пакет из распространения. | Нужная операция завершается успешно без замены несвязанного role/connectivity state. |
Сохраняйте unsigned hexadecimal HRESULT, symbolic names и timestamps в одной trace. Такая запись позволяет регрессионному тесту отличить состояние членства в группе от последующего сбоя транспорта, авторизации или приложения.
Ссылки
- Microsoft: функции Grouping API — источник документирует соответствующую peer boundary.
- Microsoft: как подключиться к peer group — источник документирует соответствующую peer boundary.
- Microsoft: как работает безопасность группы — источник документирует соответствующую peer boundary.
- Microsoft Open Specifications: обзор группировки Peer-to-Peer — источник документирует соответствующую peer boundary.
Нужно найти другой код? Найти другой код состояния или ошибки.
