
Hi all, It seems that a patch breaking master for DEBUG-enabled builds has snuck into `master`. I'm currently working on fixing the issue but in the meantime the issue can be worked around by reverting accbc242e555822a2060091af7188ce6e9b0144e. Cheers, - Ben

| meantime the issue can be worked around by reverting
| accbc242e555822a2060091af7188ce6e9b0144e.
Alas, not so.
git revert accbc242e555822a2060091af7188ce6e9b0144e
warning: Failed to merge submodule utils/haddock (commits don't follow merge-base)
error: could not revert accbc242e5... DynFlags: disentangle Outputable
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
| -----Original Message-----
| From: ghc-devs

Simon Peyton Jones
| meantime the issue can be worked around by reverting | accbc242e555822a2060091af7188ce6e9b0144e.
Alas, not so.
git revert accbc242e555822a2060091af7188ce6e9b0144e warning: Failed to merge submodule utils/haddock (commits don't follow merge-base) error: could not revert accbc242e5... DynFlags: disentangle Outputable hint: after resolving the conflicts, mark the corrected paths hint: with 'git add <paths>' or 'git rm <paths>' hint: and commit the result with 'git commit'
Sigh, yes, this is what I was afraid of. Strangely, Hadrian's validate flavour doesn't appear to be affected by the issue that you reported. Are you using the make build system by any chance? Cheers, - Ben

Ben Gamari
Simon Peyton Jones
writes: | meantime the issue can be worked around by reverting | accbc242e555822a2060091af7188ce6e9b0144e.
Alas, not so.
git revert accbc242e555822a2060091af7188ce6e9b0144e warning: Failed to merge submodule utils/haddock (commits don't follow merge-base) error: could not revert accbc242e5... DynFlags: disentangle Outputable hint: after resolving the conflicts, mark the corrected paths hint: with 'git add <paths>' or 'git rm <paths>' hint: and commit the result with 'git commit'
Sigh, yes, this is what I was afraid of. Strangely, Hadrian's validate flavour doesn't appear to be affected by the issue that you reported. Are you using the make build system by any chance?
Strangely, `./validate --legacy --slow` also appears to work fine for me on 55fd1dc55990623dcf3b2e6143e766242315d757. Simon, can you describe how you were previously building GHC? Cheers, - Ben

| Strangely, `./validate --legacy --slow` also appears to work fine for
| me
| on 55fd1dc55990623dcf3b2e6143e766242315d757.
|
| Simon, can you describe how you were previously building GHC?
./validate --legacy --fast
with this validate.mk (below).
But the issue is terribly simple: assertPprPanic is used (by ASSERT), but no longer imported (by many many modules) because they previously got it from Outputable. How can this possibly work? It certainly doesn't for me.
Would it be possible to revert the patch that broke this? I'm fully stalled with no workaround.
Thanks
Simon
SRC_HC_OPTS = -O -H64m
GhcStage1HcOpts = -DDEBUG
GhcStage2HcOpts = -dcore-lint -ticky
GhcLibHcOpts = -O -dcore-lint -ticky
BUILD_PROF_LIBS = NO
SplitSections = NO
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
BUILD_SPHINX_PDF = NO
BUILD_MAN = NO
LAX_DEPENDENCIES = YES
| -----Original Message-----
| From: Ben Gamari

I can't reproduce the issue. Is it on a specific branch? If it's in a branch with new ASSERTs, you should just have to import GHC.Utils.Panic to fix the issue or is there something else? Sylvain On 19/08/2020 10:24, Simon Peyton Jones via ghc-devs wrote:
| Strangely, `./validate --legacy --slow` also appears to work fine for | me | on 55fd1dc55990623dcf3b2e6143e766242315d757. | | Simon, can you describe how you were previously building GHC?
./validate --legacy --fast
with this validate.mk (below).
But the issue is terribly simple: assertPprPanic is used (by ASSERT), but no longer imported (by many many modules) because they previously got it from Outputable. How can this possibly work? It certainly doesn't for me.
Would it be possible to revert the patch that broke this? I'm fully stalled with no workaround.
Thanks
Simon
SRC_HC_OPTS = -O -H64m GhcStage1HcOpts = -DDEBUG GhcStage2HcOpts = -dcore-lint -ticky GhcLibHcOpts = -O -dcore-lint -ticky
BUILD_PROF_LIBS = NO SplitSections = NO HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO BUILD_SPHINX_PDF = NO BUILD_MAN = NO
LAX_DEPENDENCIES = YES
| -----Original Message----- | From: Ben Gamari
| Sent: 18 August 2020 20:04 | To: Simon Peyton Jones ; GHC developers | Subject: RE: Breakage on master | | Ben Gamari writes: | | > Simon Peyton Jones writes: | > | >> | meantime the issue can be worked around by reverting | >> | accbc242e555822a2060091af7188ce6e9b0144e. | >> | >> Alas, not so. | >> | >> git revert accbc242e555822a2060091af7188ce6e9b0144e | >> warning: Failed to merge submodule utils/haddock (commits don't | follow merge-base) | >> error: could not revert accbc242e5... DynFlags: disentangle | Outputable | >> hint: after resolving the conflicts, mark the corrected paths | >> hint: with 'git add <paths>' or 'git rm <paths>' | >> hint: and commit the result with 'git commit' | >> | > Sigh, yes, this is what I was afraid of. Strangely, Hadrian's | validate | > flavour doesn't appear to be affected by the issue that you | reported. | > Are you using the make build system by any chance? | > | Strangely, `./validate --legacy --slow` also appears to work fine for | me | on 55fd1dc55990623dcf3b2e6143e766242315d757. | | Simon, can you describe how you were previously building GHC? | | Cheers, | | - Ben _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

| > But the issue is terribly simple: assertPprPanic is used (by
| ASSERT), but no longer imported (by many many modules) because they
| previously got it from Outputable. How can this possibly work?
I believe that that the answer to my qn is "just import GHC.Utils.Panic".
More specifically, as part of your patch, in future, if you want to use ASSERTs you must
* BOTH #include HsVersions.h
* AND import GHC.Utils.Panic
and that you have added that extra import to the zillion existing modules that have an ASSERT.
I had not understood that change. I think all I need do is to add the extra import to my new modules in !3220.
It would be helpful to add a prominent comment in HsVersions.h.
I still wonder whether HsVersions.h could simply include 'import GHC.Utils.Panic' to save this clutter. But regardless, I think I'm unstuck now. Thanks
Simon
| -----Original Message-----
| From: ghc-devs
participants (3)
-
Ben Gamari
-
Simon Peyton Jones
-
Sylvain Henry