avva: (Default)
[personal profile] avva
Я записывал на болванку три больших файла (.avi). Вместе они занимают почти целый CD.
Обычно я это делаю (в Линуксе) так: сначала с помощью программы mkisofs создаю образ файловой системы iso9660, включающей нужные файлы, а потом с помощью программы cdrdao пишу этот образ на диск, в режиме DAO (Disk-At-Once). На этот раз я решил вместо cdrdao попробовать воспользоваться cdrecord, более универсальной программой для записи дисков. В принципе она использует, насколько я понимаю, ту же библиотеку нижнего уровня, что и cdrdao, но умеет также записывать диски в более ортодоксальном режиме TAO (Track-At-Once), а также мультсессионные диски итп.

Короче, я разобрался с опциями и запустил cdrecord в режиме TAO. Диск записался. Я решил проверить запись, и запустил расчёт контрольной суммы по файлам, читая их прямо с CD (запустив программу md5sum прямо в директории CD). К моему удивлению, все три контрольные суммы оказались неправильными - они не совпадали с контрольными суммами оригинальных файлов, которые я ещё не удалил. Тогда я запустил побайтовое сравнение. И что же я обнаружил! Каждый из записанных файлов отличается от оригинала в одном байте (в разных местах в каждом файле). И в каждом из этих байтов различие в значении было ровно 10 — в записанном файле на 10 больше, чем в первоначальном. Но при этом сами значения байтов были разные, и настолько, что биты всякий раз менялись другие!

Очень любопытный баг (или дефект). Пожалуй, я потрачу ещё несколько болванок на попытки его повторить и исследовать...

Date: 2004-07-01 11:24 am (UTC)
From: [identity profile] http://users.livejournal.com/magister_/
Сначала образ проверьте...

Date: 2004-07-01 11:36 am (UTC)
From: [identity profile] avva.livejournal.com
Образ я проверил ещё перед записью, он в порядке был.

Date: 2004-07-01 11:24 am (UTC)
From: [identity profile] ush.livejournal.com
Это big brother.

Date: 2004-07-01 11:31 am (UTC)
From: [identity profile] ormuz.livejournal.com
Бывает и такое (http://www.ixbt.com/optical/magia-chisel.shtml)

Date: 2004-07-01 11:37 am (UTC)
From: [identity profile] avva.livejournal.com
Это я читал, да, это ужас ;) но в данном случае что-то другое явно.

Date: 2004-07-01 12:11 pm (UTC)
From: [identity profile] gholam.livejournal.com
Кстати, мне недавно попался диск с похожим глюком - при попытке чтения одного из файлов, *драйв* исчезал из системы и переставал откликатся на запросы (включая тыканье в кнопку). Вис то есть. Самое забавное - диск был родным, штампованным диском с драйверами для внешнего 56К модема от US Robotics. Драйв - новенький CDROM от NEC.

Date: 2004-07-01 12:13 pm (UTC)
From: [identity profile] bugabuga.livejournal.com
http://www.troubleshooters.com/linux/coasterless.htm
:)

Date: 2004-07-01 12:58 pm (UTC)
From: [identity profile] oort.livejournal.com
Может, это какая-то роковая ошибка в драйверной части cdrecord? Я не смотрел, что у cdrecord и cdrdao общего, но я уже лет 5 пишу диски с помощью cdrecord (cdrdao использовал только для того, чтобы записать снятый чем-то виндовым образ музыкального диска). Такого эффекта не было ни разу (драйв -- Mitsumi CR-4804TE).

Date: 2004-07-01 01:35 pm (UTC)
From: [identity profile] vap.livejournal.com
А удастся воспроизвести, если машину притормозить немного? Частоту процессора сделать пониже, тайминги памяти самые консервативные, устройство перевести в PIO-режим etc?
У меня были похожие симптомы, вылечилось заменой памяти.

Date: 2004-07-01 03:00 pm (UTC)
From: [identity profile] selfmade.livejournal.com
А время тратить не жалко? :)

Date: 2004-07-02 12:11 am (UTC)
From: [identity profile] evr.livejournal.com
А любопытство исследователя? :)

Date: 2004-07-01 05:22 pm (UTC)
From: [identity profile] garvej.livejournal.com
Я сталкивался с похожей ошибкой.

С http-сервера, который работал под linux неправильно скачивались файлы. Ошибка тоже была в одном байте. Чаще всего менялся крайний бит байта, т.е., например, C2 превращался в C3. Иногда значение байта увеличивалось на 2. Но в одном большом файле такая ошибка могла встретиться в нескольких местах.

Адрес ошибочного байта был не любой, а подпадал под такую зависимость:
4096*N + k.
Если в 16-ричной системе записать, то будет просто 1000*N + k
Если значение байта увеличивалось на 1, то при этом было одно значение k, если увеличивалось на 2, то другое k.

А виноват оказался глючной модуль памяти на сервере.
После того, как его поменяли, ошибки исчезли.

Date: 2004-07-02 01:58 am (UTC)
From: [identity profile] a-konst.livejournal.com
позиции байтов не образуют арифметической прогрессии?
правда, не очень ясно, как считать :)

Date: 2004-07-02 05:38 am (UTC)
From: [identity profile] avva.livejournal.com
Не образуют ;)

Date: 2004-07-02 02:00 am (UTC)
From: (Anonymous)
У одного человека было такое. Оказалось, что один чип памяти плохой.

Date: 2004-07-02 05:38 am (UTC)
From: [identity profile] avva.livejournal.com
Тоже возможно, конечно...

Date: 2004-07-02 05:09 am (UTC)
From: [identity profile] hml.livejournal.com
Примерно год (или полтора) назад я скачивал с сайта Oracle какие-то дистрибутивы по просьбе одного знакомого. Один из образов (~600 Mb) оказался битым (архив не распаковывался). Лезу в google, нахожу свежий архив переписки какого-то китайца (или индийца ? не помню) с саппортом Oracle по этой проблеме. Саппорт его всячески опустил и сказал, что такого не может быть. Скачиваю еще раз. Сбоит. Сверяю -- есть два отличия, в разных местах (сверял CRC32 блоков по 16K, собственной программкой). Скачиваю третий раз. Снова битый файл, но уже в другом месте ! Тогда, имея три варианта, я легко вычислил сбойные блоки и заменил их. Архив развернулся.
Бедный китаец :)

Date: 2004-07-02 09:23 am (UTC)
From: [identity profile] ex-alexkon.livejournal.com
Для проверки памяти можно запустить Memtest86+ на ночь или лучше на день — потому что жарче. Она может гонять кучу паттернов по многу раз и должна уметь находить разные странные глюки.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
2829 30 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 2nd, 2026 06:55 am
Powered by Dreamwidth Studios