Address Sanitizer. How to set value detect-odr-violation=0

Guys,


I about to throw my laptop out the window. Could anyone help here. I'm building my app through xcodebuild command with the option enableAddressSanitizer YES.

xcodebuild build-for-testing -project 'SparkMacDesktop/SparkMacDesktop.xcodeproj' -scheme 'Incremental Build Unit Test' -configuration Release -enableAddressSanitizer YES

This works fine. It's builds and when I run my test it's finding issues. Brilliant. One of the issues is


00:04:30.629 ==24173==HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_odr_violation=0


This is false positive and all I want to do is set detect-odr-violation=0. It states to set the environmental ASAN_OPTIONS=detect_odr_violation=0

1. I have tried to do this using "export ASAN_OPTIONS=detect_odr_violation=0" just before running xcodebuild command

2. I have tried to do it by setting this value in path (bash_profile..etc...)

3. I have tried setting it in the xcode project, in the schema. Go to schema, edit schema, select Arguments and add enviromental variable

Nothing works. Does anyone know how to set this enviromental variable. Any help here would really be appreciated.

Thanks,

Gary

I’m not sure what’s going on in your specific setup but I have some general recommendations:

  • Determine if this problem is specific to

    ASAN_OPTIONS
    — You can this by setting up some other random environment variable and see if your tests pick that up. In my case I just added a dummy test with this code:
    NSLog("QQQ = %@", ProcessInfo.processInfo.environment["QQQ"] ?? "nil")

    and then I searched the test log for

    QQQ
    .
  • Determine if this problem is specific to

    xcodebuild
    — If you do what you’re doing from within Xcode, what do you see?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

 I have tried setting it in the xcode project, in the schema. Go to schema, edit schema, select Arguments and add enviromental variable

I disable the ODR in Xcode via Enviromental Variables, as the following:

The name field is ASAN_OPTIONS, The value field is detect_odr_violation=0.

Address Sanitizer. How to set value detect-odr-violation=0
 
 
Q