You can try to dump the |cmd| variable in open_llvm_symbolizer() and
figure out why subprocess.Popen() fails.
I'd suspect you simply don't have the llvm-symbolizer binary (because
GCC doesn't use it), but in that case open_llvm_symbolizer() should've
bailed out early.

Another question: have you tried setting ASAN_OPTIONS=symbolize=1 ?

On Fri, Jan 10, 2014 at 3:03 PM, laser <[email protected]> wrote:
> I got the permission error below , could you take a look? Thanks!
>
> root@laser-lx:/tmp# sudo ./segerror 2>&1 | ./asan_symbolize.py | c++filt
>
> Traceback (most recent call last):
>   File "./asan_symbolize.py", line 391, in <module>
>     loop = SymbolizationLoop()
>   File "./asan_symbolize.py", line 327, in __init__
>     self.llvm_symbolizer = LLVMSymbolizerFactory(self.system)
>   File "./asan_symbolize.py", line 108, in LLVMSymbolizerFactory
>     return LLVMSymbolizer(symbolizer_path)
>   File "./asan_symbolize.py", line 58, in __init__
>     self.pipe = self.open_llvm_symbolizer()
>   File "./asan_symbolize.py", line 71, in open_llvm_symbolizer
>     stdout=subprocess.PIPE)
>   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
>     errread, errwrite)
>   File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
>     raise child_exception
> OSError: [Errno 13] Permission denied
>
>
>
> On Friday, January 10, 2014 5:15:04 PM UTC+8, Glider wrote:
>>
>> There should be the asan_symbolize.py script in your checkout, see
>> http://clang.llvm.org/docs/AddressSanitizer.html for the instructions
>> how to use it.
>> Make sure to build your program with debug info.
>>
>> HTH,
>> Alex
>>
>> On Fri, Jan 10, 2014 at 1:03 PM, laser <[email protected]> wrote:
>> > Hello,
>> >
>> > I compiled a sample segment fault c code with address-santizer in
>> > gcc4.8,
>> > but no line number show, how to get it?
>> >
>> > ==4587== ERROR: AddressSanitizer: SEGV on unknown address 0x17fbff12 (pc
>> > 0x08048925 sp 0xbfdff850 bp 0xbfdff958 T0)
>> > AddressSanitizer can not provide additional info.
>> >     #0 0x8048924 (/tmp/segerror+0x8048924)
>> >     #1 0xb5f5f4d2 (/lib/i386-linux-gnu/libc-2.15.so+0x194d2)
>> >     #2 0x8048740 (/tmp/segerror+0x8048740)
>> > ==4587== ABORTING
>> >
>> >
>> > --
>> > 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/groups/opt_out.
>
> --
> 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/groups/opt_out.

-- 
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/groups/opt_out.

Reply via email to