Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable -fsanitize flags in Travis #12691

Closed
eklitzke opened this issue Mar 15, 2018 · 4 comments
Closed

Enable -fsanitize flags in Travis #12691

eklitzke opened this issue Mar 15, 2018 · 4 comments

Comments

@eklitzke
Copy link
Contributor

This idea is from discussion in #12686 . GCC 4.8 supports two -fsanitize flags, -fsanitize=address and -fsanitize=thread (and newer versions support even more of these flags). It would be a good idea to enable these options in Travis. @sipa points out that the build still isn't completely clean when using these flags, so to add this we'd either have to fix all of the existing errors or some up with a whilelisting mechanism to grandfather the old violations.

@fanquake fanquake added the Tests label Mar 15, 2018
@eklitzke
Copy link
Contributor Author

I'm trying to add a configure option for this in #12692 .

I tested the Bitcoin test suite with various sanitizer configurations, and the Bitcoin test suite passes cleanly with the thread and undefined sanitizers, but there are serious issues with the address sanitizer that need to be resolved. The address sanitizer injects a segfault when errors occur, so enabling this in Travis is an all-or-nothing kind of thing.

@maflcko
Copy link
Member

maflcko commented Apr 11, 2018

Since some of the sanitizers are exclusive, we could enable one of the sanitisers for each of the travis jobs that run the functional test suite?

@maflcko
Copy link
Member

maflcko commented Aug 24, 2018

The thread sanitizer fails again after #13247. It could make sense to fix that issue and then set --with-sanitizers=thread for the x86_64 Linux, No wallet travis job, which runs the unit tests, but not the functional tests.

Same for the undefined sanitizer.

laanwj added a commit that referenced this issue Aug 27, 2018
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue #12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e
@Empact
Copy link
Contributor

Empact commented Mar 7, 2019

Addressed in #14794 and #14829

Could close?

@maflcko maflcko closed this as completed Mar 7, 2019
Munkybooty pushed a commit to Munkybooty/dash that referenced this issue Jun 30, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
Munkybooty pushed a commit to Munkybooty/dash that referenced this issue Jun 30, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
Munkybooty pushed a commit to Munkybooty/dash that referenced this issue Jul 1, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
Munkybooty pushed a commit to Munkybooty/dash that referenced this issue Jul 2, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
Munkybooty pushed a commit to Munkybooty/dash that referenced this issue Jul 2, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
Munkybooty pushed a commit to Munkybooty/dash that referenced this issue Jul 4, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
UdjinM6 pushed a commit to UdjinM6/dash that referenced this issue Jul 7, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
Munkybooty pushed a commit to Munkybooty/dash that referenced this issue Jul 7, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
UdjinM6 pushed a commit to UdjinM6/dash that referenced this issue Jul 7, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
Munkybooty pushed a commit to Munkybooty/dash that referenced this issue Jul 7, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
Munkybooty pushed a commit to Munkybooty/dash that referenced this issue Jul 8, 2021
fad8afa travis: Run unit tests --with-sanitizers=undefined (MarcoFalke)
0d00fd5 depends: allow CC/CXX to be overridden during configure (Cory Fields)

Pull request description:

  See issue bitcoin#12691

Tree-SHA512: 0772e8e037411cb4664270945a0fc9c0c1ed24eeaf5308460baee707868f7b700d8e740a6babb1d02bc818a8a4b71d9e33601ab2cc850ff315755fcf3d79d29e

# Conflicts:
#	.travis.yml
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants