-
-
Notifications
You must be signed in to change notification settings - Fork 267
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
Crash with vibe.d vibe-d-0.7.21-alpha.3 #696
Comments
Same trace with 0.13.0 |
Any ideas how to workaround it? I'd like to test if --gc-sections makes any notable impact on cache friendliness in vibe.d :) |
Sorry, not OTOH, and it will take me quite a while until I can do any in-depth D work again. Maybe @redstar or @AlexeyProkhin can chime in? |
I started to have a look at this. Currently, I have trouble to compile dub itself with ldc because of the well known std.net.curl linking issue... |
I have used dub compiled with dmd :P |
I can reproduce it but do not have a reduced test case yet. |
Full backtrace:
|
The most obvious issue seems to be that Sorry for the just dumping this here in this form, but I unfortunately don't have the time to look into the issue any further right now. |
Running this through DustMite right now. Might take a while… |
Reduced test case: void foo(T...)(lazy T) {}
void bar() {
static struct A {
void baz() {
int* b;
foo(b);
}
}
int* c;
foo(c);
} |
It seems like the original code contained two issues: First, the stopOnStatic branch checked the passed symbol over and over again instead of the current parent. Second, aggregate declarations are not Declarations, they are ScopeDsymbols. GitHub: Fixes ldc-developers#696.
Unfortunately, there is another, independent issue with vibe.d (not caused by the fix, was just masked before): #739 |
Trying to compile https://github.com/Dicebot/web-performance-tests/tree/master/tests/D%20%2B%20vibe.d with vibe-d/vibe.d#778 fix applied results in something nasty:
(this is with latest 0.14.0 alpha)
The text was updated successfully, but these errors were encountered: