Date: Fri, 15 Sep 2000 17:41:56 +0200 From: Matthew West <mwest@uct.ac.za> To: stable@freebsd.org Subject: msgget() / IPC message queue weirdness on FreeBSD 4.1-STABLE Message-ID: <20000915174156.A29544@apotheosis.org.za>
next in thread | raw e-mail | index | archive | help
I seem to be experiencing some weirdness with SysV Message Queues on FreeBSD 4.1-STABLE. I'm unable to create message queues on one machine, running either a custom or generic kernel, in single or multi-user mode. And yet I can get it to work perfectly on another machine, almost identical hardware configuration, running the same version of FreeBSD (via NFS make installworld). I realise this is going to be a real pain to try and reproduce, as I only seem to be able to get it to do this on one particular machine. Basically, msgget() refuses to create and message queues, claiming that there's "no space left on device", even when in single user mode. [root@casper2] ~/mq# uname -a FreeBSD casper2.cs.uct.ac.za 4.1-STABLE FreeBSD 4.1-STABLE #0: Thu Sep 14 21:50:13 SAST 2000 mwest@casper2.cs.uct.ac.za:/usr/obj/usr/src/sys/CASPER2 i386 [root@casper2] ~/mq# grep SYS /sys/i386/conf/CASPER2 options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores [root@casper2] ~/mq# cat test.c #include <sys/types.h> #include <unistd.h> #include <sys/ipc.h> #include <sys/msg.h> #include <stdio.h> int main() { if (msgget(getpid(), IPC_CREAT) == -1) perror("msgget"); exit(0); } [root@casper2] ~/mq# ./test msgget: No space left on device [root@casper2] ~/mq# truss ./test __sysctl(0xbfbff9b0,0x2,0x2805b6a8,0xbfbff9ac,0x0,0x0) = 0 (0x0) mmap(0x0,32768,0x3,0x1002,-1,0x0) = 671465472 (0x2805c000) geteuid() = 0 (0x0) getuid() = 0 (0x0) getegid() = 0 (0x0) getgid() = 0 (0x0) open("/var/run/ld-elf.so.hints",0,00) = 3 (0x3) read(0x3,0xbfbff990,0x80) = 128 (0x80) lseek(3,0x80,0) = 128 (0x80) read(0x3,0x28060000,0x4c) = 76 (0x4c) close(3) = 0 (0x0) access("/usr/lib/libc.so.4",0) = 0 (0x0) open("/usr/lib/libc.so.4",0,027757775010) = 3 (0x3) fstat(3,0xbfbff9d8) = 0 (0x0) read(0x3,0xbfbfe9a8,0x1000) = 4096 (0x1000) mmap(0x0,602112,0x5,0x2,3,0x0) = 671498240 (0x28064000) mmap(0x280e1000,16384,0x3,0x12,3,0x7c000) = 672010240 (0x280e1000) mmap(0x280e5000,73728,0x3,0x1012,-1,0x0) = 672026624 (0x280e5000) close(3) = 0 (0x0) sigaction(SIGILL,0xbfbffa30,0xbfbffa18) = 0 (0x0) sigprocmask(0x1,0x0,0x2805b5dc) = 0 (0x0) sigaction(SIGILL,0xbfbffa18,0x0) = 0 (0x0) sigprocmask(0x1,0x2805b5a0,0xbfbffa58) = 0 (0x0) sigprocmask(0x3,0x2805b5b0,0x0) = 0 (0x0) getpid() = 819 (0x333) msgsys(0x1,0x333,0x200,0x28093468,0x1,0x280e54a0) ERR#28 'No space left on device' msgget: No space left on device writev(0x2,0xbfbffa74,0x4) = 32 (0x20) sigprocmask(0x1,0x2805b5a0,0xbfbffa34) = 0 (0x0) sigprocmask(0x3,0x2805b5b0,0x0) = 0 (0x0) exit(0x0) process exit, rval = 0 [root@casper2] ~/mq# ipcs -q Message Queues: T ID KEY MODE OWNER GROUP [root@casper2] ~/mq# ipcs -Q msginfo: msgmax: 16384 (max characters in a message) msgmni: 40 (# of message queues) msgmnb: 2048 (max characters in a message queue) msgtql: 40 (max # of messages in system) msgssz: 8 (size of a message segment) msgseg: 2048 (# of message segments in system) Any thoughts/ideas welcome! -- mwest@uct.ac.za To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000915174156.A29544>