Dmitry Vyukov
|
ebf63d0095
|
tsan: better reporting of thread leaks
1. do not report running threads as leaks
2. aggregate leaked threads by creation stack
llvm-svn: 177647
|
2013-03-21 16:55:17 +00:00 |
Dmitry Vyukov
|
b62c158d81
|
tsan: special handling of .rodata (don't try to find races, don't keep shadow, dont' put into traces)
llvm-svn: 177517
|
2013-03-20 13:21:50 +00:00 |
Dmitry Vyukov
|
79915de6af
|
tsan: move trace header into 0x600000000000 range
eliminat thread "dead info" altogether
llvm-svn: 177512
|
2013-03-20 10:31:53 +00:00 |
Dmitry Vyukov
|
4ecfa696e0
|
tsan: flush dead thread info earlier (when another thread is finished rather than new thread is created)
llvm-svn: 177394
|
2013-03-19 12:25:48 +00:00 |
Dmitry Vyukov
|
509dab30ae
|
tsan: fix memory leak
llvm-svn: 177387
|
2013-03-19 10:22:33 +00:00 |
Dmitry Vyukov
|
ce26a0aa92
|
tsan: touch less shadow memory during operations on big memory ranges
greatly reduces memory consumption
llvm-svn: 177289
|
2013-03-18 16:56:48 +00:00 |
Dmitry Vyukov
|
2e7f29f042
|
tsan: mark shadow for thread stack as "don't need" when thread exits
llvm-svn: 177288
|
2013-03-18 15:49:07 +00:00 |
Dmitry Vyukov
|
49e462fab2
|
tsan: fix clang -Wall build
Clang does not like classes with virtual functions but w/o virtual dtor.
Go does not like libstdc++ (operator delete).
llvm-svn: 177267
|
2013-03-18 10:10:15 +00:00 |
Alexey Samsonov
|
b5d10f69e4
|
[TSan] re-apply r177249 lost in edits
llvm-svn: 177265
|
2013-03-18 09:45:22 +00:00 |
Dmitry Vyukov
|
a1bdd2d942
|
tsan: fix memory leak
llvm-svn: 177262
|
2013-03-18 09:09:41 +00:00 |
Dmitry Vyukov
|
7cd2025c4d
|
tsan: use StackDepot for thread creation stacks
llvm-svn: 177261
|
2013-03-18 09:02:27 +00:00 |
Dmitry Vyukov
|
50160030e1
|
tsan: fix Go build
llvm-svn: 177260
|
2013-03-18 08:52:46 +00:00 |
Alexey Samsonov
|
cbed82ea70
|
[TSan] fix undefined variable in debug TSan build
llvm-svn: 177249
|
2013-03-18 07:33:00 +00:00 |
Alexey Samsonov
|
9aecdfe34d
|
[TSan] Switch TSan runtime to use ThreadRegistry class from sanitizer_common
llvm-svn: 177154
|
2013-03-15 13:48:44 +00:00 |
Dmitry Vyukov
|
3c2489e2c3
|
tsan: do not imitate memory write on malloc() (Go)
better memory range access functions (put only 1 event to trace) (Go)
llvm-svn: 175056
|
2013-02-13 13:05:36 +00:00 |
Dmitry Vyukov
|
ba4291480d
|
tsan: detect races between plain and atomic memory accesses
llvm-svn: 174163
|
2013-02-01 09:42:06 +00:00 |
Dmitry Vyukov
|
6e406cda4b
|
tsan: implement malloc stats querying
llvm-svn: 173332
|
2013-01-24 09:08:03 +00:00 |
Dmitry Vyukov
|
09b0dbfaf9
|
tsan: say what thread had created a thread in reports
llvm-svn: 170346
|
2012-12-17 16:28:15 +00:00 |
Dmitry Vyukov
|
fd5ebcd1b0
|
tsan: add mutexsets to reports
With this change reports say what mutexes the threads hold around the racy memory accesses.
llvm-svn: 169493
|
2012-12-06 12:16:15 +00:00 |
Dmitry Vyukov
|
1b46993598
|
tsan: output thread names
llvm-svn: 169279
|
2012-12-04 15:46:05 +00:00 |
Dmitry Vyukov
|
55b47cad33
|
tsan: fix trace handling when trace is reused between threads
llvm-svn: 169259
|
2012-12-04 12:19:53 +00:00 |
Dmitry Vyukov
|
e1a7f338a3
|
tsan: dynamic history size
introduces history_size parameter that can be used to control trace size at startup
llvm-svn: 168786
|
2012-11-28 12:19:50 +00:00 |
Dmitry Vyukov
|
2429b02770
|
tsan: move traces from tls into dedicated storage at fixed address
helps to reduce tls size (it's weird to have multi-MB tls)
will help with dynamically adjustable trace size
llvm-svn: 168783
|
2012-11-28 10:35:31 +00:00 |
Dmitry Vyukov
|
933c9889aa
|
tsan: remove unused parameter
llvm-svn: 168060
|
2012-11-15 18:49:08 +00:00 |
Dmitry Vyukov
|
67dc5702f8
|
tsan: do not sleep at exit if there are no other threads
llvm-svn: 167533
|
2012-11-07 16:41:57 +00:00 |
Dmitry Vyukov
|
e11f2920c9
|
tsan: more precise handling of finalizers
llvm-svn: 167530
|
2012-11-07 15:08:20 +00:00 |
Alexey Samsonov
|
ad9d65feb8
|
[TSan] finally remove TsanPrintf in favor of Printf from sanitizer_common
llvm-svn: 167294
|
2012-11-02 12:17:51 +00:00 |
Dmitry Vyukov
|
90c9cbfed4
|
tsan: cache pc's that cause suppressions (this way we do not need to symbolize the reports)
llvm-svn: 165317
|
2012-10-05 15:51:32 +00:00 |
Dmitry Vyukov
|
56faa551b9
|
tsan: fix mac build
llvm-svn: 165004
|
2012-10-02 12:58:14 +00:00 |
Dmitry Vyukov
|
27d5b37c38
|
tsan: output tid's in reports
llvm-svn: 164998
|
2012-10-02 11:52:05 +00:00 |
Dmitry Vyukov
|
191f2f7cdb
|
tsan: use stack depot to describe heap blocks
llvm-svn: 162902
|
2012-08-30 13:02:30 +00:00 |
Dmitry Vyukov
|
9f143c5c5f
|
tsan: improve Go report format + fix build
llvm-svn: 162042
|
2012-08-16 19:36:45 +00:00 |
Dmitry Vyukov
|
954fc8c3e4
|
tsan: switch to new allocator
llvm-svn: 161953
|
2012-08-15 15:35:15 +00:00 |
Dmitry Vyukov
|
904d3f9c06
|
tsan: add ReleaseStore() function that merely copies vector clock rather than combines two clocks
fix clock setup for finalizer goroutine (Go runtime)
llvm-svn: 160918
|
2012-07-28 15:27:41 +00:00 |
Dmitry Vyukov
|
dfc8e52400
|
tsan: suport for Go finalizers
llvm-svn: 160723
|
2012-07-25 13:16:35 +00:00 |
Dmitry Vyukov
|
5bfac97ff9
|
tsan: use dynamic shadow stack for Go
llvm-svn: 160288
|
2012-07-16 16:44:47 +00:00 |
Dmitry Vyukov
|
dc36d69b6a
|
tsan: increase number of dead threads for Go
llvm-svn: 160283
|
2012-07-16 16:03:16 +00:00 |
Dmitry Vyukov
|
03d32ecd4f
|
tsan: Go language support
llvm-svn: 159754
|
2012-07-05 16:18:28 +00:00 |
Dmitry Vyukov
|
fa985a02ef
|
tsan: fix crashes if signal is caught during thread bootstrap or shutdown
llvm-svn: 159361
|
2012-06-28 18:07:46 +00:00 |
Dmitry Vyukov
|
090f345522
|
tsan: prevent insertion of unwanted memset/memcpy/memcmp into runtime
llvm-svn: 159294
|
2012-06-27 21:00:23 +00:00 |
Alexey Samsonov
|
3efd6fc26c
|
[Sanitizer] Use DEFINE_REAL macro in TSan runtime to call libc implementations of functions. Move strchr to sanitizer_libc.
llvm-svn: 158517
|
2012-06-15 12:24:07 +00:00 |
Alexey Samsonov
|
f516d39c1f
|
[TSan] use efficient real_memcpy inside runtime
llvm-svn: 158260
|
2012-06-09 09:14:24 +00:00 |
Alexey Samsonov
|
8bd9098b32
|
[Sanitizer] move placement_new definiton from TSan to common runtime
llvm-svn: 158145
|
2012-06-07 09:50:16 +00:00 |
Alexey Samsonov
|
51ae983718
|
[Sanitizer]: Introduce a common internal printf function. For now, also use tool-specific wrappers TsanPrintf (its output is controlled by TSan flags) and AsanPrintf (which copies its results to the ASan-private buffer). Supported formats: %[z]{d,u,x}, %s, %p. Re-write all format strings in TSan according to this format (this should have no effect on 64-bit platforms).
llvm-svn: 158065
|
2012-06-06 13:11:29 +00:00 |
Alexey Samsonov
|
ac4c290d02
|
[TSan] run some renaming as a preparation for factoring out Printf implementation.
llvm-svn: 158058
|
2012-06-06 10:13:27 +00:00 |
Alexey Samsonov
|
3b2f9f4c98
|
Remove file-type tags in .cc files in tsan/ and sanitizer_common/
llvm-svn: 157928
|
2012-06-04 13:55:19 +00:00 |
Dmitry Vyukov
|
880bb6697f
|
tsan: fix race during pthread_join/detach
llvm-svn: 157584
|
2012-05-28 17:32:50 +00:00 |
Dmitry Vyukov
|
2d4e3c140f
|
tsan: do not clean stack/tls for main thread
llvm-svn: 157566
|
2012-05-28 07:44:34 +00:00 |
Dmitry Vyukov
|
7339eb197b
|
tsan: do not call into libc in symbolizer and in other code (this causes recursion and crashes)
llvm-svn: 157466
|
2012-05-25 11:15:04 +00:00 |
Dmitry Vyukov
|
302cebb8f1
|
tsan: add shadow memory flush + fix few bugs
llvm-svn: 157270
|
2012-05-22 18:07:45 +00:00 |