← All posts tagged segfault

Strephil
segfault рекурсия сегфолт Например, shell. В sh есть функции, соответственно, есть и рекурсивные функции.
Рекурсия — это прямой путь к переполнению стека.
Если у меня есть sh, значит, он будет сегфолтится, и это типа не будет ошибкой.
Если я хочу, чтобы программы на моём компьютере никогда не сегфолтились, что я должен сделать с sh? Выкинуть поддержку функций? Выкинуть вызов функции из другой функции? Ограничить глубину вызовов разумным числом? Например, 8? Если хочешь глубже — возвращать ошибку? Пожалуй, последнее звучит разумно.
Strephil
segfault сишечка Программа сегфолтится в каком-то другом месте, не там, где ошибка. По корке видно, что испорчен регистр r20, в его старшую часть записано что-то не то.
Как оно туда попало? не понятно.
Пока что моя гипотеза, регистр сохранялся в стеке, и пока он там лежал, я где-то в этот стек поднасрал, и из стека он вылез уже порченый. Но как я мог насрать столь филигранно, чтобы испортить только старшую часть этого регистра? Я не знаю.
Strephil
быдлокод segfault это я совсем в другом месте забыл звездочку поставить, поэтому размер оказался некорректный, и что-то там в памяти перетёрлось, вот потом и вылетало при вызове malloc.

Я успешный программист. Поправить один segfault занимает час.