Subject: shared memory issues on linux kernel 2.4.18

From: "Xu, Jiang" <[email-masked]>
Date: Thu, 5 Aug 2004 14:30:34 -0600

Hi, All,
 
The kernel version may be old to most of you guys, but this is what I am
doing the tests on.
 
Previously I use uclibc tool chain and compiling everything fine and it runs
fine; System V IPC works, including shared memory works...
The nightmare starts when I try to use glibc tool chain.  I downloaded
crosstool and successfully compiled everything.
However, when I run it problem happens on shared memory.
What I did for testing is this:
1) call shmget to allocate the shared memory
2) call shmat to mmap to process virtual memory space.
3) call shmctl to verify everything appeared fine.
4) for testing, just write couple bytes inside of that memory region.
 
The problem and also the interesting thing is:
If without 4) everything runs fine.
However, once excute 4) or any type of the writing to that memory region,
the box will get a kernel crash later, but not immediately....
I guess the kernel crashes when kswapd tried to do something, because the
oops happens on kswapd with the following information:
 
Kernel BUG at filemap.c:908!
Unable to handle kernel paging request at virtual address 00000000, epc ==
80025ebc, ra == 80025ebc
 
But if I do not excute 4) everything runs perfect without problem.
 
At now, I am completely out of clue, wonder anybody may have any ideas and
can help me out??
 
Thanks
 
John