* [LTP] [PATCH] fix the SEGBUS signal error [not found] <309535663.439391290666931720.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com> @ 2010-11-25 6:39 ` Zhouping Liu 2010-11-25 8:31 ` Mike Frysinger 2010-11-25 20:37 ` Garrett Cooper 0 siblings, 2 replies; 3+ messages in thread From: Zhouping Liu @ 2010-11-25 6:39 UTC (permalink / raw) To: ltp-list [-- Attachment #1.1: Type: text/plain, Size: 1800 bytes --] Hi,all when I run this test program : #./hugemmap04 -I 3600 -H /var/hugetlbfs I found it returned quickly. I used gdb tool to debug it, it returned error with the 'SEGBUS' signal error, and the error occurred in the 178 lines '*(int*)addr = 0;'. it's okay when I add this line write(fildes, "write some words to the TEMPFILE file\n",40); you can run this c program to find this error. $cat test.c #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <sys/mman.h> char * TEMPFILE="mmapfile"; int freepages = 0; int main() { long *addr; int fd; long long mapsize; if ((fd = open(TEMPFILE, O_RDWR | O_CREAT | O_TRUNC,0666)) < 0) { printf("open error\n"); return -2; } freepages = 100; mapsize = (long long)freepages * 2048 * 1024; printf("mapsize is %lld \n",mapsize); addr = (long *)mmap(NULL,mapsize, PROT_READ | PROT_WRITE, MAP_SHARED, fd,0); if (addr == MAP_FAILED) { printf("mmap error\n"); return -1; } /* if you enable this line,there will be no error. */ //write(fd,"I don't know\n",20); *(int *)addr = 0; sleep(10); close(fd); return 0; } $./test mapsize is 209715200 Bus error (core dumped) $ Signed-off-by: Zhouping Liu < zliu@ redhat > diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c index 485b465..cc7b249 100644 --- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c +++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c @@ -174,6 +174,8 @@ main(int ac, char **av) continue; } else { tst_resm(TPASS, "Succeeded mapping file using %d pages",freepages); + /* the write function just do initalization */ + write(fildes, "write some words to the TEMPFILE file\n",40); /* force to allocate page and change HugePages_Free */ *(int*)addr = 0; } [-- Attachment #1.2: Type: text/html, Size: 3780 bytes --] [-- Attachment #2: Type: text/plain, Size: 402 bytes --] ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev [-- Attachment #3: Type: text/plain, Size: 155 bytes --] _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [LTP] [PATCH] fix the SEGBUS signal error 2010-11-25 6:39 ` [LTP] [PATCH] fix the SEGBUS signal error Zhouping Liu @ 2010-11-25 8:31 ` Mike Frysinger 2010-11-25 20:37 ` Garrett Cooper 1 sibling, 0 replies; 3+ messages in thread From: Mike Frysinger @ 2010-11-25 8:31 UTC (permalink / raw) To: ltp-list [-- Attachment #1.1: Type: Text/Plain, Size: 104 bytes --] your patch seems to be horribly mangled. please use `git send-email` or something like that. -mike [-- Attachment #1.2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 836 bytes --] [-- Attachment #2: Type: text/plain, Size: 402 bytes --] ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev [-- Attachment #3: Type: text/plain, Size: 155 bytes --] _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [LTP] [PATCH] fix the SEGBUS signal error 2010-11-25 6:39 ` [LTP] [PATCH] fix the SEGBUS signal error Zhouping Liu 2010-11-25 8:31 ` Mike Frysinger @ 2010-11-25 20:37 ` Garrett Cooper 1 sibling, 0 replies; 3+ messages in thread From: Garrett Cooper @ 2010-11-25 20:37 UTC (permalink / raw) To: Zhouping Liu; +Cc: ltp-list On Wed, Nov 24, 2010 at 10:39 PM, Zhouping Liu <zliu@redhat.com> wrote: > Hi,all > when I run this test program : > #./hugemmap04 -I 3600 -H /var/hugetlbfs > I found it returned quickly. > I used gdb tool to debug it, it returned error with the 'SEGBUS' signal > error, > and the error occurred in the 178 lines '*(int*)addr = 0;'. > it's okay when I add this line > write(fildes, "write some words to the TEMPFILE file\n",40); > you can run this c program to find this error. > $cat test.c > > #include <stdio.h> > #include <stdlib.h> > #include <fcntl.h> > #include <sys/mman.h> > char * TEMPFILE="mmapfile"; > int freepages = 0; > int main() > { > long *addr; > int fd; > long long mapsize; > if ((fd = open(TEMPFILE, O_RDWR | O_CREAT | O_TRUNC,0666)) < 0) { > printf("open error\n"); > return -2; > } > freepages = 100; > mapsize = (long long)freepages * 2048 * 1024; > printf("mapsize is %lld \n",mapsize); > addr = (long *)mmap(NULL,mapsize, PROT_READ | PROT_WRITE, MAP_SHARED, > fd,0); > if (addr == MAP_FAILED) { > printf("mmap error\n"); > return -1; > } > /* if you enable this line,there will be no error. */ > //write(fd,"I don't know\n",20); > *(int *)addr = 0; > sleep(10); > close(fd); > return 0; > } > > $./test > mapsize is 209715200 > Bus error (core dumped) > $ > > Signed-off-by: Zhouping Liu <zliu@redhat> > > diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c > b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c > index 485b465..cc7b249 100644 > --- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c > +++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c > @@ -174,6 +174,8 @@ main(int ac, char **av) > continue; > } else { > tst_resm(TPASS, "Succeeded mapping file using %d > pages",freepages); > + /* the write function just do initalization */ > + write(fildes, "write some words to the TEMPFILE > file\n",40); > /* force to allocate page and change HugePages_Free > */ > *(int*)addr = 0; > } That doesn't make sense (this test is junk in its current form anyhow, but your conclusion doesn't make sense regardless), in particular because this logic has worked on a number of other platforms and OSes before this. Please dig deeper to figure out what the real error is. Thanks, -Garrett ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-11-25 20:38 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <309535663.439391290666931720.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
2010-11-25 6:39 ` [LTP] [PATCH] fix the SEGBUS signal error Zhouping Liu
2010-11-25 8:31 ` Mike Frysinger
2010-11-25 20:37 ` Garrett Cooper
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox