2016-08-13 5 views
1

Может ли веб-рабочий быть убит браузером беззвучно?Может ли веб-рабочий быть убит браузером беззвучно? (pdf.js issue)

Следующая происходит в мобильном/настольном сафари и мобильный хром в прошивкой

При использовании pdf.js для визуализации нескольких PDF-файлов (это использовать веб-работника для загрузки и визуализации PDF), некоторые веб-работник пропал случайно. Случается случайным образом, и когда это случается, это случается с разным pdf.

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

Это так трудно отследить проблему, потому что

  1. он не в состоянии в автоматическом режиме без каких-либо ошибок
  2. в сафари, не существует каких-либо инструментов разработки, чтобы проверить состояние веб-уборщица. В отличие от хром, есть раздел «поток», чтобы увидеть используемые потоки.
  3. веб рабочий апи не имеют каких-либо закрыть/прекратить событие для нас, чтобы войти, когда он был убит

Любой совет будет здорово!

+0

Возможно, ваш код неисправен –

+0

Вы уверены, что его убили, а не просто блокировали цикл событий с помощью некоторых тяжелых вычислений? –

+0

как «мобильный хром», вы имеете в виду хромоподобный сафари на iOS? – async5

ответ

0

Таким образом, похоже, что есть проблема с браузером Safari. Рекомендуется предоставить отчет об ошибке поставщику. В Safari есть проблемы: выполнение работником может быть прекращено GC (https://bugs.webkit.org/show_bug.cgi?id=153317) из-за чрезмерного использования памяти или ошибки с компиляцией JIT (https://bugs.webkit.org/show_bug.cgi?id=138038).

Хром в iOS - это тот же браузер Safari (https://developer.chrome.com/multidevice/ios/overview), поэтому проблемы в первом случае в основном такие же проблемы.

Так, отвечая на ваш вопрос:

Может веб рабочий быть убит браузером молча?

Да, это может быть.