[llvm-dev] [msan] Failing mmap.cc test
David A. Greene via llvm-dev
llvm-dev at lists.llvm.org
Tue Sep 11 13:41:19 PDT 2018
Scratch that, I may have lied.
I thought I had disabled this test but it appears it is active in my
local copy and not failing. Sorry about the noise. If I see it pop
up again I'll let you know.
-David
"David A. Greene via llvm-dev" <llvm-dev at lists.llvm.org> writes:
> Evgenii Stepanov <eugeni.stepanov at gmail.com> writes:
>
>> Do you see the problem after r340957?
>
> Yes.
>
> -David
>
>> On Tue, Sep 11, 2018 at 6:57 AM, David Greene <dag at cray.com> wrote:
>>
>> Evgenii Stepanov <eugeni.stepanov at gmail.com> writes:
>>
>> > See https://reviews.llvm.org/D51364 - a very similar bug was
>> > introduced by a compiler-rt change and then fixed by a revert.
>>
>> Ok, so what do we do about this? D50940 seems to have introduced
>> the
>> problem but it was reverted. The "tentative fix" in D51364 was
>> abandoned but it's not clear to me why (maybe because D50940 was
>> reverted?). It is also not clear to me how D50940 could have
>> introduced
>> the problem. Was it just coincidence that someone saw this issue
>> after
>> D50940 was applied?
>>
>> We figured it out in https://reviews.llvm.org/D51364 - msan shadow
>> mapping function can not distinguish a failed mmap with a successfull
>> mmap at address 0 with the new interface.
>>
>> -David
>>
>>
>>
>> > On Mon, Sep 10, 2018 at 8:54 AM, David Greene via llvm-dev
>> > <llvm-dev at lists.llvm.org> wrote:
>> >
>> > The mmap.cc test is failing for me on aarch64 SuSE 12. The
>> assert
>> > assert(AddrIsApp(p)) fails. The last value printed from mmap is
>> > 0xf00000000 which is indeed not MAP_FAILED but also not a valid
>> > address
>> > acoording to mmap.cc's mapping table.
>> >
>> > Is there something about SuSE 12's kernel that behaves
>> differently
>> > from
>> > what this test expects? I am not a kernel guy...
>> >
>> > The sequence of the last handful of addresses returned and
>> printed
>> > by
>> > the test is:
>> >
>> > 0x5600000000
>> > 0x5500000000
>> > 0x5400000000
>> > 0x5300000000
>> > 0x5200000000
>> > 0x5100000000
>> > 0x5000000000
>> > 0xf00000000
>> >
>> > That jump in value looks suspicious to me.
>> >
>> > Also, a lot of sanitizer symbols are reported to be "optimized
>> > out" by
>> > gdb even with a debug LLVM build and gdb gets very confused
>> about
>> > where
>> > execution is going. Is that expected? Is there a special cmake
>> > build
>> > flag to enable more debug info in compiler-rt and/or the
>> sanitizer
>> > runtime?
>> >
>> > -David
>> > _______________________________________________
>> > LLVM Developers mailing list
>> > llvm-dev at lists.llvm.org
>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
More information about the llvm-dev
mailing list