LINUX.ORG.RU
ФорумTalks

Два раза упала и заработала

 , , , ,


0

1

Программисты, объясните мне - как, отчего программа может 2 раза вылететь при запуске, а на 3 раз запуститься и нормально работать много часов подряд?

Программа здесь - wine с запускаемым Rome: Total War.

Deleted

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

Stahl ★★☆
()

потому что бог троицу любит.

conalex ★★★
()

Неинициализированные данные, например. Указатель все проверяют на 0, но если указатель не ноль, а мусор, то это уже никто практически не проверяет.

ilovewindows ★★★★★
()

Плохонаписанная многопоточная программа может на 4ый раз о5 не запуститься. А потом, в зависимости от погоды на марсе.

pon4ik ★★★★★
()

Состояние гонки, например

WARNING ★★★★
()

Если бы ты плотно работал с вендой начиная с 3.чего-то там по ХР, то ты точно бы знал что это абсолютно нормальное поведение.

Ygor ★★★★★
()
Последнее исправление: Ygor (всего исправлений: 1)

wine

ну ты еще вспомни чудесные артефакты в EVE Online на закрытых дровах ATI, которые проявляются или не появляются в зависимости от положения звезд. А вообще я такое даже на мобильных видел. Например ShadowFight полгода назад тоже любил такой хренью страдать. То загрузился, то взял и похерил весь конфиг, то не смог застыковаться с гуглоплеем, то опять все пучком

upcFrost ★★★★★
()

Это обычная магия Шиндошс

uin ★★★
()
Ответ на: комментарий от ilovewindows

Указатель все проверяют на 0

кто тебе это сказал.

lenin386 ★★★★
()

потому что оно непотопляемо может, как не старайся или еще говорят что хрюшка везде грязь найдет?

dima1981
()

Был я когда-то сопливым аспирантом. Надо мне было писать софт для обсчётов временных рядов. Использовался в программе временный файл и для его создания дёргалась какая-то системная функция. Так вот программа падала, если до этого не было создано 16 временных файлов, потом работала идеально. Если стереть эти временные файлы, то опять падала. Падала, временный файл оставался и т.д. Почему именно так для меня загадка.

imul ★★★★★
()
Ответ на: комментарий от Meyer

Функции передавалась маска имени, обратно она возвращала дескриптор. Имена по маске начинались с «00» и заканчивались «FF». Пока имя не доходило до «10» программа не работала.

Небось бага там какая закралась, проявлявшаяся на твоей задаче.

В моей задаче ничего интересного не было. Писать/читать. Функция просто тупо возвращала неверный дескриптор, если во временном каталоге было менее 16 файлов. Было это в конце девяностых на виннт4 с борланд си 4 с чем-то.

imul ★★★★★
()

Где-то рейс в многопотоке на этапе инициализации возник. На Винде он редкий, а под wine вылезает.

Norgat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.