Profile

coolwolf0: (Default)
coolwolf0

January 2026

S M T W T F S
     123
45678910
11121314151617
18192021222324
252627 28293031

Custom Text

Ситуёвина из моих трудовых будней. Сразу скажу, что не-компьютерщикам, и не-юниксоидам тут будет неинтересно.

Итак, типовая рабочая задача. Пользователь открыл тикет: у него почему-то падает тест. Тест запускает из-под себя некий скрипт и ... получат от системы сообщение "file not found". Ну, первая заповедь суппорта - проверь, а не врёт ли пользователь. И как ни странно, выходит, что файл наличествует. Хоть и локальный, но на том самом компьютере, где всё произошло. И время создания у него вполне надёжное, то есть при запуске теста он точно существовал.

Ладно, думаю, может какой-то глюк (хотя какой может быть глюк в локальной файловой системе?). Приступаю ко второй заповеди: воспроизведи или докажи, что проблема исчезла. Запускаю ту же самую команду, и ... не верю своим глазам - проблема воспроизводится! Вторая заповедь не помогла.

Перехожу к следующей фазе двоичного дерева решений - свести проблему к простейшему примеру и найти точку, где упрощение приводит к нормальному поведению. Дохожу в декомпозиции до самой команды. Запускаю ... и $%@# получаю ту же ошибку. То есть с точки зрения какой нибудь команды "ls" файл имеется, он не пустой, и не симлинк "в никуда". Обычный файл, скрипт на Пайтоне! В таких ситуациях программист начинает придумывать самые фантастические объяснения, вроде вируса в системе. Ага, в линуксе, который за стопицот фаерволами в корпоративной сети, и при этом портится только этот несчастный скрипт.

Добавлю, что никаких фокусов CI с динамическим извлечением файла тут нет, он реально статический и его видят все кто только может. Имя файла правильное, никаких "чудесных" символов в нём нет. Октал дамп не выдаёт ничего подозрительного. Все разрешения на выполнение скрипта - валидные, и разрешают моему аккаунту его запускать, читать и даже модифицировать. Запускаю я его через полный путь, то есть поиска с помощью битого $PATH тут нет.

Короче, проблема была решена без всяких AI-помошников, чисто на собственном более чем 25-летнем опыте. И это оказалась не сигнатура UTF8 и не виндузовая кодировка CR-LF. Когда юзер узнал причину, он прямо офигел.

Даю читателям блога срок до завтра. Если кто может догадаться, что там случилось с несчастным файлом - комментируйте.

(no subject)

Date: 2025-08-08 08:14 am (UTC)
From: [personal profile] pmbbmw
interpretor link ! in head of the script is wrong

Page Summary

Expand Cut Tags

No cut tags

Style Credit