В скомпилированной программе (скажем, C или C++, но я предполагаю, что этот вопрос может распространяться на любой не-VM-ish язык со стеком вызовов) - очень часто при переполнении стека возникает ошибка сегментации:
Переполнение стека является [a] причиной, результатом является ошибка сегментации.
Это всегда так? Может ли переполнение стека привести к другим видам поведения программы/ОС?
Я также спрашиваю о не-Linux, не-ОС Windows и аппаратном обеспечении, отличном от X86. (Конечно, если у вас нет поддержки аппаратной памяти или поддержки ОС (например, MS-DOS), тогда нет такой вещи, как ошибка сегментации, я спрашиваю о случаях, когда вы можете получить ошибку сегментации, но что-то еще происходит).
Примечание. Предположим, что помимо программа действительна и не пытается получить доступ к массивам за пределами их границ, разыменовать недействительные указатели и т.д.