Почему происходят сбои в работе программ?

Вопрос скорее философский, но, вопрос про точные вычисления.

На него почему-то никто не может ответить дельно.


Если взять примитивный код в несколько строчек, который исполняет всего пару задач и исправно это делает 500 раз, на 501-й он выдаёт ошибку. Не запускается, вылетает или ещё что-то. Что, мать его, происходит?


На эту тему можно посмотреть глобально: падающие спутники, навигационные программы, различного рода примитивная автоматика. Что бл происходит? Программы отработавшие многократно, прошедшие испытания, начинают «троить»...


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

0
Автор поста оценил этот комментарий

Программы работают по коду, который по сути - логические операции. Все твои баги, вылеты, сбои и "падения спутников" - неучтенки или последствия ошибок. Для этого и есть логи и разборы случаев. Вот недавно читал в журнале "Планета"... Накрылась нахрен сложная оборонительная система ни с того ни с чего? Почему? Оказалось - 1 микрочип купили "китайский"... И он перегорел в ответственный момент. А философствовать можно бесконечно, если не технарь и не видишь что по другую сторону занавеса.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Та кагбэ технарь, но иной раз уже думаешь что происходит какая-то мутная хрень)  

показать ответы
0
Автор поста оценил этот комментарий

Поискать лог и провести дебаг не советовать?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

нет, я же уточнил что код уже отлажен.

показать ответы
1
Автор поста оценил этот комментарий

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

Также многое зависит от рук программиста - простейший пример, объявил переменную и не проинециализировал ее и там может хранится абсолютно рандомное значение (работает для некоторых типов переменных и не во всех языках, если вдруг это прочтет программист :)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не, я не про то, про "идеальные условия".

показать ответы
1
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Это тоже можно предусмотреть ещё на стадии написания кода.

показать ответы
0
Автор поста оценил этот комментарий

Вопрос из разряда: "Почему у людей сопли текут?"

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ну здесь известна "механика"

3
Автор поста оценил этот комментарий

Сама программа с выверенным кодом не сбоит. Сбоит зоопарк служб и драйверов в операционной системе.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ок, почему? Если и эта система в своё время была отлажена?

показать ответы
1
Автор поста оценил этот комментарий

И что сказал лог 501-го случая, простите?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Просил вызывать шамана с бубном! 501 - число просто для примера.

показать ответы
2
Автор поста оценил этот комментарий

по носу ?

раскрыть ветку (1)
Автор поста оценил этот комментарий

В

0
Автор поста оценил этот комментарий

отличное подтверждение про вариант с неожиданными внешними условиями. Даже в этой отрасли не всегда могут все предусмотреть, что уж говорить об обычном софте

раскрыть ветку (1)
Автор поста оценил этот комментарий

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



Но в данном случае IMU передавал данные на главный компьютер "Скиапарелли" неожиданно долго, на протяжении секунды, что "обмануло" ПО модуля и заставило его считать эти измерения реальными данными, а не аномалией."

Т.Е. и это учитывается.

показать ответы
1
Автор поста оценил этот комментарий

Примитивный код не станет сбоить на 501 раз просто сам по себе.

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

пост про причину крушения  Скиапарелли http://pikabu.ru/story/eka_vyiyasnilo_prichinu_krusheniya_qu...

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества