-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Demangler] Make Node::addChild(NULL, ...) always assert. #41452
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
We need this in order to gather relevant information when this situation arises; it's clearly happening (e.g. rdar://86071019), but not often enough for it to trigger in a build with assertions enabled. rdar://89139049
@swift-ci Please smoke test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Would be worth considering if there's any additional info to log here that might be helpful (like the parent's kind, child count, other contents?). Since the turnaround time on this is not going to be real quick.
@swift-ci Please smoke test |
Good plan. I've made the |
b7bd245
to
8bccf9d
Compare
This should help to debug things when things go wrong. rdar://89139049
8bccf9d
to
e4855e7
Compare
@swift-ci Please smoke test |
I was trying to use fatalError() here, but that is in libswiftRuntime, which isn't linked into everything that has the demangler code in it. The upshot is that we'd have to touch a lot of other projects to use fatalError(). rdar://89139049
14edfe9
to
edbfce2
Compare
@swift-ci Please smoke test |
The demangling library can't use the error handling from the main runtime because it isn't always linked with it. However, it's useful to have some error handling, and in particular to be able to get data into the crash logs. This is complicated because of the way the demangling library gets used, the upshot of which is that I've had to add a second object library just for libswiftCore's use, so that the demangler will use the runtime's error handling functions when present, and fall back on its own when they aren't. rdar://89139049
@swift-ci Please smoke test |
f060c5b
to
97b266f
Compare
@swift-ci Please smoke test |
Crash reporter integration was only enabled for iOS. Enable it for any Darwin platform, but disable it for the minimal build. Also fix up a couple of issues that popped up when it was enabled. rdar://89139049
97b266f
to
b253705
Compare
@swift-ci Please smoke test |
@swift-ci Please test |
Some of the functions inside the SWIFT_STDLIB_HAS_TYPE_PRINTING conditional are now needed even in the minimal build as a result of swiftlang#41452. rdar://90839754
We need this in order to gather relevant information when this situation arises; it's clearly happening (e.g. rdar://86071019), but not often enough for it to trigger in a build with assertions enabled.
rdar://89139049