New issue
Advanced search Search tips

Issue 905890 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 913996
issue 905889

Blocking:
issue 913421



Sign in to add a comment

Remove CHECK calls from ScopedResultPtr

Project Member Reported by jdarpinian@chromium.org, Nov 16

Issue description

There are a few CHECK calls in ScopedResultPtr/TransferBuffer, added here: http://crrev.com/c/1336753

Once we are satisfied there are no issues in the wild we can change these to DCHECKs. We can then also stop setting outstanding_result_pointer_ when DCHECKs are disabled.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3

commit 793071a0e342a52a14a4f75b81dc8cd4fbd97bd3
Author: James Darpinian <jdarpinian@chromium.org>
Date: Fri Nov 16 18:14:53 2018

gpu: Detect when result pointers are invalidated

If the transfer buffer is resized, pointers returned by GetResultAs are
invalidated. This changes GetResultAs to return a smart pointer class
that allows us to detect if a result pointer is still in use when the
buffer is resized and safely crash.

Bug:  905889 , 905890
Change-Id: I67b243a779f1a2996e7c13740c5ebdcfda16d0d3
Reviewed-on: https://chromium-review.googlesource.com/c/1336753
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608856}
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/build_cmd_buffer_lib.py
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/gles2_implementation_impl_autogen.h
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/implementation_base.cc
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/implementation_base.h
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/mock_transfer_buffer.cc
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/mock_transfer_buffer.h
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/raster_implementation.cc
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/raster_implementation_impl_autogen.h
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/transfer_buffer.cc
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/transfer_buffer.h
[modify] https://crrev.com/793071a0e342a52a14a4f75b81dc8cd4fbd97bd3/gpu/command_buffer/client/transfer_buffer_unittest.cc

Blocking: 913421
Blockedon: 913996
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9c995a82acfcfc47c8650c5edea8e5e6c28d7893

commit 9c995a82acfcfc47c8650c5edea8e5e6c28d7893
Author: James Darpinian <jdarpinian@chromium.org>
Date: Tue Dec 11 22:00:24 2018

gpu: Change CHECK to DCHECK in transfer buffer

As requested in the review of https://crrev.com/c/1336753. After
https://crbug.com/913996 is fixed we can remove
outstanding_result_pointer_ entirely when DCHECKs are disabled.

It also turns out that we can't use the string argument to ASSERT_DEATH
to detect a CHECK message in a test because the message strings are
stripped in official builds.

Bug: 905890,  913421 , 913996
Change-Id: Ia7df19057564ef7a4bbbab9ba36f583c6e6bca0f
Reviewed-on: https://chromium-review.googlesource.com/c/1370484
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615680}
[modify] https://crrev.com/9c995a82acfcfc47c8650c5edea8e5e6c28d7893/gpu/command_buffer/client/transfer_buffer.cc
[modify] https://crrev.com/9c995a82acfcfc47c8650c5edea8e5e6c28d7893/gpu/command_buffer/client/transfer_buffer_unittest.cc

After 913996 is fixed I will remove outstanding_result_pointer_ in release builds.

Sign in to add a comment