Skip to content
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

Fixes for Xcode 16.0 debugger crashing (with relwithdebinfo) #6932

Merged
merged 8 commits into from
Dec 21, 2024

Conversation

igiannakas
Copy link
Contributor

@igiannakas igiannakas commented Sep 27, 2024

Description

Fixes debugger crashes in Xcode 16 due to stricter handling of [sort] irreflexivity violations and stricter control over [vector] memory access. Just slice a simple cube in Orca with Xcode 16 and start the debugger.

Vector access:
image
image

Sort irreflexivity
image
image

Scheme configuration:
image
image
image
image
image
image
image
image
image
image

Tests

Testing is needed as well a detailed code review as, while now debugger can run, and I dont see any obvious issues visually, I am not 100% sure of the consequences these three changes may bring.

@Noisyfox @SoftFever would you mind checking these changes when you have time?

@igiannakas igiannakas changed the title Fixes for XCode 16.0 Fixes for Xcode 16.0 debugger crashing (with relwithdebinfo) Sep 27, 2024
@SoftFever
Copy link
Owner

Hmm, I'm using VSCode+Ninja on Mac with Xcode 16 installed, it works fine.

@igiannakas
Copy link
Contributor Author

Yeap indeed, I am not sure why this started happening now.... Lets keep this one parked just in case it is required in the future?

@igiannakas igiannakas marked this pull request as draft October 28, 2024 10:49
@igiannakas
Copy link
Contributor Author

So I’ve setup a brand new, fresh UTM Vm with 15.1 and this issue is present still. Reopening the Pr as ready to review.

@igiannakas igiannakas marked this pull request as ready for review October 29, 2024 21:15
@@ -3179,7 +3179,7 @@ void PerimeterGenerator::process_arachne()
// printf("Layer ID %d, Outer index %d, inner index %d, second inner index %d, maximum internal perimeter %d \n",layer_id,outer,first_internal,second_internal, max_internal);
if (outer > -1 && first_internal > -1 && second_internal > -1) { // found all three perimeters to re-order? If not the perimeters will be processed outside in.
std::vector<PerimeterGeneratorArachneExtrusion> inner_outer_extrusions; // temporary array to hold extrusions for reordering
inner_outer_extrusions.reserve(max_internal - position + 1); // reserve array containing the number of perimeters before a new island. Variables are array indexes hence need to add +1 to convert to position allocations
inner_outer_extrusions.resize(max_internal - position + 1); // reserve array containing the number of perimeters before a new island. Variables are array indexes hence need to add +1 to convert to position allocations
Copy link
Owner

Choose a reason for hiding this comment

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

nice catch!

Copy link
Owner

@SoftFever SoftFever left a comment

Choose a reason for hiding this comment

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

I don't experience the crash but the changes looks good to me.
Thank you!

@SoftFever SoftFever merged commit d778928 into SoftFever:main Dec 21, 2024
16 checks passed
@igiannakas igiannakas deleted the Xcode-16-debug-fixes branch December 21, 2024 14:43
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.

2 participants