Bug 34049 - файлы размером более 2ГБ не читаются
Summary: файлы размером более 2ГБ не читаются
Status: REOPENED
Alias: None
Product: Branch p8
Classification: Distributions
Component: streebog (show other bugs)
Version: не указана
Hardware: x86 Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-p8@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-22 20:06 MSK by тугодум
Modified: 2018-07-21 23:37 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description тугодум 2017-10-22 20:06:59 MSK
> gost3411-2012  файл_2ГБ
выдаёт:
    gost3411-2012: файл_2ГБ: Value too large for defined data type
т.е. не работает.

файлы размером меньше 2ГБ читаются streebog нормально.

проблема в функции fopen()
  см. gost3411-2012.c  строка 377.
Comment 1 Evgeniy Korneechev 2017-10-23 08:43:19 MSK
$ rpm -q streebog 
streebog-0.11-alt3.git8de633e

$ du -hs *
2,7G	alt-8-server-x86_64.iso
4,4G	alt-simply-8.2.0-x86_64.iso

$ gost3411-2012 alt-8-server-x86_64.iso 
GOST R 34.11-2012 (alt-8-server-x86_64.iso) = 06c722d57b4dac2079b8002b2ff6f4b93fb6c44f8684a1b1ed4de5fb6ced77ec6f72d52d7a7c04687a9197265412743f8f45eb6622bf261a29d583dd41518eec

$ gost3411-2012 alt-simply-8.2.0-x86_64.iso 
GOST R 34.11-2012 (alt-simply-8.2.0-x86_64.iso) = 08772da96d6fec6abd24fc9c4d50dbb9b5494212e835a7139e0462420634251bc7cfeeeaccef2b6b73b74b7468e34fc3c3e73bbbfbf2b23fde5e77646de87904
Comment 2 тугодум 2017-10-23 18:59:04 MSK
Обращаю Ваше внимание:
---> Platform: x86  <---
Так указано в заголовке.
Т.е. не 64 бита а 32.
Comment 3 тугодум 2017-10-23 20:08:02 MSK
Всё осталось по прежнему.
Comment 4 тугодум 2017-10-23 20:30:34 MSK
Переоткрыл ошибку заново,
  ранее "закрытую" Evgeniy Korneechev.
Comment 5 Evgeniy Korneechev 2017-10-24 09:40:33 MSK
(В ответ на комментарий №2)
> Обращаю Ваше внимание:
> ---> Platform: x86  <---
Извиняюсь, этого не заметил.

Тогда на Sisyphus - там версия эта же.
Comment 6 тугодум 2017-10-24 19:26:41 MSK
Вопрос элементарный т.к. есть СИСТЕМНАЯ команда MD5SUM,
  которая работает "как надо" с 2ГБ файлами на 32 битах.

Но вопрос этот СИСТЕМНЫЙ, а не прикладной.
  т.е. к специалисту по ЯДРУ
     точнее по файловой подсистеме.
       Там должна быть "Ядрёная" функция вместо Си-шной fopen(),
         которая позволяет читать любые файлы в файловой системе.
Comment 7 тугодум 2017-10-24 19:54:18 MSK
установил ошибку на Branch p8 заново,
  ранее установленную на Sisyphus Evgeniy Korneechev.

т.к. без привязки к конкретной версии операционной системы
    данный вопрос не имеет смысла (см. выше).
Comment 8 тугодум 2017-12-23 10:31:21 MSK
решение:
указать опцию компилятора при сборке
  -D_FILE_OFFSET_BITS=64

пример:
gcc -march=i686 -msse2 -D_FILE_OFFSET_BITS=64 gost3411-2012-core.c gost3411-2012.c

подробности смотри:
forum.altlinux.org/index.php?topic=40262.0
Comment 9 Mikhail Kasimov 2018-07-21 23:37:14 MSK
Upstream report: [0] https://github.com/adegtyarev/streebog/issues/18
Patch: [1] https://github.com/adegtyarev/streebog/commit/676bdae8961115c03e1868873c3cfa03dbbc10ad

ALT Linux Streebog package: [2] http://www.sisyphus.ru/ru/srpm/streebog -- Текущая версия: 0.11-alt3.git8de633e -- можно обновиться до версии 0.12 из апстрима, хотя в 0.12 функциональных отличий немного:

- Добавлены Dockerfile и "изкоробочный" RPM-spec, который был обкатан на сборках для различных ахритектур и версий RPM-based дистрибутивов: [3] https://build.opensuse.org/package/show/home:k_mikhail/GOST34.11-2012