Почему виснут и падают плаги и хосты?

Сусанин

Well-Known Member
27 Фев 2003
2.007
199
63
45
Оренбург
vk.com
Хоть и глупый вопрос с точки зрения понимающих людей, но всё же: почему это происходит? Можно как-то просто и доступно объяснить процесс и причины зависания и падения программ человеку, далёкому от программирования? :wink2:
 
С позволения уважаемых ГУРУ в области программирования осмелюсь эти явления сравнить с имплантацией, где операционная система (или хост) - это организм, а встраиваемые плагины - имплантанты. Если не учтены индивидуальные особенности организма и сам имплантат не отвечает всем требованиям - он будет отвергнут организмом, либо начнётся процесс воспаления.
Если не вдаваться в дебри, то как-то так.
 
Да просто ошибки в коде...
именно - все люди ошибаются. При создании программ, особенно таких сложных и многозадачных, в том числе. А т.к. полностью проверить весь код невозможно (это не шутка, а вполне научно-доказанный факт), то всегда есть вероятность, отличная от нуля (а скорее оч близкая к 1), что практически любая программа содержит хотя бы одну ошибку.

вот и объясните это по-простому?
куда проще-то? и что именно объяснять? почему люди ошибаются?
 
человек интересуется как это выглядит со стороны алгоритма. Плагин выполняет какую-то операцию, которая вызывает зависание, вот и объясните человеку, кто понимает, что это за операция такая, которая может вызвать зависание. То, что это левый код это и ежу понятно.
 
Люди, оно, конечно, того, да.
Пишут, скажем, операционную систему - одни, дрова под неё - третьи, хосты - пятые, плагины - двадцать десятые. А пользователь голову ломай, кто ему мозг вынес за сеанс.

Наиболее частая причина падений в винде - её родовое проклятие, работа с памятью, переходящая из поколение в поколение. Типа совместимости ради.

Серьёзный софт заточен под никс-системы. Насколько я знаю, даже майкрософовские серваки работают именно на никс.
Интересно, почему...:laugh4:
 
вот и объясните это по-простому?
Далек от программирования как от Марса, но все же предположу: допустим, в том же компрессоре релиз выставленый на 24 миди пункта вступает в конфликт с 244 сэмплом аудио через каждые 100 тактов :) Вот тебе и ошибка :) Только когда ты крутишь и отстраваешь компрессор, не всегда попадаешь с 24м шагом релиза на 100тый такт и 244 сэмпл. Но вот в один момент ты докрутился до того, что все эти показатели совпали и - "программа выполнила недопустимую ошибку и будет закрыта". :)
Как то так я себе это представляю :)
Вот примерно так я себе это представляю :)
 
to Сусанин

Далек от программирования как от Марса, но все же предположу: допустим, в том же компрессоре релиз выставленый на 24 миди пункта вступает в конфликт с 244 сэмплом аудио через каждые 100 тактов :) Вот тебе и ошибка :) Только когда ты крутишь и отстраваешь компрессор, не всегда попадаешь с 24м шагом релиза на 100тый такт и 244 сэмпл. Но вот в один момент ты докрутился до того, что все эти показатели совпали и - "программа выполнила недопустимую ошибку и будет закрыта". :)
Как то так я себе это представляю :)
Вот примерно так я себе это представляю :
)

вот, кстати, бытовой пример ошибки )

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

и тд .. ))
 
Во.
Распространённый случай из моей практики: читаешь что-то в энторнетах, параллельно в пол-уха слушаешь жену, которая что-то такое рассказывает, например, про маму. И внезапно задаёт вопрос - а ты отвечаешь фразой на прочитанный вопрос в сети или продолжаешь вслух фразу, которую писал где-нибудь на форуме.
И дай бог, чтобы фраза была без мата и совершенно не соответствовала контексту
Типа "А что мне ей сказать?" - "Да пошли они нахрен с такими претензиями! Оп-па...".:girl_cray:
 
Плагин выполняет какую-то операцию, которая вызывает зависание, вот и объясните человеку, кто понимает, что это за операция такая, которая может вызвать зависание.
да элементарно - из-за человеческой ошибки в спецификациях, плаг-ин выдаёт на выход значение не по стандарту ВСТ, к примеру. Хост в свою очередь оч удивляется подобному поведению плаг-ина - вот и все дела.
Серьёзный софт заточен под никс-системы.
что такое серьёзный софт? аутлук сервер на компанию человек тысяч в 10 - это несерьёзный софт?
Насколько я знаю, даже майкрософовские серваки работают именно на никс.
смотря какие серваки

Наиболее частая причина падений в винде - её родовое проклятие, работа с памятью, переходящая из поколение в поколение.
можно поподробнее? а то я первый раз про это слышу. Да и что-то не припомню, чтоб у меня плаг-ин падал из-за проблем памяти в ОС.
 
а то я первый раз про это слышу.
Серьёзно? Типа "Memory could not be read" или там "written", "Click on OK to terminate the program" - и вообще никогда, никогда? Тогда завидую.

Было бы со мной так - да мне бы уже место в транспорте уступали только за это!:yu:
 
Серьёзно? Типа "Memory could not be read" или там "written", "Click on OK to terminate the program" - и вообще никогда, никогда? Тогда завидую.
если речь об Access Violation, то ОС тут абсолютно не при чём. Программы надо писать прямыми руками и не лезть в чужую память. Это ошибка настолько распространена в первую очередь благодаря C++ с его непосредственной работой с указателями. Любая юникс система обязана отреагировать так же. Только там обычно это выглядит в виде сообщения "Segmentation fault. Core dumped."
 
Это ошибка настолько распространена в первую очередь благодаря C++
Не буду вдаваться в подробности, обобщения а возьму и соглашусь.
Но как насчёт висящих невыгружаемых процессов?
Спустя 5-6 часов работы на ПК этот вопрос становится для меня очень болезненным и актуальным.
Обожаю перезагружать компьютер. Обожаю получать внезапные ошибки с закрытием хоста при несохранённой работе.
Тот же ФШ может сутками молатить на "маках" - без глюков и выпадений, и точно та же версия постоянно крэшится на ПК - на хорошей лицензионной системе, с последними обновлениями, мощном железе - и без всяких плагинов от левых разработчиков.
Вот как? В смысле, кому?
 
Программы надо писать прямыми руками и не лезть в чужую память.

К сожалению, на языке высокого уровня не получится создать НЕЧТО-принципиально-отличающееся-от-всего.
 
Тот же ФШ может сутками молатить на "маках" - без глюков и выпадений, и точно та же версия постоянно крэшится на ПК - на хорошей лицензионной системе, с последними обновлениями, мощном железе - и без всяких плагинов от левых разработчиков.
Вот кстати... Есть такой видеокурс, как-то там "Multi-Platinum mixing with Pro-Tools", от Дейва Молтона по-моему. Не помню, короче у этого перца выговор, будто он в рот камней набрал. Не важно. За всю шестичасовую (не подряд естественно) сессию, Pro-Tools HD на маке, у него падал два или три раза. Это нормально? Причём, это даже не вырезали))) Он это комментировал "Here it is... Happy Wheel Of DEATH!!!! =)"

upd.

Что за хрень со словом "кстати?" =) Админы, ответте! =)
 
Но как насчёт висящих невыгружаемых процессов?
ну с этим ничего не могу поделать.. увы... саму бесит.. правда на муз. рабочей станции эта пробелма не должна беспокоить, т.к. 99% таких проблем с процессами-зомби связано с сетью. Но вообще если каждые 5-6 часов возникает проблемы с неубиваемым процессами с помощью команду taskkill /F, то имеет смысл пересмотреть используемое ПО.

Тот же ФШ может сутками молатить на "маках" - без глюков и выпадений, и точно та же версия постоянно крэшится на ПК - на хорошей лицензионной системе, с последними обновлениями, мощном железе - и без всяких плагинов от левых разработчиков.
у меня есть прямо противоположный опыт)))) И уже кто-то, но ОС тут совершенно не при чём. у каждой есть свои особенности и недостатки. И надо их учитывать при создании ПО.


Вот как? В смысле, кому?
ну раньше бы написали только одну аббревиатуру. Теперь наверно можно писать 3: BG, SJ, ES. Да и первая в общем-то уже как несколько лет неактуальна)))

ADD:
Pro-Tools HD на маке, у него падал два или три раза.
дада.. я выше как раз о ПТ и говорила... да и лоджик тож хорош.. страшно вспомнить какой у него кривой бридж для плаг-инов 64-битных..

К сожалению, на языке высокого уровня не получится создать НЕЧТО-принципиально-отличающееся-от-всего.
и как это противоречит :p
Программы надо писать прямыми руками и не лезть в чужую память.
 
Последнее редактирование:
Но как насчёт висящих невыгружаемых процессов?
Спустя 5-6 часов работы на ПК этот вопрос становится для меня очень болезненным и актуальным.
Обожаю перезагружать компьютер. Обожаю получать внезапные ошибки с закрытием хоста при несохранённой работе.
Тот же ФШ может сутками молатить на "маках" - без глюков и выпадений, и точно та же версия постоянно крэшится на ПК - на хорошей лицензионной системе, с последними обновлениями, мощном железе - и без всяких плагинов от левых разработчиков.
Вот как? В смысле, кому?

Кстати (тест).

Дружище, что-то с кармой у тебя))). У меня что рабочая (не одна), что домашняя машины молотят неделями без перезагрузки (если, конечно, не считать моментов, когда начинаются игры с инсталляцией и прочие эксперименты). Эту привычку - вообще не тушить рабочие машины - завел где-то во времена XP SP2, и ничего...

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

Поэтому все добро, которое что-то там фоново делает в момент работы я выгружаю.

Офф:
Да! Кстати о карме!
Реально есть люди, которые заходят в помещение, где неисправен сложный прибор и вдруг(!) о чудо он начинает работать...
И наоборот бывает... Особенно, когда необходимо что-то кому-то продемонстрировать.
 
Почему виснут и падают плаги и хосты
Можно как-то просто и доступно объяснить процесс и причины...?

Можно.

Как чайник - чайнику:

Любое выполнение любой программы - это только математические вычисления и не более того.

Собственно вычислениями занимается процессор.
Данные, в том числе и изменяемые в процессе вычислений данные - переменные - ими занимается оперативная память.

Вычисления бываю разные, КЭП)))

Линейные вычисления - это когда одно математическое действие происходит следом за другим и не более того.

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

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

Циклические вычисления бывают тоже разные. Например: итеративные или рекурсивные.

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

При фатальной ошибке пожирается весь ресурс оперативки или процессора или и того и другого.......... и программа зависает, КЭП)))

Ведь математика существует в рамках бесконечности и ей пофиг, что ....

Вот тут, как смог, объяснил причины зависания.

В винде 98 кроме этих зависаний более ничего и не было.
При зависании (или, если смог объяснить - при возникновении в программе некоего бесконечного цикла - собственно - зацикливании))) любой программы в этой винде - зависала и сама ось. Зависание любой программы - мертвая винда - или синий экран - сколько-то-этажный мат пользователя и - неизбежная кнопка - Reset... Сам кучу нервов на этом потерял...

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

Вот почему программы теперь "падают"...

P.S. Мое объяснение может содержать вирус или фатальную ошибку)))

p.s2
Реально есть люди, которые заходят в помещение, где неисправен сложный прибор и вдруг(!) о чудо он начинает работать..
У нас сисадмин такой был - спокойный как танк - придет на работу - ниче не глючит... уйдет...
 
На собственном опыте убедился, что после установки в студии хорошего стабилизатора напряжения вылеты и глюки системы стали редкими гостями. 3 года ХР пашет без переустановки(добавлял только хард диски, да сервис паки). Очень чувствительны компьютеры к сетевым скачкАм, а блоки питания это вообще самое слабое место. Сетевой фильтр(только не удлиннитель с лампочкой!!!) - настоящий, тоже не помешает работе со звуком. Кстати сам наблюдал как на экране осцилографа выглядит электричество:crazy:до фильтра и после. Любопытное зрелище. Не удивительно что в России даже Маки глючат.
 
практически любая программа содержит хотя бы одну ошибку.
ошибки есть всегда - по статистике в хорошем софте ≈10 ошибок на каждых 10 000 строк кода (в плохом на порядок больше). В софте получающем высший сертификат безопасности всё равно остается 1-3 ошибки на 10 тыс. строк ;) Мировой рекорд сейчас єто микроядро из всего 7500 строк кода без единой ошибки - 6 человек писали его 5 лет

ЗЫ в Виндовс ХР в 2002 году было 40 000 000 строк кода…
 
математически как-то доказывали - типа все возможные коллизии просчитали ;)

ЗЫ под ошибками в коде подразумеваются не только те, что приводят к крешу, но и те, что позволяют (злоумышленникам) перехватить управление - поєтому их так удельно много

ЗЗЫ помнится только какая-то спецверсия Windows NT4 Server получила сертификат безопасности второй категории - и случилось єто уже аж перед выходом ХР ;) Из-за того, что процедура сертификации настолько долгая и нерентабельная, Билли больше с сертификацией осей не заморачивался…
 
Последнее редактирование:
Реально есть люди, которые заходят в помещение, где неисправен сложный прибор и вдруг(!) о чудо он начинает работать...

Это явление называется "Эффект Паули". Был такой физик известный весьма...одной из сторон его "славы" была какая-то уникальная способность срывать эксперименты и выводить из строя оборудование одним лишь присутствием. Дошло до того, что товарищи-физики стали на время экспериментов его из лабораторий выгонять, и однажды, подшутив над ним, невзначай подтвердили явление экспериментально :)

Из Википедии:
"Один из наиболее ярких случаев проявления эффекта Паули, согласно легенде, был таков. Однажды в лаборатории Джеймса Франка в Гёттингене сложный экспериментальный прибор для изучения атомных явлений по совершенно необъяснимой причине вышел из строя. Франк написал о случившемся Паули в Цюрих. В ответ пришло письмо с датской маркой, в котором Паули писал, что он ездил проведать Нильса Бора, и во время загадочного происшествия в лаборатории Франка поезд, в котором ехал Паули, как раз совершал остановку в Гёттингене"

По теме зависания с бесконечным циклом Vishelpokurit дал исчерпывающее объяснение. Непредвиденное стечение обстоятельств (справедливо подмечено, что в коде всего не предусмотришь) может нарушить выполнение условия выхода из цикла - и все, программа стоит и буксует на месте.

"Бида" с "Seg. Fault" он же "Память не можеть быть read" может произойти (и в основном и происходит), когда какой-либо параметр внутри программы (например, при передаче переменной в функцию) "вылезает" за границы отведенной ему памяти и "трет" другие участки памяти, срывая нормальный ход программы. Это тоже во многом заслуга человека - размер данных проверять надо.
К слову, сей механизм возникновения ошибок часто используется злоумышленниками и малварью для получения доступа к системе с высоким уровнем привелегий. Гуглите "Эксплоит" и "Переполнение буфера".
 

Сейчас просматривают