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

Fix issue 9438 - Strange RefCounted stack overflow #1645

Merged
merged 1 commit into from Feb 11, 2013
Merged

Fix issue 9438 - Strange RefCounted stack overflow #1645

merged 1 commit into from Feb 11, 2013

Conversation

ghost
Copy link

@ghost ghost commented Feb 8, 2013

This fixes issue 9438.

When except_fillInEHTable() calculates offset for DHandlerTable for destructors of temporary objects, it does it twice, so calculated offset is bigger than necessary, so druntime unwinds up to wrong asm instruction, so program goes off the rails. It seems that it worked with -g by chance, since with -g operand queue contains more special elements for which calccodesize() returns zero.

WalterBright added a commit that referenced this pull request Feb 11, 2013
Fix issue 9438 - Strange RefCounted stack overflow
@WalterBright WalterBright merged commit b947839 into dlang:master Feb 11, 2013
WalterBright added a commit to WalterBright/dmd that referenced this pull request Feb 11, 2013
Fix issue 9438 - Strange RefCounted stack overflow
@WalterBright
Copy link
Member

Thanks for tracking this one down. That was a tough job, and this is a critical fix.

@ghost ghost deleted the b9438 branch February 11, 2013 06:11
9rnsr pushed a commit to 9rnsr/dmd that referenced this pull request Feb 11, 2013
Fix issue 9438 - Strange RefCounted stack overflow
@ghost ghost restored the b9438 branch February 11, 2013 13:37
@ghost ghost deleted the b9438 branch February 14, 2013 17:22
@ghost ghost mentioned this pull request Aug 16, 2013
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.

1 participant