On Wed, Apr 10, 2013 at 06:41:36PM +0400, Aleksey Avdeev wrote: > 10.04.2013 17:45, Dmitry V. Levin пишет: > > On Wed, Apr 10, 2013 at 05:36:15PM +0400, Aleksey Avdeev wrote: > >> 10.04.2013 16:53, Dmitry V. Levin пишет: > >>> On Wed, Apr 10, 2013 at 01:11:56PM +0400, Aleksey Avdeev wrote: > >>>> Приветствую. > >>>> > >>>> Я правильно понимаю, что установка пользовательским процессом RLIMIT > >>>> в 1000000, запрещена настройками hasher`а? > >>> > >>> $ hsh-run -- sh -c 'ulimit -Ha' > >>> core file size (blocks, -c) unlimited > >>> data seg size (kbytes, -d) unlimited > >>> scheduling priority (-e) 0 > >>> file size (blocks, -f) unlimited > >>> pending signals (-i) 1032915 > >>> max locked memory (kbytes, -l) 64 > >>> max memory size (kbytes, -m) unlimited > >>> open files (-n) 4096 > >>> pipe size (512 bytes, -p) 8 > >>> POSIX message queues (bytes, -q) 819200 > >>> real-time priority (-r) 0 > >>> stack size (kbytes, -s) unlimited > >>> cpu time (seconds, -t) 7260 > >>> max user processes (-u) 1024 > >>> virtual memory (kbytes, -v) unlimited > >>> file locks (-x) unlimited > >>> > >>> Привысить значения этих hard limits ядро не даст. > >>> > >>>> PS: В Python-3.3.1 такую операцию пытается сделать > >>>> test.test_resource.ResourceTest. Если у нас это запрещено -- отключу тест. > >>> > >>> Какой именно лимит? > >> > >> В коде (см. > >> ): > >> > >> # Issue 6083: Reference counting bug > >> def test_setrusage_refcount(self): > >> try: > >> limits = resource.getrlimit(resource.RLIMIT_CPU) > >> except AttributeError: > >> pass > >> else: > >> class BadSequence: > >> def __len__(self): > >> return 2 > >> def __getitem__(self, key): > >> if key in (0, 1): > >> return len(tuple(range(1000000))) > ^^^^^^^ > >> raise IndexError > >> > >> resource.setrlimit(resource.RLIMIT_CPU, BadSequence()) > > > > И какие значения RLIMIT_CPU в результате пытается установить этот код? > > 1000000 (см. выделение). > > Там в конечном итоге setrlimit(resource, &rl)(см. функцию > resource_setrlimit(PyObject *self, PyObject *args) в > ) > возвращает errno == EPERM. Сколько значений RLIMIT_CPU передается в одном вызове setrlimit? Какие значения RLIMIT_CPU в результате пытается установить этот код? На какое поведение setrlimit рассчитывает этот тест? Что вообще тестирует тест по имени test_setrusage_refcount? -- ldv