Comments (11)
The URL in the initial screenshot was truncated, but it seems like you were using the Legacy DSN including the private key. This is not supported by this SDK and generates a wrong sentry_key
query parameter in the URL. This generated the initial 401 request.
Are you sending this to sentry.io or an on-premise version of Sentry? It seems that you're using an on-premise version. If so, which version are you running on? You will require a relatively recent version -- ideally the latest master
-- for this to work. Also, you can check the server log for the exact error in this case. Depending on the error, there might be an X-Sentry-Error
header (or similar) that explains why the request was bad.
That being said, we only ran limited tests with Crashpad on Linux yet, I will try this out myself and see if we can reproduce this error.
from sentry-native.
Hi jan-auer,
Thanks for your suggestion.
I also set up sentry.io, I think I can try sentry.io first. But it seems only provide HTTPS DSN
with default sentry_crashpad.c and https dsn, I can see report in server, but if I unmark the crash source code, it said it only accept http.
-
Does sentrypad-native only support http for crash report ?
I can't find the HTTP DSN, can you tell me where is that ? -
If I unmark the crash source code and change http to https with this line, build and run example binary again wtih HTTPS DSN, it seems can't sent report to sentry.io, does sentry-native support sending crash(core dump) report via https to sentry server?
from sentry-native.
I can see report in server, but if I unmark the crash source code, it said it only accept http.
Can you share the exact message that you're getting here? Sentry definitely accepts and prefers HTTPS usually. Also, uncommenting the crash line should not change anything with this.
I can't find the HTTP DSN, can you tell me where is that ?
It is strongly discouraged to use http in this scenario. If absolutely required, you can always just replace https://
with http://
in the DSN. In your case, there is probably a different issue and you can continue to use the HTTP DSN.
We're updating the UI now to remove the legacy DSN. If you use the Public DSN then sending crash reports should work out of the box.
from sentry-native.
Hi jan-auer,
Thanks for your information. Let me have more clear description, thanks.
With Sentry 4
1. Try default condition
with default sentry_crashpad.c, after running sentry_example_crashpad binary with my HTTP DSN It can send message to my sentry server as below,
, this test is no problem.
2. Try crash condition
2.1 unmark the crash source code, and run sentry_example_crashpad to see core dump, it will said it need HTTP
2.2 I Modify to accept HTTPS ,
build and run sentry_example_crashpad again,
Crash is there, Sentry doesn't get the report, refer to wireshark, it is sent by http, that's why I think the minidump(crash ) report is not supported to send by HTTPS
2.3 If I run sentry_example_crashpad with HTTP, with HTTP checking rule,
I see some error in red square,
Does these error normal or it is issue ?
With wireshark, I see it POST to sentry server, but server doesn't get the report, and no response as wireshark shown.
Question 1,
Will it support to send crash report by HTTPS in the future ?
Question 2,
Currently sentrypad have issue with sending core dump report with HTTP to sentry right?
or I miss something?
Question 3,
Without crash happened in sentry_example_crashpad, report can send to sentry server by HTTPS, so the report type will be sent with different method in source code right ?
from sentry-native.
With Sentry 4
Does this mean you're on Sentry version 4? You need to be on the latest master
, that is, version 10.
Will it support to send crash report by HTTPS in the future
You are using the Crashpad backend for Sentry native. At the moment we haven't completed tests on Linux. It seems like there might be an issue sending via HTTPS on Linux, which we will have to investigate. Unfortunately, Crashpad is not fully stable on Linux, so you might wanna try out the Breakpad version, instead. This is all work in progress, and we will update documentation as we gain more insights.
Currently sentrypad have issue with sending core dump report with HTTP to sentry right?
Sentry Native will never send core dumps. It uses either Crashpad or Breakpad to send Minidumps. Submission should always be possible via HTTPS, but as stated above, on Linux Crashpad might not work properly.
Without crash happened in sentry_example_crashpad, report can send to sentry server by HTTPS, so the report type will be sent with different method in source code right?
That is correct. On Linux, we bundle curl
to send events manually. It is on our roadmap to do this for crashes (i.e. minidumps) aswell, but we still need some more time for this.
from sentry-native.
Does this mean you're on Sentry version 4? You need to be on the latest master
, that is, version 10.
Sorry I should say sentry-native Tag 0.04
You are using the Crashpad backend for Sentry native. At the moment we haven't completed tests on Linux. It seems like there might be an issue sending via HTTPS on Linux, which we will have to investigate. Unfortunately, Crashpad is not fully stable on Linux, so you might wanna try out the Breakpad version, instead. This is all work in progress, and we will update documentation as we gain more insights.
Thanks for you information, I will try Breapad version for sentry native.
Sentry Native will never send core dumps. It uses either Crashpad or Breakpad to send Minidumps. Submission should always be possible via HTTPS, but as stated above, on Linux Crashpad might not work properly.
Understand
That is correct. On Linux, we bundle curl
to send events manually. It is on our roadmap to do this for crashes (i.e. minidumps) aswell, but we still need some more time for this.
Thanks for this information
Doubt :
I have one idea that I only need sentry-native and its minidumps module to catch the crash (core dump) for producing the minidumps report. (may be using curl manually or other method to send report to sentry server)
If I remove other functionality modules and only keep minidumps modules in sentry-native for my thought above, do you think it need much effort ?
I means maybe the source file are depends tightly or the build depends is also tightly.
I test with example_breakpad with unmark crash source line, it doesn't create dmp file, the reason is here are marked ?
If I only need minidumps functionality , do you recommend me to use crashpad or breakpad ?
from sentry-native.
I only need sentry-native and its minidumps module to catch the crash
sentry-native does not include such a module. At present time, this can only be achieved via either Crashpad or Breakpad.
I test with example_breakpad with unmark crash source line
After writing you, I'm realizing that we deactivated some code in the SDK for Breakpad. We will be checking in the proper breakpad implementation soon, then I'll update you here. Sorry about the confusion.
If I only need minidumps functionality , do you recommend me to use crashpad or breakpad ?
On Linux I would recommend Breakpad. On macOS and Windows, I would recommend Crashpad.
from sentry-native.
sentry-native does not include such a module. At present time, this can only be achieved via either Crashpad or Breakpad.
Thanks for your reminder, sentry-native is a wrapper of Crashpad/Breakpad
After writing you, I'm realizing that we deactivated some code in the SDK for Breakpad. We will be checking in the proper breakpad implementation soon, then I'll update you here. Sorry about the confusion.
Thanks, so after fix it, example_breakpad will create dmp file,
Q1: will it support upload to sentry ? Or user should use curl manually ?
On Linux I would recommend Breakpad. On macOS and Windows, I would recommend Crashpad.
Thanks for your recommendation.
Q2:
Breakpad uses in-process crash reporting, if I only need minidump function, will it has other disadvantage with out-of-process used by Crashpad ?
from sentry-native.
Q1: Yes, it will support uploads to Sentry. This will likely be included in one of the next releases of the SDK.
Q2: In-process error reporting is slightly less reliable. Once a process crashes, possibilities are significantly limited. Thus Crashpad would be theoretically superior, but it still has to catch up to Breakpad in some areas (e.g. uploading crashes).
I added your issues now to "Known Issues" in the main readme. We'll work actively to get Breakpad working as soon as possible. Thanks for sharing all this context and information!
from sentry-native.
Hi jan-auer,
Thanks for your kindly explanation.
I see the Known Issues
Sentry with Breakpad cannot upload minidumps. The uploader was temporarily removed and will be restored in a future version.
Q1: I also want to check that the *dmp file is also not created via Sentry with Breakpad currently right ? ( testing with example_breakpad sentry-native version 1.0.1 is the same condition). hope not my operation missing.
I try to understand this by looking to src code, it is not implemented yet.
In releaes 1.0. 1 the bin/Release/breakpad_crash can produce the .dmp file.
Q2: Can I know the estimated period between every release ?
Q3: If I have other doubt about the breakpad, do I need to create another issue for query or I can discuss here with you?
Thank you so much
from sentry-native.
@austinlin7732
We are planning to release a new version of sentry-native later today. It does not have official support for crashpad on linux, but plans are to add breakpad support asap, and looking into supporting crashpad on linux as well in the future.
from sentry-native.
Related Issues (20)
- Exception not catched in sentry - how to investigate why HOT 12
- [#inc-517] Re-test repros before and after applying Google Jan 24 updates HOT 2
- [#inc-517] Document caveats of signalhandlers and sigaltstack HOT 3
- [Epic] #inc-517 Followups
- [#inc-517] Add basic crashing test with asan (HW Asan, GWP-ASan)
- install issue HOT 4
- [linux] RISC-V 32/64 support HOT 1
- Android NDK Segfault crash related to `sentry_value_set_by_key_n` HOT 4
- Craspad under Epic's "Easy Anti-Cheat" HOT 6
- Stack overflow not sent to backend HOT 10
- Extend envelope API to allow event-specific attachments HOT 3
- sentry_transaction_set_data() - Discarded unknown attribute
- Only set up sigaltstack if there is none (Linux + Android)
- Add support to build for Windows 11 ARM64 HOT 2
- [Android] Support dynamic page size for Android 15+ devices
- Breadcrumb Duplication in Qt Integration for Multi-Transaction Applications HOT 2
- crashpad_handler processes persist after app close HOT 9
- Add static+dynamic stack usage measures and alerts in CI
- Introduce CI checks for binaries in our NDK release AAR
- Crashpad submodule reference doesn't point to a valid commit HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sentry-native.