From: Grigory Batalov <bga@altlinux.ru> To: ALT Linux kernel packages development <devel-kernel@altlinux.ru> Subject: Re: [d-kernel] shmctl: Invalid argument Date: Wed, 10 Dec 2003 09:42:40 +0300 Message-ID: <20031210094240.6a973096.bga@altlinux.ru> (raw) In-Reply-To: <20031209145549.GH835@master.mivlgu.local> On Tue, 9 Dec 2003 17:55:49 +0300 Sergey Vlasov <vsu@altlinux.ru> wrote: > > После переезда с ядра 2.4.20-alt10-smp на 2.4.22-std-smp-alt12 > > от программы amdump (пакет amanda) наблюдаются сообщения: > > > > taper: FATAL shmctl: Invalid argument > > > > Я просмотрел исходники taper, его манипуляции с памятью > > можно упростить до прилагаемого файла. > > Указанное сообщение соответствует коду в taper.c: > > > > if(shmid == -1) return; /* nothing to destroy */ > > if(shmctl(shmid, IPC_RMID, NULL) == -1) { > > error("shmctl: %s", strerror(errno)); > > } > > > > При запуске shmtest обычным пользователем видно, что память > > выделяется и затем (через заданные 5 сек.) освобождается: > > > > $ ipcs > > ------ Shared Memory Segments -------- > > key shmid owner perms bytes nattch status > > 0x00000000 262150 bga 700 1048576 1 > > <skip> > > > > Однако, на ядре 2.4.20-alt10-smp программа завершается > > молча, а на 2.4.22-std-smp-alt12 выходит сообщение: > > > > ./shmtest: : Unknown error 2339276 > > Не воспроизводится... > > И программа с ошибками - попробуйте приложенный исправленный вариант. > > gcc -o shmtest -g -O2 -Wall -W shmtest.c Наверное, они error() переопределили по аналогии с perror(), а я не заметил. Указанное "shmctl: Invalid argument" при правильном использовании error() появляется, если shmdt(result) выполнить ДО shmctl(shmid, IPC_RMID, NULL). On Tue, 9 Dec 2003 17:50:52 +0300 "Dmitry V. Levin" <ldv@altlinux.org> wrote: > Это, скорее всего, связано с CONFIG_HARDEN_SHM=y в конфигурации ядра: > разделяемая память освобождается, если она не используется ни одним > процессом. Как я понимаю, нужно пропатчить taper, чтобы shmdt всегда выполнялось ПОСЛЕ shmctl? -- Григорий Баталов, группа техподдержки ОАО "Ковдорский ГОК"
next prev parent reply other threads:[~2003-12-10 6:42 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-12-09 14:29 Grigory Batalov 2003-12-09 14:50 ` Dmitry V. Levin 2003-12-09 14:55 ` Sergey Vlasov 2003-12-10 6:42 ` Grigory Batalov [this message] 2003-12-11 9:57 ` Denis Ovsienko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20031210094240.6a973096.bga@altlinux.ru \ --to=bga@altlinux.ru \ --cc=devel-kernel@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux kernel packages development This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \ devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com public-inbox-index devel-kernel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git