On Friday, 12 January 2018 at 17:17:02 UTC, Seb wrote:
On Friday, 12 January 2018 at 16:50:21 UTC, Joakim wrote:
On Friday, 12 January 2018 at 16:13:39 UTC, Seb wrote:
Motivation
----------

1) It's required for Walter's work on using -betterC for the backend conversion:

https://github.com/dlang/dmd/pull/6907

Not really, he just wants to dogfood betterC on the dmd backend when it's ported to D.

Yeah and that requires:

-mv switch
- removal of the generated assert helper functions

Both are features which aren't present in 2.068
The entire reason why the PR wasn't merged yet is because the auto-tester hasn't been updated (and no one hacked these features into the gdc Perl wrapper).

Let me rephrase what I wrote, as you did mention originally that bumping the compiler version was only required for betterC. Walter wants to translate the dmd backend to D, but it doesn't have to be betterC, as others in that PR thread point out.

On Friday, 12 January 2018 at 17:17:25 UTC, Jonathan Marler wrote:
On Friday, 12 January 2018 at 16:50:21 UTC, Joakim wrote:
On Friday, 12 January 2018 at 16:13:39 UTC, Seb wrote:
2) We start to run into random failures lately, e.g.

https://github.com/braddr/d-tester/issues/63
https://github.com/dlang/dmd/pull/7569#issuecomment-356992048

Seem like issues with 32-bit OS X instead.


It's actually a bug in dmd 2.068.2. I was able to reproduce the segfault on my macbook.

Meaning what, it's reproducible with the 64-bit OS X tests also?

If I went to the next version of dmd, namely, 2.069.0 then the issue went away. I was also able to get a stack trace:
---
Obj::term(char const*) + 2285
obj_end(Library*, File*) + 37
tryMain(unsigned long, char const**) + 12066
_start + 203
start + 33
---

The `+ <num> ` is referring to the code offset in bytes from the beginning of the function, so the actual line of code where the invalid access occurs is somewhere inside Obj::term. Unfortunately, that function is quite large (over 700 lines).

If we want to continue supporting dmd 2.068.2, I would recommend patching this bug. I don't know how long we have been using this specific version of dmd 2.068.2 on the autotester, does anyone know?

For now, I think you have no choice but to simply work around whatever that bug is. We should drop support for 32-bit OS X sometime soon, and if that fixes the issue, you have no problem.

Reply via email to