[asterisk-bugs] [JIRA] (ASTERISK-24718) [patch]Add inital support of "sanitize" to configure

Badalian Vyacheslav (JIRA) noreply at issues.asterisk.org
Fri Mar 6 16:57:34 CST 2015


    [ https://issues.asterisk.org/jira/browse/ASTERISK-24718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=225276#comment-225276 ] 

Badalian Vyacheslav edited comment on ASTERISK-24718 at 3/6/15 4:57 PM:
------------------------------------------------------------------------

Also look to THREAD sanitize log

https://code.google.com/p/thread-sanitizer/wiki/CppManual

{quote}
A data race occurs when two threads access the same variable concurrently and at least one of the accesses is write. C++11 standard officially bans data races as undefined behavior.{quote}

You have many POOR places in code.


was (Author: slavon):
Also look to THREAD sanitize

https://code.google.com/p/thread-sanitizer/wiki/CppManual

{quote}
A data race occurs when two threads access the same variable concurrently and at least one of the accesses is write. C++11 standard officially bans data races as undefined behavior.{quote}

You have many POOR places in code.

> [patch]Add inital support of "sanitize" to configure
> ----------------------------------------------------
>
>                 Key: ASTERISK-24718
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24718
>             Project: Asterisk
>          Issue Type: Improvement
>      Security Level: None
>          Components: Core/BuildSystem
>    Affects Versions: SVN, 11.15.0, 11.16.0
>            Reporter: Badalian Vyacheslav
>            Assignee: Badalian Vyacheslav
>         Attachments: 1.diff, add_sanitize.diff, san-address.log, san-leak.log, san-thread.log.gz, san-undefined.log
>
>
> Tested on RedHat 6 with {{devtoolchain-3}} (gcc 4.9.1) installed
> after apply patch need run {{./bootstrap.sh}} 
> {quote}
> Please update the issue description with what the patch is doing
> {quote}
> Path add support to use ASAN (https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer) that was add to gcc 4.8+. 
> You may use one of {{address}}, {{thread}} or {{memory}} sanitizer. 
> To enable it you can simple do
> {{./configure --enable-sanitize=address}}
> {quote}
> and the reason the patch is being provided.
> {quote}
> Valgrind have poor perfomance... slow down 20x+ from native run. 
> Address-sanitizer do only 2x slowdown, but break running after first error found. 
> Becouse our production server have more 100 connected lines we can't test memory leaks.
> In valgrind run we can do only 5-7 connected lines :(
> Now we detect memory leaks using address-sanitizer. 
> I'm provide patch to anyone else who want test with ASAN.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list