Thread overview
Some help with core/thread refactoring
Aug 09, 2019
Stefanos Baziotis
Aug 10, 2019
Nicholas Wilson
Aug 10, 2019
Stefanos Baziotis
Aug 10, 2019
Seb
Aug 10, 2019
Stefanos Baziotis
Aug 10, 2019
Seb
Aug 10, 2019
Stefanos Baziotis
August 09, 2019
Hello everyone,

I have been trying to refactor core/thread (with the help of Nicholas Wilson).
PR: https://github.com/dlang/druntime/pull/2689

It seems it's something that the D community likes and I want to progress on this.

I get a failed test on AppVeyor and one on auto-tester.

Both are related to Windows.

-- On AppVeyor --

It says there's a unittest that fails in exception.d. Now:
- I can't find it in exception.d
- It seems unrelated to the PR but it's kind of persistent (it's the second time it appeared).

-- On auto-tester --

I get an error when try to build Windows:
std\concurrency.d(39): Error: module `thread` is in file 'core\thread.d' which cannot be read.

Have I missed something on the .mak files or smth?

Also, I'm trying to compile DMD on Windows to compile druntime but it fails. I get an error like:
std.process.ProcessException@std\process.d(755): Failed to spawn new process

I don't know how to move forwards.
August 10, 2019
On Friday, 9 August 2019 at 17:28:32 UTC, Stefanos Baziotis wrote:
> Hello everyone,
>
> I have been trying to refactor core/thread (with the help of Nicholas Wilson).
> PR: https://github.com/dlang/druntime/pull/2689
>
> It seems it's something that the D community likes and I want to progress on this.
>
> I get a failed test on AppVeyor and one on auto-tester.
>
> Both are related to Windows.
>
> -- On AppVeyor --
>
> It says there's a unittest that fails in exception.d. Now:
> - I can't find it in exception.d
> - It seems unrelated to the PR but it's kind of persistent (it's the second time it appeared).

Appveyor is disabled on dmd, I don't remember why it hasn't yet been disabled on druntime. Don't worry about it.


> -- On auto-tester --
>
> I get an error when try to build Windows:
> std\concurrency.d(39): Error: module `thread` is in file 'core\thread.d' which cannot be read.
>
> Have I missed something on the .mak files or smth?

Try adding a directory for it to copy into
https://github.com/dlang/druntime/blob/a3c1153f68ece9ff1842d2e95bc6d558a94e85d4/mak/WINDOWS#L32
i.e. insert
```
	mkdir $(IMPDIR)\core\thread
``
at line 59

Thats the only thing I can think of.

>
> Also, I'm trying to compile DMD on Windows to compile druntime but it fails. I get an error like:
> std.process.ProcessException@std\process.d(755): Failed to spawn new process

That may just be a flaky test, IIRC that and std.concurrency fail randomly (maybe some other ones too). If it is persistent, then it may be a problem.

> I don't know how to move forwards.

If those don't work let me know.
August 10, 2019
On Saturday, 10 August 2019 at 13:05:37 UTC, Nicholas Wilson wrote:
> Appveyor is disabled on dmd, I don't remember why it hasn't yet been disabled on druntime. Don't worry about it.

Great.

> Try adding a directory for it to copy into

Hmm, I thought that but I didn't see all the subdirectories there and since
I'm not the best with how the mak/* files, I didn't touch it. Ok, I uploaded
a new one.

> That may just be a flaky test, IIRC that and std.concurrency fail randomly (maybe some other ones too). If it is persistent, then it may be a problem.

Ah, ok. Let me clarify that this is when I try to build DMD on my machine.
It's not part of some CI test. Last time I was on Windows, it was persistent.

> If those don't work let me know.

Thanks for the help!

- Stefanos
August 10, 2019
On Saturday, 10 August 2019 at 13:05:37 UTC, Nicholas Wilson wrote:
> On Friday, 9 August 2019 at 17:28:32 UTC, Stefanos Baziotis wrote:
>> Hello everyone,
>>
>> I have been trying to refactor core/thread (with the help of Nicholas Wilson).
>> PR: https://github.com/dlang/druntime/pull/2689
>>
>> It seems it's something that the D community likes and I want to progress on this.
>>
>> I get a failed test on AppVeyor and one on auto-tester.
>>
>> Both are related to Windows.
>>
>> -- On AppVeyor --
>>
>> It says there's a unittest that fails in exception.d. Now:
>> - I can't find it in exception.d
>> - It seems unrelated to the PR but it's kind of persistent (it's the second time it appeared).
>
> Appveyor is disabled on dmd, I don't remember why it hasn't yet been disabled on druntime. Don't worry about it.

Druntime hasn't switched from AppVeyor to Azure.
August 10, 2019
On Saturday, 10 August 2019 at 14:56:45 UTC, Seb wrote:
> Druntime hasn't switched from AppVeyor to Azure.

Ah ok. Is the auto-tester working?
I get failure in all platforms for what seem completely unrelated reasons with the PR. i.e. DMD failed tests.

https://auto-tester.puremagic.com/pull-history.ghtml?projectid=1&repoid=2&pullid=2689
August 10, 2019
On Saturday, 10 August 2019 at 15:56:32 UTC, Stefanos Baziotis wrote:
> On Saturday, 10 August 2019 at 14:56:45 UTC, Seb wrote:
>> Druntime hasn't switched from AppVeyor to Azure.
>
> Ah ok. Is the auto-tester working?
> I get failure in all platforms for what seem completely unrelated reasons with the PR. i.e. DMD failed tests.
>
> https://auto-tester.puremagic.com/pull-history.ghtml?projectid=1&repoid=2&pullid=2689

Yes, auto-tester is generally working and these failures should disappear soon.
See https://github.com/dlang/dmd/pull/10300 for details.

Anyhow, my point was that AppVeyor is passing on other PRs (see e.g. https://github.com/dlang/druntime/pull/2690), so it's very likely your PR causing the problem :/
August 10, 2019
On Saturday, 10 August 2019 at 16:34:38 UTC, Seb wrote:
> Yes, auto-tester is generally working and these failures should disappear soon.
> See https://github.com/dlang/dmd/pull/10300 for details.

Great.

> Anyhow, my point was that AppVeyor is passing on other PRs (see e.g. https://github.com/dlang/druntime/pull/2690), so it's very likely your PR causing the problem :/

That's bad news. The problem seems unrelated to the PR and I don't even understand it. Thanks though!

Nicholas, I might have to rewrite this.

- Stefanos