New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 710822 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 710753
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Data race in sw::Renderer::initializeThreads

Project Member Reported by ClusterFuzz, Apr 12 2017

Issue description

Cc: msrchandra@chromium.org
Components: Internals>GPU>SwiftShader
Labels: Test-Predator-Correct-CLs M-58
Owner: capn@chromium.org
Status: Assigned (was: Untriaged)
Assigning to the concern owner from Predator results --
Regression information is not available. The result is the blame information. 

Author: John Bauman
Project: chromium-swiftshader
Changelist: https://swiftshader.googlesource.com/SwiftShader.git/+/66b8ab22586debccb1f787d4d52b7f042d4ddeb8
Time: Tue May 06 15:57:45 2014 -0400
The CL last changed line 70 of file Memory.cpp, which is stack frame 1. 

Author: Nicolas Capens
Project: chromium-swiftshader
Changelist: https://swiftshader.googlesource.com/SwiftShader.git/+/8820f64b43b5b41c15cbebd3bcf2a6078800d8da
Time: Fri Sep 30 04:42:43 2016 -0400
The CL last changed line 180 of file Device.cpp, which is stack frame 2. 

Author: Nicolas Capens
Project: chromium-swiftshader
Changelist: https://swiftshader.googlesource.com/SwiftShader.git/+/0bac285a78df6a6d7a6b68784748b92805420ffb
Time: Sat May 07 06:09:58 2016 -0400
The CL last changed line 51 of file Context.cpp, which is stack frame 3. 

Author: Alexis Hetu
Project: chromium-swiftshader
Changelist: https://swiftshader.googlesource.com/SwiftShader.git/+/cc5c464b0ac1f01d261cd47682c243a5e5111889
Time: Wed Jun 08 15:04:56 2016 -0400
The CL last changed line 4350 of file Context.cpp, which is stack frame 4. 

Author: Alexis Hetu
Project: chromium-swiftshader
Changelist: https://swiftshader.googlesource.com/SwiftShader.git/+/cc5c464b0ac1f01d261cd47682c243a5e5111889
Time: Wed Jun 08 15:04:56 2016 -0400
The CL last changed line 435 of file Display.cpp, which is stack frame 5. 

Author: Alexis Hetu
Project: chromium-swiftshader
Changelist: https://swiftshader.googlesource.com/SwiftShader.git/+/b75bb021e2c579135ac25723ac03588cc92f7364
Time: Wed May 18 11:43:43 2016 -0400
The CL last changed line 743 of file libEGL.cpp, which is stack frame 6. 

Author: Nicolas Capens
Project: chromium-swiftshader
Changelist: https://swiftshader.googlesource.com/SwiftShader.git/+/0bac285a78df6a6d7a6b68784748b92805420ffb
Time: Sat May 07 06:09:58 2016 -0400
The CL last changed line 489 of file main.cpp, which is stack frame 7.

@Nicolas Capens -- Could you please look into the issue, kindly re-assign if this is not related to your changes.
Thank You.

Comment 2 by capn@chromium.org, Apr 12 2017

Labels: -Pri-2 -M-58 M-59 Pri-3
This looks very similar to  Issue 710753 . In both these cases the race is presumably happening in SwiftShader's custom exponential back-off mutex lock implementation. It has proven to be robust for many years, so my knee-jerk reaction is that this is a false positive.

I'll familiarize myself more with TSAN before I make that conclusion, or fix things if there's an actual data race.

Comment 3 by capn@chromium.org, Apr 13 2017

Mergedinto: 710753
Status: Duplicate (was: Assigned)
Race happens in BackoffLock::isLocked(), same as  Issue 710753  but called from a different location / different lock object.
Project Member

Comment 4 by ClusterFuzz, May 27 2017

ClusterFuzz has detected this issue as fixed in range 475030:475039.

Detailed report: https://clusterfuzz.com/testcase?key=5208893753131008

Fuzzer: inferno_layout_test_unmodified
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Data race WRITE 4
Crash Address: 0x7fc828db1058
Crash State:
  sw::Renderer::initializeThreads
  sw::Renderer::updateConfiguration
  sw::Renderer::draw
  
Sanitizer: thread (TSAN)

Fixed: https://clusterfuzz.com/revisions?job=linux_tsan_chrome_mp&range=475030:475039

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5208893753131008


See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.

Sign in to add a comment