Непроверенная последняя ошибка среды выполнения, порт сообщений закрыт до получения ответа, в чем ошибка

Обновлено: 22.11.2024

Vivaldi запускается только с отключенными расширениями после обновления до последнего снимка. В журнале ошибок не удалось сбросить хранилище GCM. Я бы подумал, что должен попробовать расширения одно за другим, чтобы найти виновника, но я не знаю, как это сделать. Или это может быть другая проблема.

@gwen-dragon Что ж, мне нужно было опубликовать сообщение с моего компьютера, чтобы сообщить вам об этом, и у меня возникли проблемы со входом в систему через Firefox. Я попробую позже.

Vivaldi запускается только с отключенными расширениями после обновления до последнего снимка.

Всегда называйте последним снимком.

Журнал ошибок не удалось сбросить хранилище GCM.

И как мы должны увидеть журнал ошибок, если вы его не включите.

Я думаю, что мне следует попробовать расширения одно за другим, чтобы найти виновника, но я не знаю, как это сделать. Или это может быть другая проблема.

Поскольку это тестовая версия, вы можете понизить версию браузера, затем Меню->Инструменты->Расширения или Ctrl+Shift+E открывает страницу со всеми вашими расширения, там можно отключить их все переключателями, заново обновить браузер.

Нестабильный Manjaro с KDE Plasma 5

Всегда называйте последний снимок.

К сожалению, я не могу открыть Vivaldi, чтобы опубликовать информацию. Это первый выпущенный снимок версии 3.9.

И как мы должны увидеть журнал ошибок, если вы его не включите.

Попробую еще раз опубликовать его (из Firefox) позже.

Хорошая идея, Меню->Инструменты->Расширения или Ctrl+Shift+E открывает страницу со всеми вашими расширениями, там вы можете отключить их все переключателями.

Гм, я не могу открыть браузер из профиля с поврежденными расширениями.

@code3 Поскольку это тестовая версия, вы можете понизить версию браузера и отключить их оттуда. Конечно, вам придется жить с последствиями проведения тестов.

Нестабильный Manjaro с KDE Plasma 5

@gwen-dragon Верно, но так как это тестовая версия, ее взлом является частью игры, за исключением того, что один из них использует Snapshot по неправильным причинам.

Нестабильный Manjaro с KDE Plasma 5

@gwen-dragon Вот некоторые ошибки:

Теперь это настройка шрифта. Это было после удаления некоторых расширений.

Проверка файловой системы — /home смонтирован на SD

При перемещении каждого расширения в другой каталог:

@gwen-dragon Спасибо за помощь. Я не уверен, что это основная ошибка, потому что она возникает даже при отключенных расширениях.

@Zalex108 Где руководство по резервному копированию/сбросу профиля, которое у вас было в подписи?

@gwen-dragon Спасибо за помощь. Я не уверен, что это основная ошибка, поскольку она возникает даже при отключенных расширениях.

Похоже, основная ошибка

Теперь, как это связано с вашей системой GalliumOS/Rasberry Pi, знаете только вы, как специалист по сопровождению этой машины, или разработчики.

Вопрос в том, чего вы хотите достичь в будущем

-Отчет — это ошибка, хотя похоже, что она даже не связана с «Поврежденными расширениями»?
-Решить это с помощью информации, собранной из Интернета?
-Ждать обновленного снимка через неделю?

Это происходит как с версией 0.2.1 на npm, так и при сборке из коммита 2537b23.

"Порт сообщения закрыт до получения ответа."

Временное решение

Даже если вы не хотите отправлять ответ, всегда возвращайте обещание
в обратном вызове onMessage:

Вы также можете сделать обратный вызов onMessage асинхронным, чтобы неявно возвращать обещание (в приведенном ниже примере разрешается значение undefined).

Решение?

Должен ли "Порт сообщений закрыт до получения ответа". быть обнаружен, и обещание должно быть разрешено с помощью undefined ?

Текст был успешно обновлен, но возникли следующие ошибки:

sabrinasong прокомментировал 21 марта 2019 г.

Что делать, если после получения сообщения скрипт содержимого отключается и не может отправить ответ?

Роб--W прокомментировал 22 марта 2019 г.

Что делать, если после получения сообщения скрипт содержимого отключается и не может отправить ответ?

Затем обещание sendMessage отклоняется с помощью объекта со свойством "сообщение".

В Firefox отображается сообщение "Диспетчер сообщений отключен".
В Chrome отображается сообщение "Порт сообщений закрыт до получения ответа".

OussamaBATOUCHE прокомментировал 25 марта 2019 г.

привет, кто-нибудь может дать мне простое решение

prathmesh4 прокомментировал 12 апреля 2019 г.

RobertJGabriel прокомментировал 19 апреля 2019 г. •

Добавить возврат true. Это заставит Chrome ждать ответа.

Ghost прокомментировал 9 июля 2019 г.

я думаю, что: return true; // Сообщаем Chrome, что мы отправим отложенный ответ

Не решает проблему.
Приветствую.

прокомментировал reZach 8 августа 2019 г.

@vrgomes верен, это исправление не работает. Есть ли другое решение этой проблемы?

Призрак прокомментировал 21 августа 2019 г.

Есть новости по этому поводу?
Приветствую.

reZach прокомментировал 15 сентября 2019 г.

Используя ответ @RobertJGabriel в качестве отправной точки, я обнаружил, что ошибка возникает, когда мы вообще не отправляем ответ. Я обнаружил, что мне нужно вызвать sendResponse в дополнение к возврату true, чтобы предотвратить возникновение ошибки. Не имеет значения, что объект, который мы отправляем, пуст. @vrgomes надеюсь, это поможет

stanleykayzz прокомментировал 9 октября 2019 г.

Здравствуйте, в моем случае я вызываю sendResponse в моем background.js, а затем возвращаю true, но, как сказал @vrgomes, они просто задерживаются, поэтому единственная разница в том, что я получаю сообщения об ошибках позже в своей фоновой консоли.

Ghost прокомментировал 9 октября 2019 г.

Используя ответ @RobertJGabriel в качестве отправной точки, я обнаружил, что ошибка возникает, когда мы вообще не отправляем ответ. Я обнаружил, что мне нужно вызвать sendResponse в дополнение к возврату true, чтобы предотвратить возникновение ошибки. Не имеет значения, что объект, который мы отправляем, пуст. @vrgomes надеюсь, это поможет

@reZach похоже, так и должно быть!
Но пришлось поставить на содержимое скрипта на все вызовы эту проверку:
if(response == undefined || Object.keys(response).length == 0) return;

reZach прокомментировал 9 октября 2019 г.

Да, вам это тоже понадобится @vrgomes. Я забыл указать это в своем ответе.

Роб--W прокомментировал 10 октября 2019 г.

Недавние комментарии касаются API-интерфейса обмена сообщениями Chrome без полифиллов.

Deepansharora27 прокомментировал 10 марта 2021 г.

Я сталкиваюсь с той же проблемой, когда пытаюсь разработать расширение для Chrome.
Я испробовал все возможные методы, от создания функции async до возврата true в конце и возврата разрешенного объекта обещания, но, похоже, у меня ничего не работает.
Кто-нибудь может помочь мне с этим?

Вот мой код:
`

if (msg.command == "fetchNotes") //Обработка запроса, затем после прослушивания запроса
firebase
.database()
.ref("/notes")
.once("значение")
.then(функция (моментальный снимок) ответ( тип: "результат",
статус: "успешно",
данные: моментальный снимок.val( ),
запрос: msg,
>);
>);

// возвращаем истину;
// return Promise.resolve("Фиктивный ответ для сохранения тишины в консоли");
// вернуть неопределенное значение;
>);
`

rpl прокомментировал 10 марта 2021 г.

@Deepansharora27 во фрагменте кода, который вы вставили, прослушиватель onMessage зарегистрирован как глобальный chrome, который изначально предоставляется chrome, а не полифилл, поэтому ваша проблема на самом деле не связана с webextension-polyfill (и chrome не Если вы не поддерживаете возврат ответа путем возврата обещания, вы должны вернуть true, чтобы Chrome знал, что слушатель собирается ответить асинхронно, а затем вызвать обратный вызов ответа).

Deepansharora27 прокомментировал 10 марта 2021 г.

@rpl HIi, я тоже возвращаю true, но у меня это не работает

rpl прокомментировал 10 марта 2021 г.

@rpl Привет, я тоже возвращаю true, но у меня это не работает

Извините, но, как я уже упоминал в своем предыдущем комментарии, проблема не в полифилле, а скорее в том, как расширение использует API Chrome.

Я использую VueJS и Laravel для своего проекта. Эта проблема начала проявляться в последнее время, и она проявляется даже в старых ветках git.

Эта ошибка отображается только в браузере Chrome.

Этот вопрос помечен тегом laravel google-chrome vue.js

~ Вопрос задан 2019-01-10 10:12:32

17 ответов

Я отключил все установленные расширения в Chrome — у меня работает. Теперь у меня чистая консоль без ошибок.

~ Ответ дан 2019-02-10 07:50:39

Если вы являетесь разработчиком расширений и погуглили здесь, пытаясь устранить эту ошибку:

Проблема не в CORB (как указано в другом ответе здесь), поскольку заблокированные COR проявляются в виде предупреждений типа -

Скорее всего, проблема связана с неправильной обработкой асинхронного ответа на runtime.sendMessage. Как говорит MDN:

  • возвратите true из прослушивателя событий. Это сохраняет функцию sendResponse в силе после возврата слушателя, поэтому вы можете вызвать ее позже.
  • возвратите обещание из прослушивателя событий и разрешите его, когда получите ответ (или отклоните его в случае ошибки).

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

Итак, если вы видите, что ваше расширение вызывает эти ошибки, внимательно проверьте все ваши слушатели onMessage. Некоторым из них, вероятно, нужно начать возвращать промисы (достаточно пометить их как асинхронные). [Спасибо @vdegenne]

~ Ответ дан 2019-06-06 18:25:12

Если вы перейдете на страницу chrome://extensions/, вы можете просто переключать каждое расширение по одному и смотреть, какое из них на самом деле вызывает проблему.

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

Поэтому я смог определить, какое расширение на самом деле вызывает проблему, и отключить его.

~ Ответ дан 2019-02-15 19:10:54

Пост довольно старый и не имеет прямого отношения к разработке расширений Chrome, но пусть он будет здесь.

У меня была такая же проблема при ответе на сообщение в обратном вызове. Решение состоит в том, чтобы возвращать значение true в прослушивателе фоновых сообщений.

Я вижу проблему на моем сайте Gatsby V2, когда он загружается и страница работает.

Unchecked runtime.lastError: Порт сообщения закрыт до получения ответа.

Этапы воспроизведения

Я начал с v2-starter. У меня нет демо-сайта, на который можно было бы сослаться здесь :(

Ожидаемый результат

При загрузке не должно быть ошибок консоли.

Фактический результат

Есть ошибки консоли, которые я не могу отследить.

Окружающая среда

Система:
ОС: macOS 10.14
ЦП: x64 Intel(R) Core(TM) i7-3615QM CPU @ 2,30 ГГц
Оболочка: 5.3 - /bin/zsh
Двоичные файлы:
Узел: 11.0.0 - ~/.nvm/versions/node/v11.0.0/bin/node
Пряжа: 1.12.3 - /usr/local/bin/yarn
npm: 6.4.1 - ~/.nvm/versions/node/v11.0.0/bin/npm
Браузеры:
Chrome: 71.0.3578.44
Firefox: 62.0.3

Текст был успешно обновлен, но возникли следующие ошибки:

rjhilgefort прокомментировал 30 ноября 2018 г.

gatsbot прокомментировал 4 февраля 2019 г.

Об этой проблеме не было ни слуху ни духу. Жуткая тишина. 👻

Мы получаем много проблем, поэтому в настоящее время мы закрываем проблемы после 30 дней бездействия. С момента последнего обновления здесь прошло не менее 20 дней.

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

Спасибо, что являетесь частью сообщества Gatsby! 💪 💜

rjhilgefort прокомментировал 4 февраля 2019 г.

jkasun прокомментировал 9 февраля 2019 г.

Та же проблема

gm445566 прокомментировал 11 февраля 2019 г.

Та же проблема

elmys прокомментировал 11 февраля 2019 г. •

одинаково на всех страницах (не только с гэтсби)

AndrewFedor прокомментировал 14 февраля 2019 г.

Привет всем, просто чтобы присоединиться, так как я пытался отладить эту же проблему и искал переполнение стека. Я не думаю, что это связано с Гэтсби. Я нашел виновника, расширение Chrome под названием Color Contrast Analyzer. Отключите, и он должен исчезнуть.

rjhilgefort прокомментировал 14 февраля 2019 г.

У меня нет этого расширения, и та же проблема возникает, когда я нахожусь в режиме инкогнито, а также в iOS Safari

darcy-railip прокомментировал 15 февраля 2019 г. •

Это также происходит без расширения Chrome "Анализатор контраста цвета". Обратите внимание, что у меня ошибка воспроизводится при событиях мыши: перемещение, щелчок. В противном случае количество ошибок не увеличивается.

anisrehan прокомментировал 15 февраля 2019 г.

Я столкнулся с той же проблемой, разница только в том, что счетчик продолжает увеличиваться в миллисекундах и никогда не останавливается даже на 400 Кб.

DevMai90 прокомментировал 18 февраля 2019 г.

Привет всем, у меня была такая же проблема с ошибкой, возникающей при каждом вводе на моей странице. Оказывается, это было связано с моим расширением Adblock Chrome. Я отключил расширение, и ошибки исчезли.

polanskiy прокомментировал 18 февраля 2019 г.

Привет всем, у меня была такая же проблема с ошибкой, возникающей при каждом вводе на моей странице. Оказывается, это было связано с моим расширением Adblock Chrome. Я отключил расширение, и ошибки исчезли.

Похоже, что проблема не в расширении Adblock, потому что после его отключения у меня все еще есть те же проблемы.
и у меня есть блокировщик рекламы плюс.

Luckybai прокомментировал 18 февраля 2019 г.

У меня одна и та же проблема на каждой странице. может хром виноват?

прокомментировал wardpeet 18 февраля 2019 г.

Я не смог воспроизвести эту проблему, поэтому, если кто-нибудь может поделиться воспроизведением, было бы здорово! Опубликуйте список своих расширений Chrome.

Хороший способ проверить, являются ли это расширениями Chrome, – просто открыть браузер в режиме инкогнито и убедиться, что расширения не загружены.

Комментарий GeneralPeaceful от 18 февраля 2019 г.

Привет всем, у меня была такая же проблема с ошибкой, возникающей при каждом вводе на моей странице. Оказывается, это было связано с моим расширением Adblock Chrome. Я отключил расширение, и ошибки исчезли.

Похоже, что проблема не в расширении Adblock, потому что после его отключения у меня все еще есть те же проблемы.
и у меня есть блокировщик рекламы плюс.

Я согласен, что это не AdBlock (к сведению, у меня есть бесплатная версия). Для меня отключение Norton Safety Web избавило меня от сообщения об ошибке.

Комментарий GeneralPeaceful от 18 февраля 2019 г.

Мне не удалось воспроизвести эту проблему, поэтому, если кто-нибудь может поделиться воспроизведением, было бы здорово! Опубликуйте список своих расширений Chrome.

Хорошим способом проверить, действительно ли это расширения Chrome, может быть просто открытие браузера в режиме инкогнито и проверка того, что расширения не загружены.

Мои расширения: AdBlock, Adobe Acrobat, Google Docs Offline, Hover Zoom+, Norton Identity Safe, Norton Safe Web и приложения Chrome: Документы, Таблицы и Презентации.

Я отключил их все, чтобы убедиться, что ошибка исчезла, а затем включил их по одному, пока ошибка не появилась. Затем я отключил все остальные, чтобы убедиться, что это только одно расширение (как оно и было, см. пост выше :) )

DevMai90 прокомментировал 18 февраля 2019 г.

Привет всем, вы правы. Должно быть, у меня пукнул мозг. Расширение Chrome, которое я отключил, на самом деле было StayFocusd. AdBlock (бесплатная версия) НЕ выдает ошибку.

DSchau прокомментировал 18 февраля 2019 г.

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

  1. Отключить все расширения
  2. Включайте расширения (одно за другим), пока не появится проблема
  • Если он появится, вы нашли виновника.

Обычными виновниками, похоже, являются StayFocusd , Norton Safety Web и Color Contrast Analyzer.

Если мы можем помочь, не стесняйтесь комментировать, и мы еще раз посмотрим. Спасибо всем!

rjhilgefort прокомментировал 18 февраля 2019 г.

Я не думаю, что это связано с расширением — я видел, что мои сайты Gatsby не загружались в iOS (ванильное Safari). Я вернусь к этому, когда у меня будет возможность подтвердить и открыть снова, если это необходимо.

a7sc11u прокомментировал 19 февраля 2019 г.

Для меня это было расширение Color Contrast Analyze, я удалил его, и ошибка исчезла.

precizie прокомментировал 20 февраля 2019 г. •

У меня была панель инструментов Google Publisher Tool 5.1.0, я отключил ее, и ошибка исчезла.

eeldivad прокомментировал 20 февраля 2019 г.

После отключения norton safe web ошибка исчезла. Кто-нибудь уведомил Symantec об этой ошибке? Это начало происходить после того, как я обновился до последней версии Chrome

Farskid прокомментировал 20 февраля 2019 г.

для меня это было из-за расширения WhatFont - Find Font для Chrome.

ashikur11 прокомментировал 17 марта 2019 г.

в моем случае последняя ошибка возникла из-за расширения Hola vpn. после его отключения последняя ошибка исчезла.

electronic-space прокомментировал 17 марта 2019 г.

Я пытался отключить все расширения Chrome. Затем включите по одному.
Я обнаружил, что расширение Video Downloader professional и AdBlock вызывают ошибку.
У меня было установлено около 25 расширений в Google Chrome.
Примечание: не только одно расширение вызывает ошибку, но есть и другие расширения, которые могут привести к ошибке.

Не знаю почему, но вы правы. Могу подтвердить, что отключение помогло и мне.

ernsheong прокомментировал 17 марта 2019 г. •

Для тех, кто пришел сюда, чтобы отладить эту ошибку в Chrome 73, одной из возможных причин может быть то, что Chrome 73 и более поздних версий запрещает запросы между источниками в сценариях контента.

Это затрагивает многих авторов расширений Chrome, которым теперь нужно изо всех сил пытаться исправить расширения, поскольку Chrome считает, что "наши данные показывают, что это изменение не затронет большинство расширений".

ОБНОВЛЕНИЕ. После исправления проблемы с расширением CORS я все еще вижу эту ошибку. Я не знаю, в чем причина :/

Читайте также: