Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет dibr ([info]dibr)
@ 2011-08-25 22:04:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
щёлкни кобылу в нос - она unhandled exception 0x1234

          «при попытке редактировать рисунок paint из word97 напрочь виснет сократ»
          (из древней фидошки, оригинал утерян)

          «совет андроидовладельцам: заметил, что если не дать запуститься процессу e-mail, [...] то не будут работать камера и вспышка»
          (а это - отсюда).

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


(Добавить комментарий)


[info]nlothik@lj
2011-08-25 16:13 (ссылка)
Никогда не любил линукс...

(Ответить)


[info]pozitronik@lj
2011-08-25 18:37 (ссылка)
Одна из разновидностей эффекта бабочки.

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2011-08-26 05:16 (ссылка)
Типа да. Только бабочка - демонстрация динамического хаоса во временнóй оси, а вот это вот - демонстрация того же хаоса в пространстве конфигураций: если из достаточно сложной «стройной системы костылей и подпорок™» вытащить произвольный костыль, невозможно предсказать, что ещё отвалится...

(Ответить) (Уровень выше)


[info]ijona_tihaja@lj
2011-08-25 19:04 (ссылка)
Ядумаю, это все следствие сложности. Чем комп сложнее, тем более похож на организм, а в организме все так. Возможно, с какого-то уровня сложности ничто не может работать чотко, как часы.

(Ответить) (Ветвь дискуссии)


[info]klammeraffe@lj
2011-08-25 23:32 (ссылка)
Бугогашечки! Ви почти сформулировали т.н. "проблему остановки", проблему разрешимости в теории вычислимости. Тьюринг доказал, что общий алгоритм для решения проблемы остановки для любых возможных входных данных не может существовать.

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

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

))

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ijona_tihaja@lj
2011-09-05 18:44 (ссылка)
Т.е. нельзя полностью предсказать поведение программы?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]klammeraffe@lj
2011-09-05 18:55 (ссылка)
Единственный сто процентный способ: запустить ее сто тыщ пятьсот раз со всеми возможными входными данными, а так как у современной серьезной программы вариантов возможных входных данных сто тыщь мильярдов, то запускать ее придется сто тыщь мильярдов раз и время проверки превысит время жизни вселенной. Где-то так.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2011-09-05 19:05 (ссылка)
Ну, вообще-то halting problem имеет строгое математическое решение, поэтому к "стотыщмиллионов" и "времени жизни вселенной" не сводится: всегда найдётся такая программа, для которой для _всего_ множества входных данных (а оно может быть и бесконечным) ответ "остановится ли она" невозможно получить _ни за какое_ время, "хоть за стотыщмиллионов времён жизни вселенной".

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]klammeraffe@lj
2011-09-05 19:12 (ссылка)
Но на практике выходит так, что хоть сто тышь мильенов жизней - хоть 10 лет - однохуйственно, так что можно не усложнять упрощенное объяснение ))

(Ответить) (Уровень выше)


[info]dibr@lj
2011-08-26 05:37 (ссылка)
У организмов всё ещё забавней. С одной стороны - организм затачивался под работу "только в сборе", без возможности переконфигурации пользователем, и распределение ролей органов и их взаимозависимостей шло "как получится", без соблюдения архитектурной стройности (поэтому отрезаем никому не нужный аппендикс - снижается, внезапно, иммунитет). С другой стороны - если не трогать жизненно важные органы, то организм-то как раз адаптируется: если отрезать руку или ногу, работать перестаёт только рука или нога, и даже если отрезать, простите, тестикулы (важнейший орган, ответственен за выработку ряда гормонов!) - повлияет это, конечно, много на что, но прямо вот отвалятся только функции, непосредственно завязанные на них.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ijona_tihaja@lj
2011-09-05 18:43 (ссылка)
В принципе, и система с вирусом или какими-нибудь проблемами дохнет постепенно, иногда довольно долго можно работать на компе с глюками. Будем надеяться, что в дальнейшем способности компов к саморегуляции повысятся.

Вообще я сравнивала комп с организмом не на основании взаимозависимости частей, а скорее на основании неполной прозрачности происходящих там процессов.

(Ответить) (Уровень выше)


[info]etherealstation@lj
2011-08-25 19:19 (ссылка)
Да и не в компьютерах тоже
Да-да, помнится, как-то было дело, у меня мышь законфликтовала... с настольной лампой, самой обычной. Мыша была шариковой, и яркая лампа сквозь щель у кнопки засвечивала потрошки мыши )

(Ответить)


[info]constdr@lj
2011-08-25 19:34 (ссылка)
android -- java.
Потому и...

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2011-08-26 05:39 (ссылка)
А ява-то тут как влияет?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ext_229571@lj
2011-08-26 08:48 (ссылка)
Обычно такие проблемы связаны с race conditions и тому подобные трудноотлаживаемыми вещами, которые характерны для многопоточных приложений. А эта платформа хакрактерна многопоточными приложениями.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2011-08-26 13:08 (ссылка)
Казалось бы - как могут быть при помощи race conditions связаны программа электронной почты и работа фотокамеры/вспышки? Разве что при отмене запуска e-mail программа камеры грузится до того, как проинициализировано что-то другое ей нужное - но тогда при чём тут ява?

В-общем, ясней не стало :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ext_229571@lj
2011-08-26 16:14 (ссылка)
Например, программа для работы с фотокамерой рассчитана на моментальную отправку фотографий по e-mail, для чего инициализирует программу e-mail, предполагая, что она запущена. Если она не запущена, получается вызов несуществующего API.

Это предположение, я там не копался.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2011-08-26 16:33 (ссылка)
1) Это не race condition
2) Неужели такое возможно только в Яве?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ext_229571@lj
2011-08-26 16:46 (ссылка)
1) Это будет race codition, если они инициализируются одновременно в разных потоках и вызов какой-то функции из потока обслуживающего камеру, зависит от e-mail

2) Нет, конечно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2011-08-26 16:59 (ссылка)
1) я не вижу здесь гонки, только неотслеженную разработчиками "зависимость": если программа e-mail запущена - камера работает, если программа e-mail не запущена - камера не работает. Вот если бы камера не работала, если e-mail запускается позже обычного... но об этом речи не идёт, речь идёт о незапуске e-mail вообще.

Кроме того, если сходить по ссылке и почитать полный текст - камера работает, если e-mail запустить ручками позже. А это уже совсем плохо соотносится с гонками...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ext_229571@lj
2011-08-27 02:46 (ссылка)
Ну значит не гонка,значит просто зависимость одного приложения внутри платформы дот другого.

(Ответить) (Уровень выше)


[info]ext_229571@lj
2011-08-27 03:24 (ссылка)
Ну да, RC у него было бы, если бы иногда работало, а иногда нет.

(Ответить) (Уровень выше)


[info]constdr@lj
2011-08-26 17:34 (ссылка)
Любят девелоперы очень полюляют использовать всяческие фреймворки и навключать ненужных зависимостей. Это просто катастрофа какая-то, но "нам так проще".

4.ex: какая-нибудь простая утилита разрастается в десятки мегабайт и не будет работать если луна не в той фазе.
А когда ничинаешь копать, что же чудо делает, то высняется, что это всё помещяется в три строчки тривиального шелл-кода, кторому фазы луны пофигу.

(Ответить) (Уровень выше)


[info]unreal_undead@lj
2011-08-26 04:29 (ссылка)
В линуксе подобные фокусы с древних времён выдаёт система управления пакетами в Debian-based дистрибутивах. Из недавнего - на EEE 901 с предустановленным линуксом от ASUS'а апгрейд на новую версию Firefox требовал сноса GNOME Sudoku...

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2011-08-26 05:41 (ссылка)
Требовать сноса - это свежо. Я чаще слышу истории вроде "хотел поставить пасьянс, а он через цепочку зависимостей потянул за собой апач, SQL-сервер и ещё два гигабайта какой-то требухи" :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]unreal_undead@lj
2011-08-26 05:53 (ссылка)
Там всё, на самом деле, достаточно прозрачно - Firefox хотел новую версию gtk, а у Sudoku была прописана жёсткая зависимость на старую. Ещё в описании пакетов поле Conflicts есть, тоже может приводить к похожим эффектам, особенно когда конфликтующие пакеты тянутся по цепочкам зависимостей.

(Ответить) (Уровень выше)