LINUX.ORG.RU

Что это за ошибка

 , , ,


0

1

Пытаюсь запустить некоторые программы в exagear, но вылезает такая херня

SEGV addr 0x18, STACK [0x0x240000 - 0x0x340000]
SEGV OUT OF STACK
setup_exception_record
ExceptionCode = 0x0
TRAP_x86_PAGEFLT, err_code 0x4
RAISE SEGV CODE 0xc0000005
virtual_handle_fault addr 0x0x18, err 0x0
0043:fixme:powrprof:PowerGetActiveScheme ((nil),0x91bfea8) stub!
wine: Unhandled page fault on read access to 0x00000018 at address 0x927a50 (thread 0036), starting debugger...
SEGV addr 0x18, STACK [0x0x240000 - 0x0x340000]
SEGV OUT OF STACK
setup_exception_record
ExceptionCode = 0x0
TRAP_x86_PAGEFLT, err_code 0x4
RAISE SEGV CODE 0xc0000005
virtual_handle_fault addr 0x0x18, err 0x0

Что это значит?

Делаешь странное, получаешь странное. Что не так-то?

anonymous ()

ExaGear являются эмуляторами среды Windows для Android

Логичнее такие вопросы задавать на профильных форумах windows и android, а ещё лучше на форуме exagear.

Что это значит?

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

Ты наверно сразу напишешь вопрос - как это исправить? Попробую ответить за всех: кроме раздела Job на этом форуме, шанс что тебе могут попытаться помочь с этой проблемой будет отличаться от 0 только с предоставлением исходников всех компонентов участвующих в проблеме.

bass ★★★★★ ()
Ответ на: комментарий от masteruser82841

Exagear закрылись

вот это плоттвист! я к ним давно присматривался, думал отжалеть денег на лицензию =/

ZERG ★★★★★ ()
Ответ на: комментарий от masteruser82841

Конкретней, что вызывает эту ошибку?

Тебе же там явно написано wine: не смог прочесть страницу только для чтения с адресом 0x00000018 по адресу 0x927a50 (запрос 0036)

Это как учитель тебе говорит:
- Иванов, к доске. Реши пример №387 на странице 120.
- Извнините, но страницы 387 в учебнике нет...

e000xf000h ()
Последнее исправление: e000xf000h (всего исправлений: 1)
Ответ на: комментарий от e000xf000h

Этого описания ошибки недостаточно, может страница на самом деле есть, а к ней не дают доступа, или она есть только в arm, а в x86 её забыли перевести, или ещё что-то. Пока я не узнаю точную причину не решу эту проблему. Вы что, предлагаете мне писать страницу бинарного кода непонятно где? Я не знаю что такое страница в данном случае.

masteruser82841 ()
Ответ на: комментарий от masteruser82841

Это сегфолт. Решается отладкой и исправлением в исходниках. Если исходников нет – решается описанием проблемы в багтрекере или на форуме и ответом разработчика, если связи с разработчиками нет – решается командой реверс-инженеров, которые проанализируют проблему и сделают патч.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Разработчики забросили этот проэкт, а реверс инженеринг c++ кода это невозможно, там все названия функций и переменных утеряны. А даже если было бы не утеряно, это безумно дорого стоит

masteruser82841 ()
Ответ на: комментарий от masteruser82841

реверс инженеринг c++ кода это невозможно

Зависит от того, насколько сильно хочется. Экономически не выгодно, это да. Но возможно.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Нет уж, во первых там arm архитектура, с которой знакомы единицы, во вторых ничего не понятно:

https://www.dropbox.com/s/fnrx3zylxy8zoem/Screenshot_20190508-025400.jpg?dl=0

Ни одного понятного человеку слова, по которому я мог бы определить смысл этого кода, и всего остального

masteruser82841 ()
Ответ на: комментарий от i-rinat

Хотя, если вы подскажите мне программу, которая с помощью искусственного интеллекта подпишет все эти функции и переменные, проблема решится

masteruser82841 ()
Ответ на: комментарий от masteruser82841

во первых там arm архитектура, с которой знакомы единицы

Э-э… что? ARM явно не экзотическая архитектура. К ней легко гуглятся доки.

Ковыряться в ассемблерных листингах — не популярное занятие. Но такое и на x86 не популярно.

Ни одного понятного человеку слова, по которому я мог бы определить смысл этого кода

Твоя ошибка в том, что ты пытаешься использовать декомпилятор. Он же часть инструкций не знает даже! А ещё ты писал, что у тебя проблемы с пониманием указателей. Нужно с этим разобраться перед чтением этого выхлопа. Указателей там выше крыши.

i-rinat ★★★★★ ()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от masteruser82841

программу, которая с помощью искусственного интеллекта подпишет все эти функции и переменные

Используй натуральный интеллект. Инструменты облегчат работу, но работать придётся самому.

Я бы не рекомендовал пытаться декомпилировать всё. Сосредоточься на том месте, которое сбоит.

Понимаю, что задача выглядит нерешаемой, но это не так. Хотя я и не делал декомпиляции бинарников в понятный код на Си, я делал статическую рекомпиляцию из ARM-кода в MIPS через промежуточное представление. И результат работал. Так что описанное выше вполне реально.

i-rinat ★★★★★ ()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от masteruser82841

Вы что, предлагаете мне писать страницу бинарного кода непонятно где?

Я намекаю на то что нужно взять инструмент посерьезнее чем просто лог файл, есть Linice, порт SoftIce под линукс.

Я не знаю что такое страница в данном случае.

Это несколько ячеек в физической памяти со своими логическими адресами.

e000xf000h ()
Ответ на: комментарий от e000xf000h

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

masteruser82841 ()
Ответ на: комментарий от masteruser82841

во вторых ничего не понятно:

судя по скрину который ты привел имеет место в двух разных инструкциях, причем в разной четности 32 и 64 бита запись в один и тот же адрес со смещением. Хотя как сказали выше, некорректная декомпиляция. Не компилированные исходники есть, или только бинарники?

e000xf000h ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.