Feed Advanced Search

Aug 12 2018

Phyx added a comment to D3915: Updated PE linker, section alignment and cleanup..

@bgamari I have been spending the majority of my time on the I/O library. So I have reverted this patch to an earlier state that should be finished and want to get this one in for the next GHC for sure.

Aug 12 2018, 9:54 AM
Phyx retitled D3915: Updated PE linker, section alignment and cleanup. from [WIP] Updated PE linker, section alignment, TLSF2 memory allocator and cleanup. to Updated PE linker, section alignment and cleanup. (round 1).
Aug 12 2018, 9:51 AM
Phyx updated the diff for D3915: Updated PE linker, section alignment and cleanup..
  • adress comments and rebase
Aug 12 2018, 9:46 AM
Phyx updated the summary of D4229: ghc, ghc-pkg: use getExecutablePath on Windows when base >= 4.11.0.
Aug 12 2018, 7:19 AM
Phyx updated the summary of D4229: ghc, ghc-pkg: use getExecutablePath on Windows when base >= 4.11.0.
Aug 12 2018, 7:19 AM

Aug 11 2018

Phyx updated the diff for D4229: ghc, ghc-pkg: use getExecutablePath on Windows when base >= 4.11.0.
  • fix build issues and rebase
Aug 11 2018, 2:15 PM
Phyx commandeered D4229: ghc, ghc-pkg: use getExecutablePath on Windows when base >= 4.11.0.
Aug 11 2018, 1:20 PM
Phyx added a comment to D4997: Fix for #12714: Test T9405 fails on Windows..

Please inform me, if these 2 tests can be written with less redundandency.

Yes there is a way, see https://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests/Adding#Sampleoutputfiles

Aug 11 2018, 5:38 AM

Aug 5 2018

Phyx added a comment to D5046: Testsuite driver: fix encoding issue when calling ghc-pkg.

Curious that this wasn't caught before.

Aug 5 2018, 3:33 PM

Jul 30 2018

Phyx committed rGHCa7c8acda5c7a: GHC doesn't handle ./ prefixed paths correctly (#12674) (authored by RolandSenn).
GHC doesn't handle ./ prefixed paths correctly (#12674)
Jul 30 2018, 3:39 PM
Phyx closed D5009: GHC doesn't handle ./ prefixed paths correctly (#12674).
Jul 30 2018, 3:39 PM

Jul 29 2018

Phyx accepted D5009: GHC doesn't handle ./ prefixed paths correctly (#12674).

Thanks @RolandSenn

Jul 29 2018, 8:41 AM

Jul 28 2018

Phyx added inline comments to D5009: GHC doesn't handle ./ prefixed paths correctly (#12674).
Jul 28 2018, 4:04 PM

Jul 27 2018

Phyx requested changes to D4229: ghc, ghc-pkg: use getExecutablePath on Windows when base >= 4.11.0.

@alpmestan Thanks for picking it up again!

Jul 27 2018, 6:21 PM
Phyx requested changes to D5009: GHC doesn't handle ./ prefixed paths correctly (#12674).

Hi @RolandSenn Thanks for the patch! Just some minor changes and it should be good to go.

Jul 27 2018, 6:21 PM

Jul 26 2018

Phyx added a comment to D4229: ghc, ghc-pkg: use getExecutablePath on Windows when base >= 4.11.0.

@alpmestan what's the status of this? without it the fix for Trac #14460 is incomplete.

Jul 26 2018, 5:35 PM

Jul 20 2018

Phyx added a comment to D4997: Fix for #12714: Test T9405 fails on Windows..

Thanks for the patch @RolandSenn, however I don't quite get why this fixes the issue in the ticket? Correct me if I'm wrong but the ticket is about the ticky file being empty when the process is aborted.. E.g. a file flushing issue. The slashes in the Makefile should make no difference..

Jul 20 2018, 4:16 PM

Jul 18 2018

Phyx added a comment to D4967: Use a priority queue for Windows delays.

@Phyx should have a look at this. Also, can you run a benchmark? It's easy to make things theoretically faster but practically slower.

I believe there were people working on porting the IO manager to Windows which would presumably make this redundant, but I'm not sure what the status of those efforts is, perhaps @Phyx knows.

I cannot run a benchmark as I have no Windows machine. The pairing heap is simple enough that it shouldn't be (significantly) slower than even a list with just one or two elements. Since the order of (time and space) complexity is much better, that seems like a no-brainer. Note that this application is likely close to the worst case for an ordered list most of the time. Assuming delays are fairly evenly distributed, new delays are most likely to be added near the end of the list, meaning almost the entire spine has to be replaced for each added delay.

Jul 18 2018, 4:42 PM
Phyx added a comment to D4967: Use a priority queue for Windows delays.

@Phyx should have a look at this. Also, can you run a benchmark? It's easy to make things theoretically faster but practically slower.

Jul 18 2018, 4:42 PM
Phyx committed rGHCd0bbe1bf351c: stack: fix stack allocations on Windows (authored by Phyx).
stack: fix stack allocations on Windows
Jul 18 2018, 3:27 PM
Phyx committed rGHCb290f15c4d01: testsuite: force plugin tests sequentially on Windows. (authored by Phyx).
testsuite: force plugin tests sequentially on Windows.
Jul 18 2018, 3:27 PM
Phyx closed D4917: stack: fix stack allocations on Windows.
Jul 18 2018, 3:27 PM
Phyx closed D4918: testsuite: force plugin tests sequentially on Windows..
Jul 18 2018, 3:27 PM

Jul 14 2018

Phyx updated the diff for D4917: stack: fix stack allocations on Windows.

update comments

Jul 14 2018, 6:33 AM

Jul 11 2018

Phyx added a comment to D4917: stack: fix stack allocations on Windows.

Thanks for the comments! I'll update the comment when I get home tomorrow.

Jul 11 2018, 1:38 PM

Jul 10 2018

Phyx added a comment to D4917: stack: fix stack allocations on Windows.

Ping... Ideally this should be in 8.6 it's critical enough that without it we shouldn't even make windows 32 bit builds.. 64 we'll probably get away with for now as before..

Jul 10 2018, 11:30 AM

Jul 5 2018

Phyx added a comment to D4916: [WIP] function-section: enable on windows. needs tuning..

Hmm this is odd.. According to the logs harbormaster no longer shows the slowdown it did last time we enabled this. Should we try just enabling it again @bgamari?

Jul 5 2018, 11:59 AM
Phyx added a comment to D4915: split-obj: disable split-objects on Windows..
Jul 5 2018, 9:34 AM

Jul 3 2018

Phyx updated the diff for D4918: testsuite: force plugin tests sequentially on Windows..

correct issue number.

Jul 3 2018, 3:37 PM
Phyx updated the Trac tickets for D4918: testsuite: force plugin tests sequentially on Windows..
Jul 3 2018, 3:35 PM
Phyx updated the diff for D4918: testsuite: force plugin tests sequentially on Windows..

update comments

Jul 3 2018, 3:31 PM

Jul 2 2018

Phyx added inline comments to D4918: testsuite: force plugin tests sequentially on Windows..
Jul 2 2018, 3:08 PM
Phyx added a comment to D4917: stack: fix stack allocations on Windows.

It allocates nearly 18KB of spill slots for a simple 4 line function and doesn't even use it.

This is orthogonal to the issue at hand but terrible nevertheless. Do you know which function causes such terrible code generation? Perhaps GHC can do better here (or perhaps Cabal just needs some refactoring).

Jul 2 2018, 2:34 PM
Phyx added inline comments to D4918: testsuite: force plugin tests sequentially on Windows..
Jul 2 2018, 12:24 PM
Phyx added a comment to D4917: stack: fix stack allocations on Windows.

and as soon as I get the time I will look at the liveliness analysis. I find it highly unlikely that simple Cabal function requires ~2200 spill slots.

When you do open a ticket for this would you mind adding me in CC. I'm intrigued by this and would like to hear what caused this if it was a bug.

Jul 2 2018, 12:05 PM

Jul 1 2018

Phyx accepted D4883: testsuite: Add test for #15053.

lol, weird case, I guess the lexer already bails out here.

Jul 1 2018, 6:28 AM
Phyx updated the summary of D4917: stack: fix stack allocations on Windows.
Jul 1 2018, 6:14 AM
Phyx updated the summary of D4917: stack: fix stack allocations on Windows.
Jul 1 2018, 6:10 AM
Phyx updated the summary of D4917: stack: fix stack allocations on Windows.
Jul 1 2018, 6:03 AM
Phyx created D4918: testsuite: force plugin tests sequentially on Windows..
Jul 1 2018, 5:58 AM
Phyx created D4917: stack: fix stack allocations on Windows.
Jul 1 2018, 5:52 AM
Phyx created D4916: [WIP] function-section: enable on windows. needs tuning..
Jul 1 2018, 5:32 AM
Phyx created D4915: split-obj: disable split-objects on Windows..
Jul 1 2018, 5:24 AM

Jun 18 2018

Phyx added a comment to D4762: Fix gcc.exe: error: CreateProcess: No such file or directory.

@bgamari what's the timeline for updating the GCC toolchain for 8.6? I assume since you've already branched you're close to a release?

Jun 18 2018, 1:51 PM

Jun 16 2018

Phyx added a comment to D4762: Fix gcc.exe: error: CreateProcess: No such file or directory.

Opened a PR against the GCC8 release https://github.com/Alexpux/MINGW-packages/pull/3877

Jun 16 2018, 10:06 AM

Jun 14 2018

Phyx added a comment to D4762: Fix gcc.exe: error: CreateProcess: No such file or directory.
In D4762#133575, @Phyx wrote:

Actually, as of two days ago it's even simpler thanks to https://github.com/gcc-mirror/gcc/commit/39bc186ec4a2109b8572427ab0599973542d9c39

I believe the only thing needed now is to wrap end_outgoing_arg https://github.com/gcc-mirror/gcc/blob/39bc186ec4a2109b8572427ab0599973542d9c39/gcc/gcc.c#L4852 in the two stubs I mentioned above when it's making the call to store_arg. So the patch should be 4 lines.

Actually, unless I'm reading https://github.com/gcc-mirror/gcc/commit/39bc186ec4a2109b8572427ab0599973542d9c39 wrong. That thing does in fact fix the issue, specifically for L and I.

Interestingly the approach is somewhat similar to what I tired to hack up.

The %@{L*} spec should as far as I understand put all -L arguments into an @file if gcc was provided with one.

Jun 14 2018, 5:51 AM

Jun 13 2018

Phyx added a comment to D4762: Fix gcc.exe: error: CreateProcess: No such file or directory.

Actually, as of two days ago it's even simpler thanks to https://github.com/gcc-mirror/gcc/commit/39bc186ec4a2109b8572427ab0599973542d9c39

Jun 13 2018, 4:19 PM
Phyx committed rGHCcc78d25a2d81: testuite: remove strace call. (authored by Phyx).
testuite: remove strace call.
Jun 13 2018, 2:31 PM
Phyx added a comment to D4762: Fix gcc.exe: error: CreateProcess: No such file or directory.
In D4762#132039, @erikd wrote:

I would love to hear other suggestions on fixing this issue, because its killing us on the Cardano code base. We have a large number of PRs blocked because we can't build on Windows.

Jun 13 2018, 1:58 PM
Phyx added a comment to D4762: Fix gcc.exe: error: CreateProcess: No such file or directory.
In D4762#131532, @Phyx wrote:

I think this shouldn't be added for a number of reasons, among others:

  • You're now going to do several I/O calls extra for each compilation. This can be very expensive, especially on filesystems like NTFS that are slow for small file copies. Things get even worse for large files, and cross disk copies. E.g. For my my temp directory is on another disk. So I will always incur a large hit. The larger the library the larger the silent new wait time. If you don't think this is a problem, it is. This is why things like thin archives were invented for C compilers. And file copies with Directory always go through the GHC I/O manager. In other words, they are slow and there's no way the OS can ever optimize them.

Well, there's a reason why it's hidden behind a flag. As this only happens for rather dependency-complex packages, and cabal as well as stack allow to provide flags per package, this allows to only use this approach on the fat end.

  • And finally it also doesn't solve the issue where cc1 instead of collect2 overflows due to having too many -I. It doesn't even solve the linking problem completely, it doesn't account for import libraries or the fact that libraries don't always carry the lib prefix on Windows (So a dynamic way Windows build will immediately trigger the issue again.) It also doesn't solve the fact that user specified library directories can still trigger the issue.

Right, this is a rather poor and quick hack. I'd appreciate suggestions on how to improve this.

Let's please not add any more hacks to the code-base, especially when the fix is literally two lines upstream.
Since people seem reluctant to file bugs for GCC, I have gone ahead and done so https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86030

I'd be happy to fix this upstream as well, and if you can help me out a little where to look for what in gcc, that would be much appreciated. I agree with the sentiment thought; and I *have* patched llvm in the past precisely for this reason. This however still means we need to wait for gcc-9 until this fix is available, and as such compiling complex code bases on windows will be broken up to the first ghc release that ships with gcc-9, or am I missing something?

Jun 13 2018, 1:55 PM
Phyx added a comment to D4842: testsuite: Add Windows-specific output for T5611.

That's weird.. That seems to indicate it caught the exception on the IO manager thread while flushing the console output.
I guess because of the threadDelay the exception does happen inside the I/O manager thread. Don't know why it's propagated to the print code though..

Jun 13 2018, 1:35 PM

Jun 11 2018

Phyx added a comment to D3384: WIP: Implement string merging on Windows.

@bgamari it relies on gc-sections working, however do to Trac #15051 it may be time to see about getting split-sections and gc-sections working properly. On x64 it should be working just terribly slow, but my own binutils fork should be much faster. https://github.com/mistuke/binutils-gdb

Jun 11 2018, 12:55 PM
Phyx updated the Trac tickets for D4783: Improve error message when importing an unusable package (Trac #4806).
Jun 11 2018, 12:35 PM

Jun 1 2018

Phyx added a comment to D4762: Fix gcc.exe: error: CreateProcess: No such file or directory.

I think this shouldn't be added for a number of reasons, among others:

Jun 1 2018, 3:49 PM

May 28 2018

Phyx committed rGHC60fb2b2160aa: Clean up Windows testsuite failures (authored by Phyx).
Clean up Windows testsuite failures
May 28 2018, 2:13 PM
Phyx closed D4668: Clean up Windows testsuite failures.
May 28 2018, 2:13 PM
Phyx updated the summary of D4668: Clean up Windows testsuite failures.
May 28 2018, 2:13 PM
Phyx updated the diff for D4668: Clean up Windows testsuite failures.
  • rebase
May 28 2018, 2:13 PM
Phyx added a comment to D4668: Clean up Windows testsuite failures.

harbormaster just doesn't seem to want to build anymore. So I'll push these to just lower the number of failing tests.

May 28 2018, 1:36 PM
Phyx committed rGHC4778cba1dbb6: Fix 32 bit windows build (authored by Phyx).
Fix 32 bit windows build
May 28 2018, 1:30 PM
Phyx closed D4691: Fix 32 bit windows build.
May 28 2018, 1:30 PM
Phyx updated the diff for D4691: Fix 32 bit windows build.
  • remove tabs
May 28 2018, 1:26 PM

May 23 2018

Phyx added a comment to D4721: Fix a bug in SRT generation.

Results for the validate

May 23 2018, 10:59 AM
Phyx added a comment to D4721: Fix a bug in SRT generation.

I have a validate running. Will post the results when it finishes.

May 23 2018, 7:44 AM

May 21 2018

Phyx added a comment to D4668: Clean up Windows testsuite failures.
In D4668#130398, @Phyx wrote:

@bgamari the windows run failed with a connection error, I tried restarting it but now it's been stuck for days restarting.

I've tried kicking Phabricator. Indeed it seems that many things were inexplicably stuck. Hopefully things will now return to normal.

May 21 2018, 12:55 PM

May 20 2018

Phyx added a comment to D4668: Clean up Windows testsuite failures.

@bgamari the windows run failed with a connection error, I tried restarting it but now it's been stuck for days restarting.

May 20 2018, 5:13 PM

May 15 2018

Phyx updated the diff for D4693: Make finalizers more reliable..
  • rebase on master
May 15 2018, 5:46 PM
Phyx updated the summary of D4693: Make finalizers more reliable..
May 15 2018, 2:52 AM
Phyx added a comment to D4693: Make finalizers more reliable..

*sigh* the context diff is confusing it. I'll pick it out of my I/O manager tree and resubmit when I get home.

May 15 2018, 2:31 AM

May 14 2018

Phyx updated the diff for D4693: Make finalizers more reliable..
  • fix cleanup error
May 14 2018, 5:06 PM
Phyx added a reviewer for D4693: Make finalizers more reliable.: simonmar.
May 14 2018, 4:26 PM
Phyx updated the diff for D4693: Make finalizers more reliable..
  • add newlines
May 14 2018, 4:05 PM
Phyx created D4693: Make finalizers more reliable..
May 14 2018, 4:05 PM
Phyx updated the diff for D4668: Clean up Windows testsuite failures.
  • fix python output
May 14 2018, 2:33 PM
Phyx planned changes to D4668: Clean up Windows testsuite failures.

trace output python no good, fixup need

May 14 2018, 3:06 AM

May 13 2018

Phyx added a comment to D4668: Clean up Windows testsuite failures.

@bgamari hold off a bit on that :) there are two tests I don't want to disable so I added some more debug statement so I can figure out what's going on.

May 13 2018, 10:26 AM
Phyx added a comment to D4691: Fix 32 bit windows build.

Looks reasonable to me. However, I'm not sure whether the build failures are due to this patch. I haven't seen these particular failures lately.

May 13 2018, 10:12 AM
Phyx created D4691: Fix 32 bit windows build.
May 13 2018, 4:32 AM

May 12 2018

Phyx updated the diff for D4668: Clean up Windows testsuite failures.
  • Clean up testsuite
  • fix more test wibbles
May 12 2018, 10:27 AM
Phyx added a comment to rGHCcb5c2fe87596: Fix unwinding of C -> Haskell FFI calls with -threaded.

:( Sorry about that, I will revert.

May 12 2018, 10:27 AM
Phyx added a comment to D4668: Clean up Windows testsuite failures.

Windows and OSX builds are dead due to D4666

May 12 2018, 6:33 AM
Phyx raised a concern with rGHCcb5c2fe87596: Fix unwinding of C -> Haskell FFI calls with -threaded.

This commit has killed the Windows and OSX targets.

May 12 2018, 6:33 AM
Phyx updated the diff for D4668: Clean up Windows testsuite failures.
  • rebase
  • fix more test wibbles
  • add debug output when pre_cmd fails.
May 12 2018, 3:58 AM
Phyx removed a parent revision for D4668: Clean up Windows testsuite failures: D4667: Fix testsuite runs by expanding tooldir.
May 12 2018, 3:58 AM
Phyx added a comment to D4686: Expand $tooldir in ghc --info output.

@alpmestan I've committed it so I can rebase the other patch that depends on this. Thanks!

May 12 2018, 3:58 AM
Phyx removed a child revision for D4667: Fix testsuite runs by expanding tooldir: D4668: Clean up Windows testsuite failures.
May 12 2018, 3:58 AM
Phyx committed rGHC2323ffdd5523: Adds CTRL-C handler in Windows's timeout (trac issue #12721) (authored by Azel).
Adds CTRL-C handler in Windows's timeout (trac issue #12721)
May 12 2018, 3:13 AM
Phyx committed rGHC37810347dfed: Expand $tooldir in ghc --info output (authored by alpmestan).
Expand $tooldir in ghc --info output
May 12 2018, 3:12 AM
Phyx closed D4631: Adds CTRL-C handler in Windows's timeout (trac issue #12721).
May 12 2018, 3:12 AM
Phyx closed D4686: Expand $tooldir in ghc --info output.
May 12 2018, 3:12 AM
Phyx accepted D4631: Adds CTRL-C handler in Windows's timeout (trac issue #12721).

Alright, thanks @Azel! Looks good to me.

May 12 2018, 2:24 AM

May 11 2018

Phyx abandoned D4667: Fix testsuite runs by expanding tooldir.

Superceded by D4686

May 11 2018, 8:00 PM
Phyx accepted D4686: Expand $tooldir in ghc --info output.

Alright, this looks good to me and avoids the unsafePerformIO. Thanks @alpmestan

May 11 2018, 7:59 PM
Phyx added a comment to D4667: Fix testsuite runs by expanding tooldir.

If you have a pure version that works I'd be happy to take it over this
one.

May 11 2018, 6:39 AM

May 10 2018

Phyx added a comment to D4683: Force findPtr to be included in the binary.

Ah ok, that explains it. It seemed very strange to get an interface error from a new symbol

May 10 2018, 3:49 AM
Phyx requested changes to D4631: Adds CTRL-C handler in Windows's timeout (trac issue #12721).

Oops, weird didn't get an email for this till now... No no objections. Looks good to me, thanks @Azel .

May 10 2018, 3:48 AM

May 9 2018

Phyx added a comment to D4679: RTS: Auto-size the allocation area depending on CPU cache size.

Ok, the 32-bit Windows build seems broken currently, not due to your changes though. I'll have to fix that before we can validate yours.

May 9 2018, 5:36 PM
Phyx accepted D4683: Force findPtr to be included in the binary.

Thanks @simonmar ! I'm not sure what those backpack failures are about.. but they seem unrelated.

May 9 2018, 4:59 PM
Phyx added inline comments to D4679: RTS: Auto-size the allocation area depending on CPU cache size.
May 9 2018, 1:32 PM
Phyx added a comment to D4679: RTS: Auto-size the allocation area depending on CPU cache size.

@sjakobi I'll start the 32 bit build for you to check the APIs, but some of these new allocation numbers are off the chart...

May 9 2018, 12:38 PM