OSM: сообщение «all threads completed succeed 0 failed 1» — причины и решение

Сообщение all threads completed succeed 0 failed 1 появляется в журнале программ, которые скачивают тайлы карт OpenStreetMap несколькими параллельными потоками: оно означает, что все потоки завершили работу, но ни один не выполнился успешно, а один завершился с ошибкой. Фактически загрузка не состоялась — приложение отчиталось о завершении, но нужные данные (тайлы, области карты, пакеты) не получены.

Такая строка характерна для загрузчиков карт и утилит, работающих с тайловыми серверами OSM: мобильных атласов, офлайн-навигаторов, инструментов подготовки карт для походных GPS-навигаторов. Ниже разберём, почему потоки падают, как определить конкретную причину и что сделать, чтобы загрузка прошла успешно.

Что означает сообщение «succeed 0 failed 1»

Строка журнала вида all threads completed — это итоговый отчёт диспетчера потоков. Программа создаёт один или несколько рабочих потоков, каждый из которых скачивает свою часть данных, а в конце выводит сводку: сколько потоков завершилось успешно (succeed) и сколько — с ошибкой (failed).

Комбинация succeed 0 failed 1 говорит о полном провале: единственный рабочий поток (или все потоки, сведённые к одному из-за настроек) не смог получить данные. При этом само приложение не «упало» — оно корректно завершило попытку и просто зафиксировало неудачу. Поэтому никакого явного окна ошибки вы можете не увидеть: признак проблемы — только эта строка в логе и отсутствие скачанной карты в целевой папке.

Если в логе встречаются варианты вроде succeed 3 failed 1, ситуация мягче: часть тайлов загрузилась, а часть — нет. Но при succeed 0 искать нужно системную причину, которая блокирует загрузку целиком.

Основные причины сбоя потоков загрузки

Чаще всего поток завершается с ошибкой по одной из следующих причин:

  • 🌐 Нет соединения с сервером тайлов — интернет нестабилен, сервер временно недоступен или блокируется провайдером.
  • 🚫 Превышен лимит запросов — публичные тайловые серверы OSM ограничивают интенсивное скачивание и могут отклонять запросы или временно блокировать адрес.
  • 🛡️ Антивирус или брандмауэр перехватывает исходящие соединения программы.
  • 🔧 Неверный источник карт — в настройках выбран устаревший или неработающий шаблон URL тайлов.
  • 💾 Проблемы с каталогом сохранения — нет прав на запись, диск переполнен, путь содержит недопустимые символы.

Отдельно стоит выделить политику использования тайловых серверов OpenStreetMap: массовое скачивание тайлов с основных публичных серверов официально ограничено. Если программа пытается выкачать большую область на высоких масштабах, сервер может отвечать ошибками, и потоки будут завершаться с failed. Это не неисправность вашего устройства, а защитное поведение сервера.

📊 Как проявляется проблема у вас?
Сразу failed 1 при старте загрузки
Ошибка появляется в середине процесса
Скачивается часть тайлов, потом сбой
Сообщение есть, но карта вроде загрузилась

Быстрая диагностика: с чего начать

Первое действие — проверить, доступен ли интернет в принципе и открывается ли тайловый сервер в браузере. Откройте в браузере адрес вида https://tile.openstreetmap.org/... с координатами любого тайла (проще всего перейти на сайт openstreetmap.org и убедиться, что карта грузится). Если и в браузере тайлы не открываются — проблема на стороне сети или сервера, а не программы.

Второй шаг — посмотреть расширенный лог. Многие загрузчики рядом со строкой all threads completed пишут и детали ошибки потока: код HTTP-ответа, таймаут или отказ в записи файла. Коды вида 403 или 429 указывают на блокировку или лимит запросов, 404 — на неверный шаблон URL, таймауты — на проблемы соединения.

☑️ Первичная проверка при «succeed 0 failed 1»

Выполнено: 0 / 5

Как исправить: пошаговые действия

Начните с самого безопасного — уменьшите объём загрузки. Выберите небольшую область и ограничьте диапазон масштабов (zoom levels): чем выше масштаб, тем больше тайлов и тем выше шанс нарваться на лимит сервера. Если маленькая область скачивается успешно, значит, причина была именно в объёме запросов.

Далее проверьте источник карт в настройках программы. Если используется пользовательский шаблон URL, убедитесь, что он актуален: серверы периодически меняют адреса или прекращают работу. Попробуйте переключиться на другой доступный в программе источник и повторить загрузку.

Если программа позволяет настраивать число потоков и паузы между запросами, снизьте количество одновременных потоков до минимума и увеличьте задержку. Агрессивная многопоточная загрузка — типичный повод для блокировки со стороны сервера.

Пример логики настройки:

потоки: 1–2 (вместо 8–16)

пауза между запросами: увеличить

масштаб: не выше необходимого

область: разбить большую территорию на части

⚠️ Внимание: не пытайтесь обходить ограничения тайловых серверов массовым параллельным скачиванием — это нарушает условия использования OSM и приводит к блокировке вашего IP-адреса. Для больших областей используйте легальные альтернативы: готовые выгрузки или собственный тайловый сервер.

Типичные коды ошибок в логе и их значение

Рядом со строкой о завершении потоков программа часто фиксирует детали. Таблица ниже поможет интерпретировать их.

Признак в логеВероятная причинаЧто делать
HTTP 403 / 429Блокировка или лимит запросов сервераСнизить нагрузку, сделать паузу, сменить источник
HTTP 404Неверный шаблон URL тайловПроверить настройки источника карт
Timeout / connection refusedСеть, файрвол, недоступность сервераПроверить соединение и брандмауэр
Ошибка записи файлаНет прав или места на дискеСменить папку сохранения, проверить диск
SSL / certificate errorПроблема с сертификатами или устаревшая версия программыОбновить программу, проверить дату и время системы

Обратите внимание на строку про SSL: некоторые старые версии загрузчиков не справляются с современными требованиями HTTPS. Если программа давно не обновлялась, поищите свежую версию — это нередко решает проблему без прочих манипуляций.

Почему дата и время системы влияют на загрузку

HTTPS-соединение проверяет срок действия сертификата сервера по системным часам. Если на устройстве сбита дата, проверка сертификата завершается ошибкой, и поток завершается с failed, хотя сеть и сервер исправны. Сверьте дату, время и часовой пояс — это занимает минуту.

Если ничего не помогло

Когда все проверки пройдены, а строка succeed 0 failed 1 появляется снова, имеет смысл сменить подход в принципе. Вместо скачивания тайлов вручную рассмотрите приложения со встроенной загрузкой офлайн-карт — они используют собственные каналы доставки и не зависят от лимитов публичных тайловых серверов.

Также полезно проверить программу на другом устройстве или в другой сети (например, через мобильный интернет). Если там загрузка проходит — причина в вашем соединении, роутере или провайдере. Если и там тот же результат — вероятнее всего, проблема в самой программе или выбранном источнике карт.

⚠️ Внимание: перед переустановкой программы сохраните уже скачанные данные и настройки источников в отдельную папку — при удалении приложения они могут быть стёрты вместе с ним.

Частые вопросы

Означает ли «failed 1», что программа сломана?

Нет. Это штатное сообщение журнала: диспетчер потоков корректно завершил работу и зафиксировал ошибку загрузки. Сама программа исправна — не удалась именно передача данных.

Почему раньше всё скачивалось, а теперь появляется ошибка?

Возможные причины: сервер ужесточил лимиты, шаблон URL устарел, обновилась политика источника тайлов или изменилось что-то в вашей сети (новый антивирус, настройки роутера). Проверьте источник карт и попробуйте другую сеть.

Можно ли увеличить число потоков, чтобы скачать быстрее?

Технически — если программа это позволяет, но для публичных серверов OSM это контрпродуктивно: высокая интенсивность запросов приводит к блокировке и ещё большему числу failed-потоков. Оптимально — 1–2 потока.

Карта вроде скачалась, но в логе всё равно «failed 1». Это нормально?

Если часть потоков успешна (например, succeed 3 failed 1), карта может быть неполной — отдельные тайлы отсутствуют и будут отображаться как пустые квадраты. Проверьте целостность области и повторите загрузку недостающих масштабов.

Что делать, если сервер блокирует мой IP?

Обычно блокировка временная. Сделайте паузу, снизьте нагрузку в настройках и не запускайте массовые загрузки повторно. Для больших территорий используйте готовые офлайн-пакеты карт вместо прямого скачивания тайлов.