Вы делаете предварительное кэширование в событии установки сервисного работника? Если да, попробуйте включить его в waitUntil .
Он будет следить за тем, чтобы ваш сервисный работник не активировался до тех пор, пока не будет завершено кэширование.
Проблема может заключаться в том, что прослушиватель событий выборки вашего сервисного работника начинает искать ресурсы в кеше, до того, как кеш есть.