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 a lane for Clang's ThreadSanitizer #5254

Merged
merged 1 commit into from Aug 10, 2017

Conversation

Projects
None yet
3 participants
@cherusker
Contributor

cherusker commented Jul 23, 2017

The goal of this PR is to provide an extra lane for running the ThreadSanitizer incl. a blacklist. However, as I cannot test this offline, I need a PR to play around with Jenkins.

@cherusker cherusker requested a review from akoeplinger as a code owner Jul 23, 2017

@dnfclas

This comment has been minimized.

dnfclas commented Jul 23, 2017

@cherusker,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@cherusker cherusker force-pushed the cherusker:cherusker-2017-07-23-tsan-lane branch 16 times, most recently from 5ad976c to 486c687 Jul 23, 2017

@cherusker cherusker force-pushed the cherusker:cherusker-2017-07-23-tsan-lane branch 10 times, most recently from 9f81e39 to 1587c26 Aug 6, 2017

@cherusker cherusker force-pushed the cherusker:cherusker-2017-07-23-tsan-lane branch 10 times, most recently from 2c06557 to 8701802 Aug 8, 2017

@cherusker cherusker changed the title from [CI] DO NOT MERGE (yet) - Add a lane for Clang's ThreadSanitizer to [CI] Add a lane for Clang's ThreadSanitizer Aug 10, 2017

Add rules to run TSan with run-jenkins.sh
- export TSan flags that are used by the compiler and the compiled program
- introduce `make_timeout` to set individual timeouts for `make` based on the config (e.g. TSan will only get 30 minutes to complete)

@cherusker cherusker force-pushed the cherusker:cherusker-2017-07-23-tsan-lane branch from 8701802 to a796882 Aug 10, 2017

@akoeplinger

This comment has been minimized.

Member

akoeplinger commented Aug 10, 2017

@monojenkins build clang sanitizer

@cherusker

This comment has been minimized.

Contributor

cherusker commented Aug 10, 2017

@monojenkins build OS X i386

@akoeplinger akoeplinger merged commit 5141dc7 into mono:master Aug 10, 2017

2 of 12 checks passed

Linux x64 Clang Sanitizer Build finished.
Details
OS X i386 Build finished. 45715 tests run, 1283 skipped, 2 failed.
Details
OS X x64 Build finished. 45715 tests run, 1285 skipped, 1 failed.
Details
Linux AArch64 Build started sha1 is merged.
Details
Linux ARMv5 soft float Build started sha1 is merged.
Details
Linux ARMv7 hard float Build started sha1 is merged.
Details
Linux i386 Build started sha1 is merged.
Details
Linux x64 Build started sha1 is merged.
Details
Windows i386 Build started sha1 is merged.
Details
Windows x64 Build started sha1 is merged.
Details
Linux x64 FullAOT Build finished. 20903 tests run, 528 skipped, 0 failed.
Details
Test Result Viewer Click to view aggregated test results (Xamarin internal).
Details

@cherusker cherusker deleted the cherusker:cherusker-2017-07-23-tsan-lane branch Aug 10, 2017

baulig added a commit to baulig/mono that referenced this pull request Aug 15, 2017

Sync with master commit "9d84dcb2fc35af1d75450045a8212bf5ab3ff383".
Squashed commit of the following:

commit 731fc662a91453285f51c8b14a7ec722dc2ed3e0
Author: Martin Baulig <mabaul@microsoft.com>
Date:   Tue Aug 15 13:25:00 2017 -0400

    Add scripts/csi to .gitignore.

commit 38584d257a08ec276fb4bf6ee69be7c867b48b0b
Author: Martin Baulig <mabaul@microsoft.com>
Date:   Tue Aug 15 13:12:47 2017 -0400

    Cosmetic; remove unnecessary cast and fix compiler warning.

commit 9765bf3a15943f25699595f954f0b6c9dad6154a
Author: Martin Baulig <mabaul@microsoft.com>
Date:   Tue Aug 15 13:08:12 2017 -0400

    [System]: Fix minor leaks in AppleTls. (mono#5369)

    These should be automatically collected by the GC, but explicitly disposing
    will keep memory usage more stable over time and keep pressure off the GC.

commit fb9369dd240b4c0051f24361a154536a80683a0e
Author: Martin Baulig <mabaul@microsoft.com>
Date:   Tue Aug 15 13:00:18 2017 -0400

    [System]: Fix major AppleTls memory leak.  Bug #56814. (mono#5370)

commit 77b846cb52ce82f6f1d2143c5cef20934551f7ac
Author: Zoltan Varga <vargaz@gmail.com>
Date:   Tue Aug 15 11:16:48 2017 -0400

    [runtime] Use HOST_ defines instead of PLATFORM_ defines. (mono#5362)

commit 88ccb31be5c34b7678f09b23ea062bffd0e1de48
Author: Ankit Jain <ankit.jain@xamarin.com>
Date:   Mon Aug 14 21:07:15 2017 -0400

    [msbuild] bump to help debug wrench build failure

commit 25c8c5357ea623d28f11d335b69a93b346ee24a5
Author: Alexis Christoforides <alexis@thenull.net>
Date:   Mon Aug 14 16:27:34 2017 -0400

    [MacSDK] Update bockbuild to work around build/staging issue
    Commit message: Allow for non-fatal shell execution, and turn “install_name_tool” staging failures to warnings as we find a more permanent solution to AOT dylibs not always having enough field space for the new path (all other dylibs made in the build with the XCode toolchain typically do, as they are built with the “-headerpad_max_install_names” flag.

commit 3ae24b80ab545e5ccdb39a8fdba0568249d6e429
Author: Rodrigo Kumpera <kumpera@gmail.com>
Date:   Mon Aug 14 13:22:20 2017 -0700

    [mini] Add test for implicit widen on argument stores.

commit f54743d70639d355df0ca9f8e8a235b3079e1343
Author: Aleksey Kliger <aleksey@xamarin.com>
Date:   Wed Aug 9 18:38:50 2017 -0400

    [remoting] transparent proxy GetType of an interface should return the
    interface Type, not MarshalByRefObject. (Fixes #17325)

    If a RealProxy instance is created (using the protected RealProxy(Type)
    constructor) for an interface, mono internally sets up a MonoRemoteClass which
    looks like a proxy for a MarshalByRefObject instance that happens to implement
    the given interface.  However mono_class_proxy_vtable just does a memcpy() to
    setup the MonoVTable:type field of the transparent proxy's vtable.  That type
    field is hit by the JIT when System.Object.GetType() is called - and on .NET
    Framework GetType for a transparent proxy of an interface returns the interface
    not (as Mono used to) typeof(MarshalByRefObject).

    Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=17325

commit 19b0b6802b83c85c90d8af042d448dc7ba0ffac1
Author: Aleksey Kliger <aleksey@xamarin.com>
Date:   Thu Aug 10 18:35:27 2017 -0400

    [test] Add regression test for GetType() of a transparent proxy.

    Check that calling GetType() on a transparent proxy of a RealProxy of an
    interface returns that interface type.

commit 3c84621aceecfbe2f23f58a3a5602ee6700ea135
Author: Zoltan Varga <vargaz@gmail.com>
Date:   Mon Aug 14 14:51:55 2017 -0400

    [runtime] Fix a warning.

commit b947cf3190b2eac73ea5011a140964d658af58ae
Author: Alexander Köplinger <alex.koeplinger@outlook.com>
Date:   Mon Aug 14 19:27:13 2017 +0200

    Bump nuget to latest 4.3.0 release (mono#5368)

commit d44b90ec35c81aaecccbcf61f37cf51dd5be609e
Author: Alexander Köplinger <alex.koeplinger@outlook.com>
Date:   Mon Aug 14 14:15:18 2017 +0200

    Bump nuget-buildtasks

    Includes NuGet/NuGet.BuildTasks#35

commit 1879fd96d75bd6165f77fd8ddc132740caffd45d
Author: Zoltan Varga <vargaz@gmail.com>
Date:   Mon Aug 14 00:28:50 2017 -0400

    Fix a warning.

commit a4b09efc0a81ac8bcbaf4fa427fba4d200773bf3
Author: Uri Simchoni <uri@vfunction.com>
Date:   Sun Aug 13 09:46:42 2017 +0300

    [profiler] Fix log profiler SetMonitorEvents icall

    Set the right flag when enabling/disabling monitor
    event profiling

commit 6c3af34ebb1207a2a82591119fd1dc97016fc2ba
Author: Jonathan Chambers <joncham@gmail.com>
Date:   Sat Aug 12 10:54:01 2017 -0400

    Use eglib g_* allocators rather than malloc/calloc (mono#5359)

commit 63c92269895b025f97817f57df89146b27483f9d
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Sat Aug 12 16:37:03 2017 +0200

    [acceptance-tests] Increase the profiler-stress timeout to 9 hours.

    msbiology seems to take longer than 8 hours on 32-bit OS X.

commit b2d46340cd46b742925094b0c0b48cc8554d1e67
Author: Zoltan Varga <vargaz@gmail.com>
Date:   Sat Aug 12 03:07:47 2017 -0400

    Bump roslyn-binaries.

commit 93e948425ca9097d17321f308b272fd961ec7de6
Author: Rodrigo Kumpera <kumpera@gmail.com>
Date:   Fri Aug 11 15:19:30 2017 -0700

    [jit] Add implicit widening of stores to args of types < 4 bytes.

    This fix follows what was done for #58379 but for arguments.

commit b7d969abf6bbeea03c0fe4892ff03d23666cf0cd
Author: Alexander Köplinger <alex.koeplinger@outlook.com>
Date:   Fri Aug 11 23:52:47 2017 +0200

    [ci] Add CI_TAGS for apidiff and ms-test-suite

    Easier to maintain than the "label" which could change depending on the bots.

commit daf5b1675e94a29fcb8f36c8e59ca28922c07a5e
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Aug 11 17:53:45 2017 -0400

    Install Roslyn binaries, including msbuild tasks to msbuild/Roslyn (mono#5251)

    .. directory, which is `$mono_prefix/lib/mono/msbuild/15.0/bin/Roslyn/`

    Mono installs `csc.exe` but the corresponding
    `Microsoft.Build.Tasks.CodeAnalysis.dll` required for supporting msbuild C#
    projects is installed by msbuild. But these two can get out of sync,
    like they did and had to be worked around in
    mono/msbuild#19 .

    Instead, we now install all the relevant roslyn bits (C# and VB) from the same
    source. Only the msbuild specific files are copied to the Roslyn folder.
    VBCSCompiler, csi and their dependencies are symlinked from `lib/mono/4.5`.

    Also:

    - csi.exe is included since the tool is surfaced as an msbuild task,
      and that requires the *Scripting.dll assemblies.
    - VBCSCompiler* - shared compiler is installed
    - vbc.exe doesn't work on mono currently, so skipping that
    - And `Microsoft.DiaSymReader.Native.{amd64,x86}.dll` are dropped.

commit 39c30f77c107228d17719c9eadf08f18bed3264f
Author: Rodrigo Kumpera <kumpera@gmail.com>
Date:   Fri Aug 11 14:53:37 2017 -0700

    Address reviewer feedback.

commit 42f40d91add313cbdde91edf9008502dd461179b
Author: Ankit Jain <ankit.jain@xamarin.com>
Date:   Fri Aug 11 17:29:29 2017 -0400

    [msbuild] Bump to xplat-master branch HEAD

commit d698a8e928673ab89c174d8af274682e46d4eca0
Author: Alexander Köplinger <alex.koeplinger@outlook.com>
Date:   Fri Aug 11 22:20:53 2017 +0200

    [acceptance-tests] Bump coreclr submodule

commit c5d5755e66726c093adf418366a3152e0465d22c
Author: Alexis Christoforides <alexis@thenull.net>
Date:   Fri Aug 11 14:13:09 2017 -0400

    [MacSDK] Switch to HTTPS for downloading SQLite

commit 2c3f1251d7625d7fba7cba2df57415653277a740
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Fri Aug 11 19:31:05 2017 +0200

    [profiler] Fix code coverage support.

commit 11341a13fcc6e710396c97175bbd683c94444351
Author: Alexis Christoforides <alexis@thenull.net>
Date:   Fri Aug 11 12:22:36 2017 -0400

    Update Bockbuild for a CI fix/update (shorter build paths for MacSDK)

commit 96e46ff1b9ab35699ef4586f764679207145ae28
Author: Alexander Köplinger <alex.koeplinger@outlook.com>
Date:   Fri Aug 11 16:22:02 2017 +0200

    [bcl] Clean up FRAMEWORK_VERSION 4.0 and 2.0 checks (mono#5356)

    We don't build those profiles anymore, we have a net_4_x configuration instead.

commit a8fe499284138599f2b07efc15b4defb6be0f256
Author: Uri Simchoni <uri@vfunction.com>
Date:   Thu Aug 10 22:49:16 2017 +0300

    [docs] mprof-report manpage - remove "onlycoverage" log profiler option

    This option does not exist in the code.

commit 597f65b91048c0d6a50c025c9d24d79c5ffca7bb
Author: Uri Simchoni <uri@vfunction.com>
Date:   Thu Aug 10 22:48:36 2017 +0300

    [docs] mprof-report manpage - document heapshot-on-shutdown

    Document the heapshot-on-shutdown log profiler option.

commit 36db63ff2e1b2ae2da7717ca37ebc1dc7780bb38
Author: Uri Simchoni <uri@vfunction.com>
Date:   Fri Aug 11 09:56:20 2017 +0300

    [docs] mprof-report manpage - document '#' output option

    Document ability to use the log profiler with an open file
    descriptor.

commit f78453a26cc42ed67c91f11d9047aef04022bc5b
Author: Zoltan Varga <vargaz@gmail.com>
Date:   Thu Aug 10 20:29:10 2017 -0400

    [llvm] Avoid generating invalid llvm IR when a finally clause contains a loop which branches back to the beginning of the finally clause. (mono#5354)

commit d06e41a7f9eeda1bb51f1b57a318835b08663e10
Author: Rodrigo Kumpera <kumpera@gmail.com>
Date:   Thu Aug 10 15:22:07 2017 -0700

    [mini] Emit widen ops when storing to locals of size < 4. Fixes #58379.

commit 9fb93199cccb933e7dc53d10869784c0e03ba972
Author: Jonathan Pryor <jonpryor@vt.edu>
Date:   Thu Aug 10 16:22:31 2017 -0400

    [mono-api-html] Allow `-r` to ignore class removals

    Allow `mono-api-html -r REGEX` to be used to silence messages
    regarding class and namespace removals in addition to member removals.

commit cf0292eb02ca0c5348cac040c2c2afa97fb48ae2
Author: Uri Simchoni <uri@vfunction.com>
Date:   Wed Aug 9 13:44:39 2017 +0300

    [docs] mprof-report manpage -- fix desctiption of existing file behavior

    Fix the description of what happens when the output file already exists.

commit f19f699c082782d42f1cf135f4e13e3becd20829
Author: Uri Simchoni <uri@vfunction.com>
Date:   Wed Aug 9 13:42:33 2017 +0300

    [docs] remove non-existant option from log profiler manpage

    The option of prepending a '-' to the log profiler output
    filename is not supported by the code - remove it.

commit d94cc3ceb40a15631ee9ee36ef937fcffb3c0d11
Author: Uri Simchoni <uri@vfunction.com>
Date:   Wed Aug 9 13:39:21 2017 +0300

    [docs] Capitalization / puctuation fixes in mprof-report manpage.

commit a87ea252ae03b474fc144e74b28fb2c23e93fc75
Author: Marek Safar <marek.safar@gmail.com>
Date:   Thu Aug 10 21:00:31 2017 +0200

    More codeowners updates

commit 0293dc1551cee48f69523dd0bf043c37ce4800b6
Author: Marek Safar <marek.safar@gmail.com>
Date:   Thu Aug 10 20:17:37 2017 +0200

    Update codeowners

commit 7f5a8bb0f6dee0cac0798b7b6800180845c51abc
Author: cherusker <prince.cherusker@gmail.com>
Date:   Mon Aug 7 14:12:53 2017 +0200

    Distinguish between the XSI-compliant and the GNU-specific version of `strerror_r ()`
    - add USE_STRERROR_R_XSI to use the feature test macros conveniently later
    - deal with the GNU-specific version of `strerror_r ()` separately (leave the code for the XSI-compliant version untouched)
    - make `buff_len` size_t as this is ISO compliant (even though it should not really matter in this case)

commit 35e3cf3c039ced9f9fddfb0e3d4a9a990d1cf312
Author: Armin Hasitzka <cherusker@users.noreply.github.com>
Date:   Thu Aug 10 18:22:16 2017 +0200

    Add rules to run TSan with run-jenkins.sh (mono#5254)

    - export TSan flags that are used by the compiler and the compiled program
    - introduce `make_timeout` to set individual timeouts for `make` based on the config (e.g. TSan will only get 30 minutes to complete)

commit 08496e33013b7fe780102ca5a0e53e01332748a1
Author: Mikhail Filippov <Mikhail.Filippov@jetbrains.com>
Date:   Wed Aug 9 14:11:54 2017 +0300

    Add implementation and tests for MatrixValueSerializer and MatrixConverter

commit c6ec2680fce543787a9e03a87315042442fea069
Author: Mikhail Filippov <Mikhail.Filippov@jetbrains.com>
Date:   Wed Aug 9 14:16:22 2017 +0300

    Uncomment fixed SizeConveter tests

commit 3dfe5c1e3c05e01e520b9c65b52f1eb523942c5c
Author: Aleksey Kliger <aleksey@xamarin.com>
Date:   Wed Aug 9 11:31:17 2017 -0400

    [monodis] Not all override methods are errors

    Check whether mono_get_method_checked returned an error, if not, just decode
    the override normally.

    This partly reverts f100c2f

commit 744b1d8e9be4fcda460d2f604836ef1b6fcde970
Author: Armin Hasitzka <cherusker@users.noreply.github.com>
Date:   Thu Aug 10 16:16:02 2017 +0200

    [TSan] Yet another idea about whitelisting data races (mono#5310)

    * Introduce racing.h
    - introduce the `RacingIncrement* ()` functions
    - test the `RacingIncrement* ()` functions with races of `mono_stats` in class.c
    - add racing.h to Makefile.am, libmonoutils.vcxproj and msvc/libmonoutils.vcxproj.filters

    * [fixup!] Rename "racing" to "unlocked"
    - rename racing.h to unlocked.h
    - update new file name in Makefile.am and *.vcxproj* files
    - rename the functions from Racing* to Unlocked*
    - update the macro logic

commit e1ea26400218e2884e590c30c7b8a8110801de8b
Author: Ankit Jain <ankit.jain@xamarin.com>
Date:   Wed Aug 9 21:07:10 2017 -0400

    [msbuild] Bump to xplat-master branch HEAD

commit edd79a8b17cfcdc33c8929e8a694274d1a31bf30
Author: Alexander Köplinger <alex.koeplinger@outlook.com>
Date:   Thu Aug 10 02:33:23 2017 +0200

    [mono-symbolicate/mdoc] Don't fail tests in mcs mode (mono#5348)

    The checked in test files which the test suites in mono-symbolicate
    and mdoc verify their output against have a few roslyn-specific
    things in them and would fail when running in mcs mode.

    While in theory we could check in both mcs- and roslyn-specific
    test files it seems not worth the effort and we should just skip
    the tests in mcs mode so we get greener builds on platforms
    where we still use mcs by default.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment