• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Tsan
  4. Main

Main

Skip to end of metadata
  • Created by Iris Clark, last modified by Man Cao on Apr 23, 2019
Go to start of metadata

Welcome to the TSAN Project!

The goal of this Project is to explore and incubate a Thread SANitizing (TSAN) feature that could be integrated into the HotSpot JVM and the JVM Tool Interface (JVM TI).  This includes working, evaluating, and incubating a Thread Sanitizer implementation for Java.


The rest of this page will provide basic information for downloading, building, and testing Java TSAN.


Note: Java TSAN is not working yet and will not be able to provide any data race information yet. The information below is really how to build/test for developers and testers:

Prerequistes

Java TSAN is dependent on the C/C++ ThreadSanitizer implementation for GCC. Developers and users need to ensure that libtsan.so is available. e.g.:

sudo apt install libgcc-8-dev

ldconfig -p | grep libtsan

It should print the path to libtsan.so.

Building

Java TSAN implementation is in the "tsan" branch in the Mercurial repository. Developers need to clone this branch:

hg clone --branch tsan http://hg.openjdk.java.net/tsan/dev jdk-tsan

TODO: since TSAN is not even integrated yet, the JDK you just branched is the mainline.


Java TSAN exists as a JVM feature "tsan", which is enabled by default on the "tsan" branch in the repository. It can be disabled with the configure flag "--with-jvm-features=-tsan".

Running

Note: the method of including the TSAN runtime in the JVM is not finalized and could change in the future.

Run Java with TSAN enabled:

./images/jdk/bin/java -XX:+ThreadSanitizer

Testing

The tests for TSAN are at test/hotspot/jtreg/tsan/

make jdk-image test-image

make test TEST="hotspot/jtreg/tsan"

Resources

  • TSAN Project
  • TSAN JEP proposal
  • Repositories
  • Mailing list: tsan-dev

Recent space activity

    • Man Cao
    • Main updated Apr 11, 2020 view change
    • Arthur Eubanks
    • Main updated Jul 29, 2019 view change
    • Jean Christophe Beyler
    • Main updated Apr 23, 2019 view change
    • Iris Clark
    • Main updated Mar 14, 2019 view change

Space contributors

{"mode":"list","scope":"descendants","limit":"5","showLastTime":"true","order":"update","contextEntityId":46956577}


Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use • License: GPLv2 • Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Adaptavist ThemeBuilder Powered by Atlassian Confluence 7.4.17
  • Adaptavist ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Adaptavist ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 185, "requestCorrelationId": "dd9ede54246282ee"}