|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Segmentation fault |
|
|
Segmentation fault
|
Пользователь Сообщения: 67 |
Профиль | Отправить PM | Цитировать Доброго всем дня!
Интересная ошибка, не пойму как она возникает. А собственно происходить следующее. Машина стоит под Debian woody, на ней крутяться apache, ldap, mysql,pgsql,dns. После трех четырех дней работы, если например, стартую ftp localhost, в ответ выдает сабж. отдельно службы перестартовать не пробовал, делел всегда полную перезагрузку, после чего все становилось нормально. Будуть у Вас какие мнения по поводу вышеописанного. С уважением, Р. |
|
------- Отправлено: 15:49, 21-11-2002 |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Ужас!! у меня этот Segmentation Fault везде и повсюду.
В Mandrake при работе возникает с любыми прогами. Ну а Debian я так и не смог нормально установить. После dselect начинаеться распаковка пакетов, и бац! dpkg received Segmentation Fault. От чего зависит это ошибка? Подскажите это имеет что либо общего с конфигурацией ПК? |
Отправлено: 22:18, 09-08-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
glassMonk
Сообщения: n/a |
Интересно? А где вы его досталь, скачали?
|
Отправлено: 02:16, 10-08-2003 | #3 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Segmentation fault возникает тогда, когда прога выходит за пределы памяти, которые ей предоставила ОС. От конфигурации это не зависит, а зависит от программы (точнее ошибок в ней).
Если комптльнуть и запустить с параметром больше 4 букв то вылетит Segmentation fault |
------- Отправлено: 04:35, 10-08-2003 | #4 |
glassMonk
Сообщения: n/a |
Zur0
Раз ты залез немного в программирование, так вот что, у меня это не прокатывает я ввоже 7 символов молчит, а если ввести штук 12 то выдаст Segmentation fault. Как это обьяснить? |
|
Отправлено: 20:56, 10-08-2003 | #5 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать glassMonk
Попробовал и я. Действительно в seg fault падает, не после 4, а после 8 (то есть на 8 мом). Дело в том, что при запуске некой проги (да и отдельной функции), она во-первых, сохраняет адрес возврата. Адрес она сохраняет в первых 4х байтах стека выделенного под эту прогу. Уже за этим участком выделеяется место для остальных переменных (Все локальные переменные хранятся в стеке). Т.е. чтобы выйти за границы стека нужно записать строку длинной размер буффера + 4 байта. Если в данный пример запустить с параметром 4 < x < 8, то просто мы гробим данные, которые пренадлежат адресному пространству функции. Скорее всего мы гробим argc,argv ЗЫ Извини если, что то криво объясняю. Просто сам только недавно увлекся данной темой, и еще много чего не понимаю/понимаю не до конца... [s]Исправлено: Zur0, 20:10 11-08-2003[/s] |
------- Отправлено: 12:07, 11-08-2003 | #6 |
glassMonk
Сообщения: n/a |
Zur0
Ты попробуй создать массив на 100 елементов и увидиш что переполнение происходит не тогда когда 104 а когда штук 130 и больше. Получается чем больше масив тем больше ты можеш писать в него до вывода этой ошибки. Вот это меня и удивляет. ps. пигиг ты понятно насчет этого не беспокойся. |
Отправлено: 15:17, 11-08-2003 | #7 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать glassMonk
Тогда Х.З. ... Может в "програмировании" этот вопрос задать? |
------- Отправлено: 22:22, 11-08-2003 | #8 |
glassMonk
Сообщения: n/a |
Да понимаю, я через некоторое врямя, эту инфу узнаю точно. Сейчас не очень нужно.
Но спрошу. Слух я топик тогда перемещу в программирование ты разрешаеш? naka Ждем два дня после чего понимаю что НЕТ. И я спрашиваю. |
Отправлено: 13:35, 12-08-2003 | #9 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать glassMonk
Кажись разобрался. ГЦЦ по умолчанию выравнивает память по 2 двойным словам (вроде как), отсюда и рост длинны строки с размером буфера, при не кратных 8 числах... [s]Исправлено: Zur0, 17:41 13-08-2003[/s] |
------- Отправлено: 07:58, 13-08-2003 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
FreeBSD - apache2 - Segmentation fault (core dumped) | xolod. | Общий по FreeBSD | 3 | 20-07-2009 23:09 | |
5149: internal compiler error: Segmentation fault | Jory | Общий по FreeBSD | 0 | 07-08-2007 18:58 | |
Segmentation fault при запуске ./sams -d | UTot | Общий по Linux | 2 | 01-08-2007 16:07 | |
Apache + php и Segmentation fault | Negativ | Программное обеспечение Linux и FreeBSD | 1 | 15-05-2007 21:34 | |
Ошибка Segmentation Violation | vvadim | Microsoft Windows 95/98/Me (архив) | 2 | 12-11-2004 10:56 |
|