New issue
Advanced search Search tips

Issue 921971 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Tracking bug: Make the signature of FirstChanceExceptionHandler in BreakPad more strict

Project Member Reported by ahaas@chromium.org, Jan 15

Issue description

At the moment the type of the FirstChanceExceptionHandler callback is
'bool (*)(int, void *, void *)'. However, V8 provides a more specific
callback by now, namely of type 'bool (*)(int, siginfo_t *, void *)'.
As WebAssembly trap handler are the only user of the
FirstChanceExceptionHandler callback in breakpad, we should make the
callback type more precise there.

This change is needed to deprecate the original V8 API function for
trap handler:
https://cs.chromium.org/chromium/src/v8/include/v8.h?sq=package:chromium&dr=CSs&g=0&l=8528
 
Description: Show this description
This issue requires the following changes:

1) Introduce a new API function to BreakPad which allows to set a
   FirstChanceExceptionHandler of type 'bool (*)(int, siginfo_t *, void *)'.
2) Replace uses of the old API with calls to the new API function in Chrome.
3) Remove the old API function in BreakPad.
4) Remove the old V8 API function.
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 15

The following revision refers to this bug:
  https://chromium.googlesource.com/breakpad/breakpad/+/9b06049ed9fdc8f6e2162bde88cbe902b7147735

commit 9b06049ed9fdc8f6e2162bde88cbe902b7147735
Author: Andreas Haas <ahaas@chromium.org>
Date: Tue Jan 15 15:14:20 2019

Introduce SetFirstChanceHandler with more strict signature

Eventually, I want to remove the current version of
SetFirstChanceHandler. That is why I changed the name of the current
callback type to FirstChanceHandlerDeprecated.

I also made sure that it is not possible to have two different
FirstChanceHandlers set at the same time.

This is the first of a set of CLs to clean up the API between Chrome,
BreakPad, and V8. See more information in the tracking bug.

R=mark@chromium.org

Bug: chromium:921971
Change-Id: Ia8c2fd9bd875c36dd7ae8bb4a02e538556bc67a1
Reviewed-on: https://chromium-review.googlesource.com/c/1411776
Reviewed-by: Mark Mentovai <mark@chromium.org>

[modify] https://crrev.com/9b06049ed9fdc8f6e2162bde88cbe902b7147735/src/client/linux/handler/exception_handler_unittest.cc
[modify] https://crrev.com/9b06049ed9fdc8f6e2162bde88cbe902b7147735/src/client/linux/handler/exception_handler.cc
[modify] https://crrev.com/9b06049ed9fdc8f6e2162bde88cbe902b7147735/src/client/linux/handler/exception_handler.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jan 16 (6 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/48624bc390c0c11c24fe08786171637821610dcc

commit 48624bc390c0c11c24fe08786171637821610dcc
Author: Andreas Haas <ahaas@chromium.org>
Date: Wed Jan 16 15:15:52 2019

[api] Fix includes in trap handler API header files

R=yangguo@chromium.org

Bug: chromium:921971
Change-Id: Id6715637a883c7606d96d8c4352bae1346cb0ec2
Reviewed-on: https://chromium-review.googlesource.com/c/1411603
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58854}
[modify] https://crrev.com/48624bc390c0c11c24fe08786171637821610dcc/include/v8-wasm-trap-handler-posix.h
[modify] https://crrev.com/48624bc390c0c11c24fe08786171637821610dcc/include/v8-wasm-trap-handler-win.h

Project Member

Comment 5 by bugdroid1@chromium.org, Jan 18 (4 days ago)

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

commit b3ee3f4e6a5ae45f0f32032c14129986a85a2a87
Author: Andreas Haas <ahaas@chromium.org>
Date: Fri Jan 18 09:14:17 2019

Roll src/third_party/breakpad/breakpad/ 54fa71efb..9b06049ed (9 commits)

https://chromium.googlesource.com/breakpad/breakpad.git/+log/54fa71efbe50..9b06049ed9fd

$ git log 54fa71efb..9b06049ed --date=short --no-merges --format='%ad %ae %s'
2019-01-15 ahaas Introduce SetFirstChanceHandler with more strict signature
2019-01-02 Tom.Tan Extract intruction pointer correctly for Windows ARM64
2018-12-06 vapier support mistaken-pull-closer for automatically clearing incoming PRs
2018-11-26 jperaza Conditionally define BPLOG_LAZY_STREAM
2018-11-26 jperaza Add mac dump_syms support for arm64e
2018-11-26 jperaza fix dump_syms xcode project
2018-11-13 ludovic.guegan Skip empty DWARF code range when mapping lines
2018-10-12 jperaza Conditionally define BPLOG_IF
2018-10-04 bernsteine Adds method to get the date of the most recent iOS crash report.

Created with:
  roll-dep src/third_party/breakpad/breakpad
R=mark@chromium.org

Bug: chromium:921971
Change-Id: I138f72cc98a7b1ad25837bbaeeff2f29585cfefe
Reviewed-on: https://chromium-review.googlesource.com/c/1416141
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624046}
[modify] https://crrev.com/b3ee3f4e6a5ae45f0f32032c14129986a85a2a87/DEPS

Sign in to add a comment