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 18871 & 18819 - DMD illegal hardware instruction crash #8260
Conversation
Thanks for your pull request, @JinShil! Bugzilla references
Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub fetch digger
dub run digger -- build "stable + dmd#8260" |
You can use dustmite [1]. I added the "Needs work" label due to the missing test. |
Figured it out. This is ready for review. |
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.
Is _ArrayDtor supposed to be a public API?
I don't think so, but so far, that's the only way I've been able to reproduce the bug without adding dependencies on |
Actually, I should probably wait until dlang/druntime#2147 and #8067 are pulled and test this again. |
Yep, I just tried your test case with Edit: Oh, of course, that code is in a special case for |
Sorry, I don't understand. I'm not seeing the special case. |
The whole if statement special-cases calls to the two functions I mentioned: https://github.com/dlang/dmd/pull/8260/files#diff-264b29261e215213d3026cd44003c2ebR4826 |
Either way, it would be great if we had a test case that didn't directly depend on |
Yeah, that doesn't seem right, does it. I'll use digger to see if I can identify what caused the regression. |
It appears the regression was caused by dlang/phobos#6411 I don't think this is the right fix. Calling a destructor on an array literal is nonsense. |
Well, it's still a DMD bug, as it certainly shouldn't crash like that… |
Ok, reopened in case someone wants to merge it. |
Fixed test case thanks to reduction in given in https://issues.dlang.org/show_bug.cgi?id=18819#c4 |
I'm still trying to create a reduced test case. When I print out
ea.toChars()
, I get this:If someone knows how to get a reduced test case from that. Please let me know.