Перейти к содержимому

Memory access out of bounds как исправить

  • автор:

Тема: Проблемы после перехода на Unity

Prroffesor

  • Просмотр профиля
  • Сообщения сайта

Prroffesor вне сайта

Регистрация 05.12.2011 Сообщений 56 Сервер Эвеланс

ЦитатаСообщение от Соломон_Окотопус Посмотреть сообщение

Ладно. Если по теме и без флейма.

Мне Яндекс браузер выдаёт:

«An error occured the Unity content on this page. See your browser JavaScript console for more info.
The error was: Uncaught RuntimeError: memory access out of bounds»

Если это чем то поможет устранить дефект, буду очень рад. На новый ноут денег, увы, нет.

У меня также Яндекс наотрез отказался открывать игру. Используй Американський Микрософтовский Едже, или Гугл хром или Мозилу.
Как запустить игру на клиенте уже все знают, читай форум.

высвечивается ok, и игра останавливается

ok An error occurred running the Unity content on this page. See your browser’s JavaScript console for more info. The error was Uncaught Runtime Error memory access out of bounds
Что в переводе означает :
Произошла ошибка при запуске содержимого Unity на этой странице. См. Дополнительную информацию в консоли JavaScript вашего браузера. Ошибка: Неперехваченная ошибка времени выполнения: доступ к памяти выходит за допустимые пределы. етырий 19 февраля 2021

1 932 просмотра

Люди с такой же проблемой (10)

укякоб 11 апреля 2023
исюбагэр 14 декабря 2022

Неперехваченная ошибка времени выполнения: доступ к памяти находится вне пределов чепунужи 20 октября 2022

Что делать? ямуфа 27 сентября 2021

И у меня: Произошла ошибка при запуске содержимого Unity на этой странице. См. Дополнительную информацию в консоли JavaScript вашего браузера. Ошибка была: Uncaught RuntimeError: доступ к памяти вне пределов сюсекюхы 28 августа 2021

Лучшее решение

эксперт
33 260 решений

Для решения проблемы с веб-сайтом «Одноклассники», когда появляется сообщение «ok» и игра останавливается, а также ошибка «Uncaught Runtime Error memory access out of bounds», рекомендуется следовать этим конкретным шагам:

1. Обновите ваш веб-браузер до последней версии. Версия браузера может влиять на работу веб-сайта и игр.

2. Очистите кэш и данные браузера. Хранящиеся данные могут вызывать конфликты и проблемы при работе с сайтом. В режиме инкогнито или приватном режиме откройте веб-браузер и выполните очистку кэша и данных.

3. Проверьте наличие и обновите плагины браузера (например, Adobe Flash Player или Unity Web Player), которые могут требоваться для правильной работы игры на веб-сайте «Одноклассники». Убедитесь, что плагины находятся в рабочем состоянии и обновлены до последней версии.

4. Проверьте настройки безопасности вашего веб-браузера. В некоторых случаях они могут блокировать загрузку и работу содержимого Unity. Установите настройки безопасности на стандартные или разрешите загрузку содержимого Unity, если такая возможность предоставляется.

5. Если проблема все еще не решена, попробуйте использовать другой веб-браузер. Иногда конкретный браузер может быть несовместим с определенными игровыми контентами.

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

C++ креши в WebAssembly на разных браузерах

Заметка задумывалась как продолжение предыдущей заметки о том, как собираем C++ креши на различных платформах включая asm.js и wasm. По количеству материала, это тянет только на заметку, а не полноценную статью, да и нужно быть наркоманом, что бы делать нативный клиент на C++, а потом засовывать его в браузер.

Но! Мы недавно делали доклад об опыте использования wasm на cppconf. Оказалось, что наркоманов больше чем я думал, да и новость Beta for Qt for WebAssembly Technology Preview. Данная заметка может быть полезна, если вы захотите сделать отлов крешей в production окружении.

  • отлов падений в asm.js и wasm;
  • как выглядит стек вызовов в Safari, Firefox, Chrome.

Отлов падений С++ кода в asm.js и wasm.

Отлов происходит через глобальный обработчик window.onerror.

window.onerror = function(messageOrEvent, source, lineno, colno, error)

В asm.js сообщение об ошибке и стек вызовов передается в параметре messageOrEvent . В случае wasm в messageOrEvent причина, что-нибудь типа Error: Out of bounds memory access (evaluating ‘dynCall(rawFunction, a1, a2, a3)’) , RuntimeError: index out of bounds и т.д
А в error попадает стек вызовов.

Стек

Мы используем ключ —emit-symbol-map при компиляции, что минимизирует имена функций. После компиляции получаем так называемые файлы символов.

Так выглядит файл символов для asm.js:

ljd:___cxx_global_array_dtor_11639 YZb:___cxx_global_array_dtor_40_30909 Ya:_glClearStencil

Для wasm это номер функции и имя функции:

14:_glStencilFunc 15:_glUniformMatrix4fv 16:_emscripten_set_touchend_callback 17:_glGenRenderbuffers 18:_emscripten_set_webglcontextlost_callback 19:_glUniform2fv

Стек в разных браузерах выглядит по своему

wasm function: 5960@[wasm code] wasm function: 5984@[wasm code] wasm function: 5981@[wasm code] wasm function: 1233@[wasm code] wasm function: 1232@[wasm code] wasm function: 34895@[wasm code] wasm function@[wasm code] dynCall_viii@[native code]
wasm-function[5960]@https://path_to_source wasm-function[5984]@https://path_to_source wasm-function[5981]@https://path_to_source wasm-function[1233]@https://path_to_source wasm-function[1232]@https://path_to_source wasm-function[34895]@https://path_to_source dynCall_viii_419@https://path_to_source
 at wasm-function[2007]:11 at wasm-function[11257]:228 at wasm-function[11606]:479 at wasm-function[11604]:1726 at wasm-function[11819]:91 at wasm-function[9055]:274 at wasm-function[9052]:26 at wasm-function[2721]:92 at wasm-function[1302]:2523 at wasm-function[4946]:69

Chrome выдает не только номер функции 2007, но и смещение в ней 11. Так же chrome позволяет просматривать код в текстовом виде. На снимке экрана код 276 функции.

Это бывает полезно, например если выстрелил undefined behavior .

Остается только вытащить номера функций, сопоставить с функциями в файле, пропустить через abi::__cxa_demangle , что-бы получить читаемый стек вызовов.

RuntimeError : Memory Access Out of Bounds — WebGL

I’ve expected to either get the solution or get aware of what is causing this error.

  • unity-game-engine
  • runtime-error
  • unity-webgl

7,745 2 2 gold badges 25 25 silver badges 35 35 bronze badges
asked Jul 14, 2023 at 7:28

Sounds like your app is exceeding one of the WebGL specific memory limits — blog.unity.com/engine-platform/…

Jul 14, 2023 at 12:40
Related questions
No ‘Access-Control-Allow-Origin’ in webGL Unity Multiplayer
Memory Access Out of Bounds — WebGL
Blazor WASM RuntimeError memory out of bounds

0

Know someone who can answer? Share a link to this question via email, Twitter, or Facebook.

  • unity-game-engine
  • runtime-error
  • unity-webgl
    The Overflow Blog
Linked
Hot Network Questions

Subscribe to RSS

Question feed

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2024 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2024.1.9.3159

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *