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

    Loading...
  1. Dashboard
  2. Tsan
  3. Main

Page History

Versions Compared

Old Version 7

changes.mady.by.user Jean Christophe Beyler

Saved on Mar 29, 2019

compared with

New Version 8

changes.mady.by.user Arthur Eubanks

Saved on Apr 03, 2019

  • Previous Change: Difference between versions 6 and 7
  • Next Change: Difference between versions 8 and 9
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 clone/test for developers and testers:


Cloning:

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


Installing:

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


Running:

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

First ensure you have libtsan.so available. e.g.:

sudo apt install libgcc-8-dev

ls -l /usr/lib/gcc/x86_64-linux-gnu/8/libtsan.so

Run Java with TSAN enabled:

LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/8/libtsan.so ./images/jdk/bin/java -XX:+ThreadSanitizer


Testing:Currently

, the The tests for TSAN are here:at test/hotspot/jtreg/tsan/

make test doesn't work since it doesn't support LD_PRELOAD. Instead, run:

make jdk-image test-image
JTREG=path/to/jtreg
JDK_ROOT=path/to/tsan_jdk
$JTREG -e:LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/8/libtsan.so -jdk:$JDK_ROOT/build/images/jdk/ -nativepath:$JDK_ROOT/build/images/test/hotspot/jtreg/native/ -e:TSAN_OPTIONS=suppressions=$JDK_ROOT/bin/tsan.supp $JDK_ROOT/make run-test  TEST="jtreg:test/hotspot/jtreg/tsan"/

where $JDK_ROOT must be an absolute path because -nativepath only works with an absolute pathThe tests are currently passing if TSAN is not enabled; once TSAN starts coming online, the tests will flip their assertions/expectations.


Resources

  • Tsan Project
  • Repositories
  • Mailing list: tsan-dev

Recent space activity

Recently Updated
typespage, comment, blogpost
max5
hideHeadingtrue
themesocial

Space contributors

Contributors
modelist
scopedescendants
limit5
showLastTimetrue
orderupdate


Overview
Content Tools
ThemeBuilder

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.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.23
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 331, "requestCorrelationId": "91b38540c499ab9d"}