Re: Файлы более 2 Гб и mmap() - как? [solved]

2012-01-06 Пенетрантность Andrey Rahmatullin
On Thu, Jan 05, 2012 at 10:35:22PM +0400, Alexey Pechnikov wrote:
 Проблема оказалась в неестественном интеллекте защиты от integer overflow -
 вместо сообщения о недопустимых аргументах почему-то возвращается ошибка
 выделения памяти.
Поясните.

-- 
WBR, wRAR


signature.asc
Description: Digital signature


Re: Файлы более 2 Гб и mmap() - как? [solved]

2012-01-06 Пенетрантность Alexey Pechnikov
Сорри, я читаю рассылку через веб, так что могу ответить только на
свое же сообщение.

Смотрим man mmap - в примере кода стоит проверка на MAP_FAILED, именно эту
ошибку мы и увидим после выполнения такого вот кода:

int width=52086, height=47526;
mmap (NULL, width*height, PROT_READ , MAP_PRIVATE, fd, 0)

Ладно, тут я сам накосячил (чертов компилятор с -Wall даже на неиспользуемые
переменные ругается, а вот эти грабли игнорирует), но такая ошибка бестолковая:

Понятно, после объявления переменных как long ошибка исчезла.

-- 
Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Файлы более 2 Гб и mmap() - как?

2012-01-05 Пенетрантность alex kuklin

On 01/05/2012 03:42 PM, Alexey Pechnikov wrote:

На хосте с дебиан тестинг, ядро 3.1.0-1-amd64 не работает mmap() для
файла от 2 Гб. Интересуют вопросы - это что-то дебиан-специфичное?
И как можно увеличить лимит (хотя бы до размера доступного ОЗУ)?


ядро-то amd64, а userland какой?
если 32-битный, то все понятно (ц)

--
Alex


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4f05aa13.9000...@kuklin.ru



Re: Файлы более 2 Гб и mmap() - как?

2012-01-05 Пенетрантность Alexey Pechnikov
Уточняю - разумеется, система 64 бит. И ОЗУ 8 Гб.

-- 
Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Файлы более 2 Гб и mmap() - как?

2012-01-05 Пенетрантность Жанибек Нагашыбай
В Thu, 5 Jan 2012 17:57:54 +0400
Alexey Pechnikov pechni...@mobigroup.ru пишет:

 Уточняю - разумеется, система 64 бит. И ОЗУ 8 Гб.
 

Предлагаю делить файл и по кускам его загружать, обрабатывать, etc.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120105210210.795ae68c@DOM-131



Re: Файлы более 2 Гб и mmap() - как?

2012-01-05 Пенетрантность Dmitry E. Oboukhov
 Уточняю - разумеется, система 64 бит. И ОЗУ 8 Гб.

man mmap2
-- 

. ''`.   Dmitry E. Oboukhov
: :’  :   email: un...@debian.org jabber://un...@uvw.ru
`. `~’  GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537


signature.asc
Description: Digital signature


Re: Файлы более 2 Гб и mmap() - как? [solved]

2012-01-05 Пенетрантность Alexey Pechnikov
Проблема оказалась в неестественном интеллекте защиты от integer overflow -
вместо сообщения о недопустимых аргументах почему-то возвращается ошибка
выделения памяти.

-- 
Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Файлы более 2 Гб и mmap() - как?

2012-01-05 Пенетрантность Eugene Berdnikov
On Thu, Jan 05, 2012 at 09:47:44PM +0400, Dmitry E. Oboukhov wrote:
  Уточняю - разумеется, система 64 бит. И ОЗУ 8 Гб.
 
 man mmap2

NOTES
   Nowadays,  the  glibc  mmap() wrapper function invokes this system call
   rather than the mmap(2) system call.

 Чем гадать на кофейной гуще, нужно посмотреть strace, там и флаг MAP_32BIT
 и код возврата ядра должен быть виден. Осталось только добыть errno.
-- 
 Eugene Berdnikov


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120105194710.gd19...@sie.protva.ru