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

ci: Add thread sanitizer to CI #78

Merged
merged 4 commits into from
Aug 19, 2020
Merged

ci: Add thread sanitizer to CI #78

merged 4 commits into from
Aug 19, 2020

Conversation

michalbali256
Copy link
Contributor

Added a job to CI that runs the tests with thread sanitizer
Fixed several data races reported by the TSAN.

@michalbali256 michalbali256 linked an issue Aug 18, 2020 that may be closed by this pull request
@sonarcloud
Copy link

sonarcloud bot commented Aug 18, 2020

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities (and Security Hotspot 0 Security Hotspots to review)
Code Smell A 0 Code Smells

100.0% 100.0% Coverage
0.0% 0.0% Duplication

@@ -34,7 +34,22 @@ jobs:
- name: Requirements install
run: sudo apt-get update && sudo apt-get install uuid-dev ninja-build libc++-8-dev libc++abi-8-dev
- name: Configure
run: mkdir build && cd build && cmake -G Ninja -DBUILD_VSIX=Off -DCMAKE_C_COMPILER=clang-8 -DCMAKE_CXX_COMPILER=clang++-8 -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined,fuzzer-no-link" ../
run: mkdir build && cd build && cmake -G Ninja -DBUILD_VSIX=Off -DCMAKE_C_COMPILER=clang-8 -DCMAKE_CXX_COMPILER=clang++-8 -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ../
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was the previously present fuzzer-no-link redundant here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, the flag is only needed when compiling fuzzer...

@michalbali256 michalbali256 merged commit 225b74f into development Aug 19, 2020
@michalbali256 michalbali256 changed the title ci: data races fix ci: Add thread sanitizer to CI Aug 19, 2020
@michalbali256 michalbali256 deleted the data_races_fix branch August 19, 2020 08:43
@github-actions
Copy link

🎉 This PR is included in version 0.12.0-beta.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@github-actions
Copy link

🎉 This PR is included in version 0.12.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

SWETAS04 pushed a commit to SWETAS04/che-che4z-lsp-for-hlasm that referenced this pull request Feb 17, 2021
commit be6a1f1339f1dfddd386dae5383adf431745a89b
Merge: eab731a9 86dabe8
Author: Michal Bali <michalbali32@gmail.com>
Date:   Wed Jan 29 10:17:01 2020 +0100

    Merge branch 'master-public-mine' into merged

commit eab731a9f213c80490ce598aae0043cc42332286
Merge: 2b30463f cf2600e
Author: Michal Bali <michalbali32@gmail.com>
Date:   Wed Jan 29 10:16:39 2020 +0100

    Merge remote-tracking branch 'main/master' into merged

commit 2b30463f7b6b9b6e34ef4a13ea8abada9cae95c8
Merge: 965eef13 2271454
Author: Michal Bali <michalbali32@gmail.com>
Date:   Wed Jan 29 10:14:09 2020 +0100

    Merge commit '2271454d0ca21a1bbd8cfeefd920c3ae6b0aa8ce' into merged

    # Conflicts:
    #	cmake/try_filesystem_link.cpp
    #	language_server/src/dap/tcp_handler.cpp
    #	language_server/src/dap/tcp_handler.h
    #	language_server/src/stream_helper.h

commit cf2600e
Author: Marcel Hruska <marcel.hruska@broadcom.com>
Date:   Fri Jan 24 16:35:42 2020 +0100

    Performance Improvements vol.2 (eclipse-che4z#80)

    * preparation for hl test
    * Revert "preparation for hl test"
    This reverts commit 098a08c0fab1c34f65602280de8b517c441e3f2a.
    * merge fix
    * latest pull req suggestions
    * reworked variants to templates
    * lazy documentation loading
    * ajds to lazy documentation
    * changes
    * added tests for server features
    * fixed test paths

commit 82587a0
Author: Michal Bali <michal.bali@broadcom.com>
Date:   Tue Jan 14 10:50:47 2020 +0100

    DAP listen on localhost (eclipse-che4z#79)

commit 04a78d3
Author: Marcel Hruska <marcel.hruska@broadcom.com>
Date:   Fri Jan 10 10:26:50 2020 +0100

    small updates to package.json (eclipse-che4z#77)

commit 9b88837
Author: Zeibura Kathau <zeibura.kathau@broadcom.com>
Date:   Thu Jan 9 11:46:48 2020 +0100

    Readme update (eclipse-che4z#75)

    * Update README.md
    Getting started done
    * Update README.md
    features done
    * CA - Conditional Assembly
    * address comments
    * some edits to "macro tracer config"
    * ### Macro Tracer Configuration done
    * ### External Macro Libraries and COPY Members
    * more to last section
    more clarifications, rescue example case from previous readme
    * renamed HLASM Debug to HLASM Macro tracer
    * remove dupe para
    * Commenting out "todo" bits
    * gifs showing HLASM functionality
    * CA Endevor SCM
    * naming fix
    * move highligting picture
    * Using the Macro Tracer section added - REVIEW NEEDED
    * Update README.md
    final edits to readme
    * Update README.md
    * Update README.md
    adding gifs back
    * uncomment new additions
    * suggestions
    * further suggestions
    * readding
    Readding the bits removed
    * Readme update (eclipse-che4z#72) (eclipse-che4z#76)
    * Fix highlighting gif
    * New gif uploaded

commit 2da634d
Author: Michal Bali <michal.bali@broadcom.com>
Date:   Thu Jan 9 09:56:37 2020 +0100

    Add PR number to build file name (eclipse-che4z#78)

    * artifacts with PR numbers
    * asio version changed for better IP check

commit 3644009
Author: Adam Smelko <adam.smelko@broadcom.com>
Date:   Wed Jan 8 16:46:27 2020 +0100

    Performance (eclipse-che4z#73)

    * got rid of creating new parsers
    * macro reparse reusing one parser
    * fixes
    * opencode parsing reusing one parser
    * partial lookahead without semantic predicates
    * fixes
    * parsers hold ASTs again
    * concat_chain copy, opcode update
    * statement_providers directory
    * opcodes are remembered in cached statements
    * fix
    * resolved_statement_impl holds shared_ptr
    * fixes
    * fixes
    * lexer utf8-32 converter thread local, removed recursion in operand rules, uint8_t to processing_format enum types
    * deferred grammar bug + test
    * version
    * system variable count attribute fix + tests
    * confuscating
SWETAS04 pushed a commit to SWETAS04/che-che4z-lsp-for-hlasm that referenced this pull request Feb 17, 2021
* change the order of allocation/destruction in workspace_manager_impl

The debugging thread may access debug_event _consumers_, so it should be destroyed first

* avoid data races when calling request_manager::is_running

* test fix: debugger should be disconnected before destruction

* add thread sanitizer to CI and VS configurations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

server_test sometimes fails because of timeout in the GH Actions
2 participants