Skip to content

linux: Enable building for Linux platforms with Crashpad.#307

Closed
jblazquez wants to merge 1 commit intogetsentry:masterfrom
jblazquez:getsentry
Closed

linux: Enable building for Linux platforms with Crashpad.#307
jblazquez wants to merge 1 commit intogetsentry:masterfrom
jblazquez:getsentry

Conversation

@jblazquez
Copy link
Copy Markdown
Contributor

@jblazquez jblazquez commented Jun 17, 2020

This change fixes a compile error when MemorySanitizer is enabled and also allows sentry-native to be built targeting the Linux platform with the Crashpad backend. Please let me know if you actually don't want to support this backend on Linux I can close this PR.

This depends on the changes here being merged: getsentry/crashpad#15

Fixes #232

@jblazquez jblazquez changed the title linux: Enable building for Linux platforms. linux: Enable building for Linux platforms with Crashpad. Jun 17, 2020
@Swatinem
Copy link
Copy Markdown
Contributor

With your crashpad PR merged, you can also bump the submodule ;-)

@jblazquez
Copy link
Copy Markdown
Contributor Author

@Swatinem, updated the PR with your feedback.

Copy link
Copy Markdown
Contributor

@Swatinem Swatinem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One last thing, I should have mentioned this earlier:

Please turn on the tests here:

has_crashpad = sys.platform != "linux" and not is_android

@jan-auer
Copy link
Copy Markdown
Member

@Swatinem before we merge this in, could you please check if the HTTP implementation in Crashpad works now? The last time I checked, Crashpad was not able to make HTTPS requests and generally had troubles with getting requests out.

@Swatinem
Copy link
Copy Markdown
Contributor

Adding at least a smoketest for crashpad here: #310
Although that runs on http right now, without TLS.

@jblazquez
Copy link
Copy Markdown
Contributor Author

Thanks Arpad, I updated the tests script.

@jblazquez
Copy link
Copy Markdown
Contributor Author

Looks like CI broke after enabling Crashpad tests on Linux, something related to pytest:

https://dev.azure.com/sentry-builds/sentry-native/_build/results?buildId=2534&view=logs&j=ad746dd1-389b-5d3a-67ba-32f8fe0c787d&t=ac971eda-1633-5f8a-d283-de94f79a855c&l=3552

NameError: name 'pytest' is not defined

I'm gonna have to get familiar with the CI setup to understand what's going on, but if you have any ideas please let me know.

@Swatinem
Copy link
Copy Markdown
Contributor

Ah, that is just my oversight.
The real error is this one:

In file included from /home/vsts/work/1/s/include/sentry.h:81:
/home/vsts/work/1/s/external/crashpad/compat/linux/signal.h:18:2: error: #include_next is a language extension [-Werror,-Wgnu-include-next]
#include_next <signal.h>
 ^
1 error generated.

I remember we had one of these already. Also I’m surprised that all the compat includes are leaking into sentry.

@jan-auer
Copy link
Copy Markdown
Member

Crashpad integration tests have moved to #311

@Swatinem
Copy link
Copy Markdown
Contributor

Swatinem commented Jul 3, 2020

This was done as part of #320 now

@Swatinem Swatinem closed this Jul 3, 2020
@jblazquez jblazquez deleted the getsentry branch July 3, 2020 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Crashpad support for Linux

4 participants