www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Some help with core/thread refactoring

reply Stefanos Baziotis <sdi1600105 di.uoa.gr> writes:
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.
Aug 09
parent reply Nicholas Wilson <iamthewilsonator hotmail.com> writes:
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.
Aug 10
next sibling parent Stefanos Baziotis <sdi1600105 di.uoa.gr> writes:
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
Aug 10
prev sibling parent reply Seb <seb wilzba.ch> writes:
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.
Aug 10
parent reply Stefanos Baziotis <sdi1600105 di.uoa.gr> writes:
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
Aug 10
parent reply Seb <seb wilzba.ch> writes:
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 :/
Aug 10
parent Stefanos Baziotis <sdi1600105 di.uoa.gr> writes:
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
Aug 10