Date: 20 Mar 96 22:21:39 EST From: Weston Ruch <103350.3250@compuserve.com> To: INTERNET <questions@freebsd.org> Subject: Shared Memory Question Message-ID: <960321032138_103350.3250_JHL113-1@CompuServe.COM>
next in thread | raw e-mail | index | archive | help
I'm wondering if there is a problem with the shared memory implementation in FreeBSD 2.1. There is no problem when the shared memory segment is small. I've tested it extensively with 1 Kilobyte shared memory segments and everything is fine. But problems occur when I try to utilize large shared memory segments. When writing to the segment, the program always terminates due to an invalid memory reference. For example, when a 32 Kbyte segment is utilized, a SIGSEGV signal is encountered when writing to address 0x80b2000. When writing to a 64 Kbyte segment, the seg fault occurs at 0x80ba000. The system always allocates the memory at or about these address ranges and its no problem when shared memory segments are about 1 Kbyte. I don't quite understand the addresses though, since the former address corresponds to 127 Mbytes, and the latter corresponds to 128 Mbytes and I don't have nearly that much memory or swap space. When I look at the core file for 32 Kbyte case in the debugger, the above addresses are verified, but it also states that the program had difficulty writing to address 0x7453203a, and I don't doubt it. I believe that either the kernel needs to be configured for more kernel memory (but there doesn't seem to be a parameter to do this), or perhaps there is a problem in the implementation. I hope I've described the situation adequately. Thanks for any info regarding this matter. Best Regards, Weston Ruch
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?960321032138_103350.3250_JHL113-1>