From: Garrett C. <yan...@gm...> - 2010-09-01 07:27:34
|
On Wed, Sep 1, 2010 at 12:26 AM, Garrett Cooper <yan...@gm...> wrote: > On Mon, Aug 30, 2010 at 6:51 PM, renxiu liang > <ren...@wi...> wrote: >> On Wed, 2010-08-25 at 20:36 -0700, Garrett Cooper wrote: >>> On Wed, Aug 18, 2010 at 12:33 AM, renxiu liang >>> <ren...@wi...> wrote: >>> > Hi, >>> > >>> > We met the mtest06 failure several times; this is because in >>> > mtest06/mmap1.c, when handling the signal 11 in sig_handler, it doesn't >>> > cover another two race conditions: >>> > one is si_code equals "SEGV_MAPERR" but si_address does not equal to >>> > map_address; and one is si_code equals to "SEGV_ACCERR"; >>> > >>> > see below error log: >>> > >>> > <<<test_start>>> >>> > tag=mtest06 stime=1270902396 >>> > cmdline=" mmap1 -x 0.05" >>> > contacts="" >>> > analysis=exit >>> > initiation_status="ok" >>> > <<<test_output>>> >>> > mmap1 0 INFO : pid[5456]: map, change contents, unmap files >>> > 1000 times >>> > mmap1 0 INFO : created thread[1216369840] >>> > mmap1 0 INFO : pid[5456] - read contents of memory 0x48002000 >>> > 1000 times >>> > mmap1 0 INFO : page fault occurred at 0x48002000 >>> > mmap1 0 INFO : page fault occurred at 0x48002000 >>> > mmap1 0 INFO : page fault occurred at 0x48002000 >>> > mmap1 0 INFO : page fault occurred at 0x48002000 >>> > ...... >>> > mmap1 0 INFO : page fault occurred at 0x48002000 >>> > mmap1 0 INFO : page fault occurred at 0x48002000 >>> > caught unexpected signal - 11 --- exiting >>> > <<<execution_status>>> >>> > duration=1 termination_type=exited termination_id=255 corefile=no >>> > cutime=0 cstime=4 >>> > <<<test_end>>> >>> > >>> > I made a patch to cover all the three race conditions in one case in >>> > sig_handler(), >>> > then run mtest06 repeatedly on different archs, test will not fail by >>> > catching signal 11. >>> >>> Could you print out what the value of info->si_code and info->si_addr >>> are at the time of the fault? Also, which architecture(s) are you >>> running into this issue on? >> Hi Garrett, >> >> Sorry for the late reply; See attached mtest06 logs, I printed out the >> values of si_code, si_addr, map_address; >> it is reproducible on arm, x86, ppc and mips; though it is not >> reproducible every time, but can be reproducible if run the case >> repeatedly. > > Nothing is jumping out at me as being incorrect, so I think it's best > that I bring in a better pair of eyes, just in case. > > Suzuki-san, > Could you please help review this patch? CCing Suzuki-san... -Garrett |