Error description illegal instruction

Тема для багов и вылетов авторской версии мода OGSR Только с установленным последним фиксом из шапки соседней темы. (Актуальная версия мода - 1.0.7) Скрытый текст Сейв с которого произошёл вылет/возникла проблема (находится в папке _appdata_/savegames), а также лог (находится в папке _appdata_/lo...

В. Сидорович очень тихо разговаривает.

О. Это не баг. Теперь Сидорович именно разговаривает, а не звучит телепатически в голове. Выключите радио.

В. Оружейник в ДН не хочет модернизировать оружие.

О. Модернизирует, если ткнуть в него этим стволом. Также имеет значение слот, в котором находится ствол. Для Вепря — слот 1, для автомата  слот 2.

Если при запуске происходит вылет [error]Description   : illegal instruction не доходя до главного меню, проблему можете решить проверив, не запущена у вас ли  утилита MSI Afterburner с RivaTunerStatisticServer (вероятная причина — несовместимость оверлея RTSS).

Выключив MSI + RTSS игра запустилась — как положено через шорткут ОГСР конфигуратора.

Если при запуске игра ругается на отсутствие D3DCOMPILER_47.dll даже при том, что весь доп. софт к моду (OGSRlib) установлен — необходимо обновление для Windows KB4019990 из каталога на оф.сайте Микрософта.

Случайные и неповторяемые вылеты в разных частях локаций, если при этом в логе вылета фигурирует d3d11.dll — скорее всего проблема с видеодрайверами. Переключайтесь на DX9 — «Улучшенное полное освещение» или слабее.

Нередко помогает удаление обновления Windows KB2670838.

ГГ слишком много ест. В файле actor.ltx правьте параметр satiety_v   = 0.000005

Долгий запуск игры — запускать не с конфигуратора, а  через xrEngine.exe в папке bin_x64.

⚒ Справочник вылетов

Украина  BozKurt


Среда, 24.07.2013, 20:56 | Сообщение # 1

FATAL ERROR

Тема-справочник по вылетам S.T.A.L.K.E.R в большей степени ориентирован на чистый ТЧ, но в большинстве случаев причина и решение вылета одинакова для всех частей.

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

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

Пожалуйста, если Вы наткнулись на вылет, которого нет в данной теме — не поленитесь сообщить об этом здесь. Возможно кому-то в дальнейшем это поможет решить свою проблему.
Также буду рад любому справедливому замечанию касательно содержимого выше.

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

ПОЖАЛУЙСТА, НЕ ЗАХЛАМЛЯЙТЕ ТЕМУ!

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

P.S. Поскольку форум ограничивает размер текста в сообщениях, поэтому пришлось разбить весь справочник на несколько постов.

Сообщение отредактировал ColR_iTЧетверг, 25.07.2013, 17:34


Статус:
Сообщений: 666
Регистрация: 25.05.2012

Украина  BozKurt


Суббота, 27.07.2013, 10:39 | Сообщение # 2

ЧАСТЬ 1


Статус:
Сообщений: 666
Регистрация: 25.05.2012

Украина  BozKurt


Суббота, 27.07.2013, 21:37 | Сообщение # 3

ЧАСТЬ 2

Сообщение отредактировал ColR_iTСуббота, 27.07.2013, 19:19


Статус:
Сообщений: 666
Регистрация: 25.05.2012

Российская Федерация  ALEX13


Воскресенье, 28.07.2013, 13:52 | Сообщение # 4

ColR_iT, задам глупый вопрос: что-то подобное будет по без логовым вылетам?


Статус:
Сообщений: 666
Регистрация: 26.12.2012

Украина  BozKurt


Воскресенье, 28.07.2013, 14:12 | Сообщение # 5

Нет, на АМК есть тема и развития в ней нет, ибо отследить безлоговые вылеты практически не возможно.

P.S. Добавил в справочник ещё три десятка описания (к сожалению, не для всех) вылетов:

Сообщение отредактировал ColR_iTВоскресенье, 28.07.2013, 14:12


Статус:
Сообщений: 666
Регистрация: 25.05.2012

Last Day

Спасибо большое! Нашел ответы на свои вопросы! happy Автору большой жирный +


Статус:
Сообщений: 666
Регистрация: 21.08.2012

Российская Федерация  strelok200


Понедельник, 29.07.2013, 19:19 | Сообщение # 7

Под прикрытием смерти (Cop Level addon)

Вылет «Not enough storage is available to process this command» ,
Недостаточно ресурсов для выполнений команды
решение :
1)Увеличить размер выгружаемого пула памяти.
2)Сократить объем заполнения пула, чтобы урезать память
Для решения проблемы делаем следующее:
Запускаем REGEDIT
Идем по адресу:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
Устанавливаем максимальный размер пула в 4 Гига.
«PagedPoolSize»=dword:ffffffff
Урезаем память при заполнении пула на 40 %. (По умолчанию установлено 80%).
«PoolUsageMaximum»=dword:00000028

Добавлено (29.07.2013, 19:19)
———————————————
Что-то подобное в сгм темах видел, думаю здесь пригодится

Сообщение отредактировал strelok200Понедельник, 29.07.2013, 19:18


Статус:
Сообщений: 666
Регистрация: 24.09.2011

Российская Федерация  Manifest


Понедельник, 12.08.2013, 03:00 | Сообщение # 8

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

FATAL ERROR

[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:stalkerpatch_1_0004xr_3daxrGamescript_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: …s.t.a.l.k.e.rgamedatascriptsdialog_manager.script:393: attempt to compare number with nil


Лечение:

в файле dialog_manager.script (393 строка) перед строкой if ver >= 7 then добавляем if not ver then ver = 8 end

выходит вот так:
local flag = nil
if not ver then ver = 8 end
if ver >= 7 then
flag = reader:r_stringZ()
else
flag = tostring(reader:r_s16())
end

Сообщение отредактировал ManifestПонедельник, 12.08.2013, 03:04


Статус:
Сообщений: 666
Регистрация: 07.08.2013

Российская Федерация  Scavenger


Понедельник, 12.08.2013, 05:08 | Сообщение # 9

Paradise Lost mod

Замучил вылет:

[error]Expression : assertion failed
[error]Function : CALifeSimulator__release
[error]File : deep deep in space
[error]Line : 666
[error]Description : Object to release is a zero pointer

Происходит обычно при убийстве какого-либо npc во время массовой бойни — например, с военными на Кордоне (блокпост) или Агропроме. Гугл выдал пару жалоб на данный вылет на разных безвестных форумах, и только…


Статус:
Сообщений: 666
Регистрация: 22.02.2011

The Zone Project

ColR_iT, может добавить раздел под вылеты СДК и компиляторов?


Статус:
Сообщений: 666
Регистрация: 21.07.2012

Российская Федерация  satanian


Пятница, 16.08.2013, 22:59 | Сообщение # 11

Цитата (Scavenger)

Замучил вылет: [error]Expression : assertion failed [error]Function : CALifeSimulator__release [error]File : deep deep in space [error]Line : 666 [error]Description : Object to release is a zero pointer Происходит обычно при убийстве какого-либо npc во время массовой бойни — например, с военными на Кордоне (блокпост) или Агропроме. Гугл выдал пару жалоб на данный вылет на разных безвестных форумах, и только…

тут глянька : амк
213 пост.

Сообщение отредактировал satanianПятница, 16.08.2013, 22:59


Статус:
Сообщений: 666
Регистрация: 28.12.2011

Украина  BozKurt


Пятница, 16.08.2013, 23:08 | Сообщение # 12

Никогда не задумывался об этом, если честно, ибо ничего практически ничего не понимаю в СДК, посему и вылетов никогда в нём не видел. На АМК aka_sektor создал тему, но в неё даже никто ничего не дополняет, поэтому я даже не знаю, что писать в таком случае. Если кто-то предоставит материал в достаточном количестве и в таком же формате, размещу — мне не сложно. Но поскольку, материала у меня нет, то и размещать мне нечего, а заниматься самостоятельным поиском вылетов СДК и компиляторов я не буду.


Статус:
Сообщений: 666
Регистрация: 25.05.2012

The Zone Project

ColR_iT, возьму пару частых вылетов компилера и будет немного материала. Думаю пригодится. Завтра сделаю и скину.


Статус:
Сообщений: 666
Регистрация: 21.07.2012

Украина  BozKurt


Пятница, 16.08.2013, 23:21 | Сообщение # 14

Всё же будет лучше, если инфу вы будите кидать в тему на АМК, к тому же, кое-какие вылеты там уже приведены, а при их достаточном количестве добавлю их сюда, а то ерунда выйдет — здесь чуть-чуть, там чуть-чуть…


Статус:
Сообщений: 666
Регистрация: 25.05.2012

Российская Федерация  BeeRsek


Суббота, 17.08.2013, 08:06 | Сообщение # 15

Тайна Зоны: История Стрелка

Лог:
Expression : hFile>0
Function : FileDownload
File : E:stalkersourcestrunkxrCoreFS.cpp
Line : 106
Description : d:s.t.a.l.k.e.rgamedataconfig

Суть ошибки: Сохраненная игроком игра в дальнейшем не загружается и при каждой попытке сделать это вылетает ошибка с вышенаписанным логом. Можно загрузить только автосейв.

Исправление ошибки: Для исправления данной ошибки нам нужен файл system.ltx. А в нем строка
[script]

current_server_entity_version =
После знака «равно» (=) у нас может быть значение 6 или 7. Значние 6 идет для версии игры 1.0004, значение 7 для версии 1.0006 (для других версий не знаю, не разбирался).
Если у вас стоит значение 6 то измените его на значение 7. Обычно этот вылет происходит когда стоит 6 и надо менять на 7, с обратной переменой я не сталкивался.

Добавлено (17.08.2013, 08:03)
———————————————

Цитата (ColR_iT)

Вылет говорит о том, что объект попал в вертекс (96), которого нет на данной карте.

Странно, у меня была подобная ошибка, но причиной был путь для непися,который не лежал на аи-сетке. Одна из его точек была не на сетке.

Добавлено (17.08.2013, 08:06)
———————————————

Цитата

обратитесь к разарботчикам данного мода.

Подправь опечатку…


Статус:
Сообщений: 666
Регистрация: 24.01.2011

Это кусок пересборки пакета unzip, а вовсе не какой-то моей программы.

Оптимизация компилера включена:

# x86_64-pc-linux-gnu-gcc -c -O1 -march=native -pipe -std=gnu89  -DNO_LCHMOD -DUSE_BZIP2 -DUNICODE_SUPPORT -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DUSE_ICONV_MAPPING -DLARGE_FILE_SUPPORT -Wall -I. -Ibzip2 -DUNIX  -DNO_SETLOCALE  crypt.c
during GIMPLE pass: profile_estimate
crypt.c: In function ‘testkey’:
crypt.c:654:1: internal compiler error: Illegal instruction

Оптимизация компилера выключена:

# x86_64-pc-linux-gnu-gcc -c -O0 -march=native -pipe -std=gnu89  -DNO_LCHMOD -DUSE_BZIP2 -DUNICODE_SUPPORT -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DUSE_ICONV_MAPPING -DLARGE_FILE_SUPPORT -Wall -I. -Ibzip2 -DUNIX  -DNO_SETLOCALE  crypt.c

Немножко предыстории вопроса.

Система установлена на VDS и собрана с оптимизацией под хостовый процессор Xeon Silver. Потом перенесена через dump/restore на другой хост, где Xeon попроще. Часть системы переустановлена из пакетов (потому что запуск чего угодно дает Illegal instruction).

Вопрос собственно в том — что такого вызывает gcc при оптимизации, чего я не пересобрал? world пересобрирал, часть заработала, но не все, как видно.

Recently I have been re-organizing and re-compiling all third-party dependencies of NebulaGraph, an open-source distributed graph database. And I have come across two interesting issues and would like to share with you.

Flex Segmentation Fault——Segmentation fault (core dumped)

Segmentation fault happened upon compiling Flex:

make[2]: Entering directory '/home/dutor/flex-2.6.4/src'
./stage1flex   -o stage1scan.c ./scan.l
make[2]: *** [Makefile:1696: stage1scan.c] Segmentation fault (core dumped)

 Check coredump with gdb:

Core was generated by `./stage1flex -o stage1scan.c ./scan.l'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  flexinit (argc=4, argv=0x7ffd25bea718) at main.c:976
976             action_array[0] = '';
(gdb) disas
Dump of assembler code for function flexinit:
   0x0000556c1b1ae040 <+0>:     push   %r15
   0x0000556c1b1ae042 <+2>:     lea    0x140fd(%rip),%rax        # 0x556c1b1c2146
   ...
   0x0000556c1b1ae20f <+463>:   callq  0x556c1b1af460 <allocate_array> # Allocate buffer
   ...
=> 0x0000556c1b1ae24f <+527>:   movb   $0x0,(%rax) # Write to buffer[0], failed due to illegal address
   ...
(gdb) disas allocate_array
Dump of assembler code for function allocate_array:
   0x0000556c1b1af460 <+0>:     sub    $0x8,%rsp
   0x0000556c1b1af464 <+4>:     mov    %rsi,%rdx
   0x0000556c1b1af467 <+7>:     xor    %eax,%eax
   0x0000556c1b1af469 <+9>:     movslq %edi,%rsi
   0x0000556c1b1af46c <+12>:    xor    %edi,%edi
   0x0000556c1b1af46e <+14>:    callq  0x556c1b19a100 <reallocarray@plt> # Allocate buffer
   0x0000556c1b1af473 <+19>:    test   %eax,%eax  # Check if the result pointer is NULL
   0x0000556c1b1af475 <+21>:    je     0x556c1b1af47e <allocate_array+30># Jump to error handler if NULL 
   0x0000556c1b1af477 <+23>:    cltq   # Extend eax to rax, truncated
   0x0000556c1b1af479 <+25>:    add    $0x8,%rsp
   0x0000556c1b1af47d <+29>:    retq
   ...
End of assembler dump.

We can see from the assembly code above that the issue was caused by the allocate_array function. reallocarray returned a pointer, which should be saved in the 64-bit register rax. However,  allocate_array called reallocarray and returned the 32-bit register eax. Meanwhile it used instruction cltq to extend eax to rax.

The possible reason could be that the prototype of reallocarray that allocate_array saw was different than the real prototype.

When looking at the compiling log, I did find such a warning, like _implicit declaration of function_ _reallocarray'_.

This issue can be resolved by adding CFLAGS=-D_GNU_SOURCE at the configure stage.

Please note that this issue is not supposed to appear every time. However, enabling compiling/link option -pie and core parameter kernel.randomize_va_space  helps produce the issue.

Takeaways:

  1. The return type of an implicit declarative function is int in C
  2. Pay attention to compiler warnings with -Wall and -Wextra enabled. Better enable -Werror under development mode.

GCC Illegal Instruction——internal compiler error: Illegal instruction

A while ago I have received feedback from NebulaGraph users that they encountered a compiler error: illegal instruction. See the details in this pull request: https://github.com/vesoft-inc/nebula/issues/978.

Below is the error message:

Scanning dependencies of target base_obj_gch
[ 0%] Generating Base.h.gch
In file included from /opt/nebula/gcc/include/c++/8.2.0/chrono:40,
from /opt/nebula/gcc/include/c++/8.2.0/thread:38,
from /home/zkzy/nebula/nebula/src/common/base/Base.h:15:
/opt/nebula/gcc/include/c++/8.2.0/limits:1599:7: internal compiler error: Illegal instruction
min() _GLIBCXX_USE_NOEXCEPT { return FLT_MIN; }
^~~
0xb48c5f crash_signal
../.././gcc/toplev.c:325
Please submit a full bug report,
with preprocessed source if appropriate.

Since it’s an _internal compiler error_, my assumption would be that an illegal instruction was encountered in g++ itself. To locate the specific illegal instruction set and the component it belongs to, we need to reproduce the error.

Luckily, the code snippet below can do the magic:

#include <thread>
int main() 
{
    return 0;
}

Illegal instruction is sure to trigger SIGIL. Since g++ acts only as the entrance of the compiler, the real compiler is cc1plus.

We can use gdb to perform the compiling process and catch the illegal instruction on spot:

$ gdb --args /opt/nebula/gcc/bin/g++ test.cpp
gdb> set follow-fork-mode child
gdb> run
Starting program: /opt/nebula/gcc/bin/g++ test.cpp
[New process 31172]
process 31172 is executing new program: /opt/nebula/gcc/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/cc1plus
Thread 2.1 "cc1plus" received signal SIGILL, Illegal instruction.
[Switching to process 31172]
0x00000000013aa0fb in __gmpn_mul_1 ()
gdb> disas
...
0x00000000013aa086 <+38>: mulx (%rsi),%r10,%r8
...

Bingo!

mulx belongs to BMI2 instruction set and the CPU of the machine in error doesn’t support this instruction set.

After a thorough investigation, I found that it was GMP, which is one of GCC’s dependencies, that introduced this instruction set. By default, GMP would detect the CPU type of the host machine at the configure stage to make use of the most recent instruction sets, which improves performance while sacrificing the portability of the binary.

To solve the issue, you can try to override two files in the GMP source tree, i.e. _config.guess_ and _config.sub_ with _configfsf.guess_ and _configfsf.sub_ respectively before configure.

Conclusion

  • GCC won’t adopt new instruction set due to compatibility issue by default.
  • To balance compatibility and performance, you need to do some extra work. For example, select and bind a specific instance for gllibc when it is running.

Finally, if you are interested in compiling the source code of NebulaGraph, please refer to the instructions here

You might also like

  1. Automating Your Project Processes with Github Actions
  2. Dev Log | How to Release jar Package to the Maven Central Repository

The browser version you are using is not recommended for this site.
Please consider upgrading to the latest version of your browser by clicking one of the following links.

  • Safari
  • Chrome
  • Edge
  • Firefox

Article ID: 000057876

Content Type: Error Messages

Last Reviewed: 02/09/2023

Error: “Illegal Instruction” when Running the OpenVINO™ Post-training Optimization Toolkit (POT) on Intel Atom® Platforms

Environment

Platform with Intel Atom® Processors N4200 or E3850Ubuntu* 18.04 LTSOpenVINO™ toolkit 2020.4

BUILT IN — ARTICLE INTRO SECOND COMPONENT

Summary

Options to resolve «Illegal Instruction» error when running the OpenVINO™ Post-training Optimization Toolkit (POT) on Intel Atom® platform

Description

Unable to use the POT to optimize a Tensorflow (TF) or MXNet model for inference with the OpenVINO™ toolkit on an Intel Atom® platform.

  • Run pot -h.
  • Receive error message: Illegal Instruction exception
Resolution

Choose one of two options:

  1. In most cases, TensorFlow (TF) or MXNet is not needed for POT. Use virtualenv for a clean python environment:

    $ python3 -m pip install virtualenv

    $ python3 -m virtualenv -p `which python3` <directory_for_environment>

  2. If using POT or AccuracyChecker when evaluating a model that uses TF or MXNet as the backend, use the non-AVX version of TF/MXNet. For example, use the conda distribution or compile them from source.

Refer to following links to build from source:

  • TensorFlow Intel Atom Github
  • MXNet Get Started Build from Source
Additional information

Similarly to MXNet, TensorFlow (TF) from pypi is shipped with AVX starting from version 1.6. Intel Atom® E3950 Processor supports SSE instructions and does not support AVX. Therefore, importing TF or MXNet models will cause an illegal instruction error when POT is run in devices without AVX support.

POT itself does not directly depend on either TF or MXNet. POT depends on Model Optimizer and Accuracy Checker, which may depend on TF or MXNet. To minimize this situation, OpenVINO™ toolkit 2021.1 limits the import of TensorFlow to cases where this library is really used, such as when evaluating a model using TF as backend. MXNet is also troublesome for the same scenario, so it is possible to do the same for it.

However, SSE systems, like Intel Atom® platforms, are not used for calibration purposes. It is not recommended to use Intel Atom® platforms for POT quantization.

  • Summary
  • Description
  • Resolution
  • Additional information

Need more help?

Alt text to be used for img

Give Feedback

Disclaimer

Понравилась статья? Поделить с друзьями:
  • Error description error 5000
  • Error description dest string less than needed
  • Error description an unknown error occurred office 2013
  • Error description an unknown error occurred 0x46 office 2016
  • Error description an unknown error occurred 0x1a8