Skip to content

Conversation

@rainers
Copy link
Member

@rainers rainers commented Jul 27, 2019

also needs #10165 and #10158 from stable.

@dlang-bot
Copy link
Contributor

Thanks for your pull request, @rainers!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub fetch digger
dub run digger -- build "master + dmd#10231"

@wilzbach
Copy link
Contributor

also needs #10165 and #10158 from stable

-> #10232 should help

@wilzbach
Copy link
Contributor

We should look into enabling this on a CI (see e.g. #7528), s .t. it doesn't break again.

@rainers
Copy link
Member Author

rainers commented Jul 27, 2019

We should look into enabling this on a CI (see e.g. #7528), s .t. it doesn't break again.

Should I try and merge #7528 into this PR?

const fromExe = readText(envFromExe);
const fromRun = readText(envFromRun);
const fromExe = readOutput(envFromExe);
const fromRun = readOutput(envFromRun);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marler8997 This test from #8121 didn't work with a debug compiler.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you fix this issue? I'm not seeing any failures with this test in the CIs

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The filtering in readOutput is necessary to remove the "DMD 2.087.1-git-1234 DEBUG" message generated by a debug build of dmd. All existing CIs use a release build (i.e. none of the asserts in the compiler is tested), but this PR changes that.

IIRC you were the main contributor of the dshell-tests, so I just wanted to note that these tests should usually use readOutput (or something similar) to process compiler output.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW is printing this debug string on every execution really worth it?
It seems to produce more trouble than gain.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With my other suggestion, this becomes readText(envFromRun).filterCompilerDebugMsg

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW is printing this debug string on every execution really worth it?
It seems to produce more trouble than gain.

I agree, it's quite a nuisance with little benefit.

Copy link
Contributor

@wilzbach wilzbach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot! I'm already pre-approving the CI part of this.

/**
read the the given `file` and remove \r and the compiler debug header.
*/
string readOutput(string file)
Copy link
Contributor

@marler8997 marler8997 Aug 9, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of a function to read a file of compiler output, how about a function called 'filterCompilerDebugMsg'?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, I'll change it.


const fromExe = readText(envFromExe);
const fromRun = readText(envFromRun);
const fromExe = readOutput(envFromExe);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The exe output won't have the debug message to filter out.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The output still needs to be stripped from \r otherwise the output produces duplicate newlines.

const fromExe = readText(envFromExe);
const fromRun = readText(envFromRun);
const fromExe = readOutput(envFromExe);
const fromRun = readOutput(envFromRun);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With my other suggestion, this becomes readText(envFromRun).filterCompilerDebugMsg

@rainers
Copy link
Member Author

rainers commented Aug 9, 2019

https://dev.azure.com/dlanguage/dmd/_build/results?buildId=3982&view=logs&jobId=995050be-48e9-58a0-3553-d9a547fe6c20&taskId=3bcde2a0-396a-5c5e-c7d5-d0568bb0ee4b&lineStart=4296&lineEnd=4297&colStart=1&colEnd=1:

std.net.curl.CurlTimeoutException@std\net\curl.d(4361): Timeout was reached on handle 1F09243AE00
----------------
0x00007FF69BFECBDC in std.exception.bailOut!(std.net.curl.CurlTimeoutException).bailOut

Does anyone know how libcurl.dll is built? It seems broken since dmd 2.072, earlier versions work. Also the DLL from LDC is ok. @MartinNowak ?

@rainers
Copy link
Member Author

rainers commented Aug 9, 2019

See dlang/phobos#7126 for the std.math failures:

core.exception.AssertError@std\math.d(5701): unittest failure
----------------
0x00007FF69C27CE72 in d_unittestp
0x00007FF69AC73391 in std.math.__unittest_L5686_C7 at D:\a\1\phobos\std\math.d(5704)

@wilzbach
Copy link
Contributor

wilzbach commented Aug 9, 2019

Does anyone know how libcurl.dll is built? It seems broken since dmd 2.072, earlier versions work.

It's built at dlang/installer.

@wilzbach wilzbach added the Review:Blocking Other Work review and pulling should be a priority label Aug 11, 2019
@rainers
Copy link
Member Author

rainers commented Aug 11, 2019

It's built at dlang/installer.

Thanks, now I remember. It seems to be related to the version of libcurl: https://issues.dlang.org/show_bug.cgi?id=20120

@rainers
Copy link
Member Author

rainers commented Aug 18, 2019

Now using libcurl from https://ci.appveyor.com/project/4wil/installer/builds/26627815/artifacts for demonstration

@dlang-bot dlang-bot merged commit a9d73d6 into dlang:master Aug 20, 2019
if [ ! -f dmd2/README.TXT ]; then
download "http://downloads.dlang.org/releases/2.x/${HOST_DMD_VERSION}/dmd.${HOST_DMD_VERSION}.windows.7z" dmd2.7z
7z x dmd2.7z > /dev/null
download "https://ci.appveyor.com/api/buildjobs/nogriv1wq32h4jr0/artifacts/libcurl-7.65.3-WinSSL-zlib-x86-x64.zip" libcurl.zip
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This won't be available forever -> let's use a version from downloads.dlang.org

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-> #10326

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Merge:auto-merge Review:Blocking Other Work review and pulling should be a priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants