-
-
Notifications
You must be signed in to change notification settings - Fork 262
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
Upgrade front-end & libs to v2.087.1+ #3093
Conversation
I.e., to T.nan, the regular quiet NaN.
`windows`, not `win64` or `win32` anymore, which has always been a special case wrt. the other platforms.
TODO:
|
Ah, Iain seems to be keen on reworking the |
6aa9150
to
9996d1b
Compare
How do I run the tests for the shared libraries? Are those in druntime or does LDC have its own tests? |
Looking at the CircleCI macOS-x64-sharedLibsOnly log, trying to run (almost?) any executable linked against the shared debug libs ( |
I've been able to reproduce it now, thanks. I'll see what I can do. |
Thanks. Are you on 10.15 already? With an earlier version, one could re-add |
Yes, on one of my computers. Looks like this assert is the issue: What's strange is that there is no indication that the assert is triggered. But the execution doesn't continue after the assert either, at least not in the same function. Anyway, removing that assert seems to fix the problem, which makes sense. I think removing the assert and including some of your changes can be upstreamed. I'll work on those changes when I have some more time. BTW, is it ok to return I'm not sure if it's possible it won't find a TLS symbol that is passed to |
Ah, very helpful, thx.
I guess that's because the assert causes an AssertError to be GC-allocated, before any GC is registered, and that causing a fatal exit after printing that 'no GC registered'. See section_elf_shared's safeAssert().
Having
It should find it, the TLS anchor is/should be there in each image built with LDC. But I guess the code chokes on some 3rd-party .dylib without TLS range. |
Fixes runnable/test17559.d with -O on Win32 (needs debug druntime for proper stack traces).
I cannot reproduce the remaining CircleCI crashes during 64-bit shared Phobos unittests either in my Ubuntu 18.04 VM. This is the backtrace of the segfaulting thread (1st GC worker thread) from a gdb session of
Partial backtrace of main thread:
@rainers: can you perhaps make some sense out of this? |
Not really. From the info it looks like the GC is in the process of creating its helper threads (thread 2 running, another just being created). The crashing thread does a lazy symbol lookup on At the same time there seems to be another thread creation in thread 4 (maybe the stack of the other threads can shed some light on what's going on). |
With the experimental switch from
|
Maybe the collection is triggered during program startup from a shared static ctor and core.time isn't initialized yet (so div by ticksPerSec produces a division by zero)? There is already a weird workaround for core.cpuid in the GC. |
Nope, the collection was triggered during the |
…Linux To hack around the unclear, apparently Circle-specific segfaults of the 64-bit shared Phobos testrunners.
I'm leaning towards releasing a first beta this weekend and see if the Linux issue with shared libs can be observed in the wild too. Disabling the new parallel marking feature should be a viable workaround, just in case. |
I tried to reproduce the failure this morning (Ubuntu 19.04 in VM), but what I got is a fork error:
Maybe this is related to dlang/phobos#7111 |
That error seems familiar, and I think it's unrelated and has been there for a while. It only happens when running all tests via Thx for the link, I'll check if that fixes this long-standing inconvenience. Edit: It doesn't. |
You are right, it passes. |
Maybe this is related: dlang/druntime#2816 |
No description provided.