Hi Evgeniy and Konstantin,

Ok adding ENOENT to the assert fixes that and all test passes.
Now ASAN on 42 bit VA works with the 32 bit allocate code.

I have couple of  questions here.

"asan/asan_allocator.h:typedef SizeClassAllocator32<0,
SANITIZER_MMAP_RANGE_SIZE, 16,"


(1) Can I post the patch to LLVM by increasing
SANITIZER_MMAP_RANGE_SIZE to 1<<42?

    For 39 bit VA, TwoLevelByteMap uses more dimensions now.
   If someone wants to support 48 bit VA later,  we may need to
increase it by  1<<48.

(2) SANITIZER_MMAP_RANGE_SIZE is used in template parameter and
compile time known.
Still there a way to initialize it dynamically ?


regards,
Venkat.












On 3 April 2015 at 23:02, Evgeniy Stepanov <[email protected]> wrote:
> Well, then the man page is wrong.
> Please change the assert to allow ENOENT in addition to 0.
>
>
> On Fri, Apr 3, 2015 at 8:03 PM, Venkataramanan Kumar
> <[email protected]> wrote:
>> Hi
>>
>> I checked without sanitizers also, the return value is ENOENT in the
>> Aarch64 machine and its fails at assert (res==0).
>>
>> regards,
>> Venkat.
>>
>>
>> On 3 April 2015 at 14:37, Evgeniy Stepanov <[email protected]> wrote:
>>> This assert verifies that the test has tested the situation it was
>>> supposed to test. It is a regression test in a situation where a user
>>> is not found, which used to cause a crash in sanitizer interceptor
>>> code.
>>>
>>> Could you please check if this test passes without sanitizer? It's
>>> either getpwname_r not following the spec, or ASan changing it's
>>> behaviour.
>>>
>>>
>>> On Thu, Apr 2, 2015 at 7:18 PM, Renato Golin <[email protected]> 
>>> wrote:
>>>> On 2 April 2015 at 17:14, Venkataramanan Kumar
>>>> <[email protected]> wrote:
>>>>> It also says under  ERRORS
>>>>> (snip)
>>>>>        0 or ENOENT or ESRCH or EBADF or EPERM or ...
>>>>>               The given name or uid was not found
>>>>> (snip)
>>>>>
>>>>> Looks like we can remove the assert.
>>>>
>>>> I think the bigger question is: what is this testing...
>>>>
>>>> Kostya,
>>>>
>>>> This test seems very fragile and possibly {platform+libc+OS}-specific.
>>>> Is there any other way of testing whatever it was without calling libc
>>>> functions? If that was testing the specific function, I'm not sure
>>>> those asserts will give you any indication of success, other than libc
>>>> execution tests, which ASAN is not the place to have.
>>>>
>>>> If the test is trying not to have any sanitizer crashes, than the
>>>> asserts are indeed useless.
>>>>
>>>> cheers,
>>>> --renato
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "address-sanitizer" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"address-sanitizer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to