Windows/appveyor hang/crash related to unicode syntax and SPECIALIZE warning, GHC 8.4.4 and 8.6.5
Summary
GHC on Windows on the appveyor CI service gets stuck in a bad way building
text-printer-0.5, related
to a warning on a SPECIALIZE
pragma.
Compare https://github.com/mvv/text-printer/issues/1.
The warning output preceding the hang is as follows. (The replacement character is due to use of a literal alpha (α) in the source code, but does not appear to be involved in the bug.)
src\Text\Printer\Integral.hs:656:1: [;1mwarning:[;1m[;1m
Forall'd constraint `Ord �' is not bound in RULE lhs
Orig bndrs: [�, p, $dOrd_amc3, $dIntegral_amc4, $dPrinter_amc5]
Orig lhs: let {
$dPrinter_amcc :: Printer p
[LclId]
$dPrinter_amcc = $dPrinter_amc5 } in
let {
$dIntegral_amcb :: Integral �
[LclId]
$dIntegral_amcb = $dIntegral_amc4 } in
let {
$dPositionalSystem_amc9 :: PositionalSystem Binary
[LclId]
$dPositionalSystem_amc9
= Text.Printer.Integral.$fPositionalSystemBinary } in
let {
$dReal_aow8 :: Real �
[LclId]
$dReal_aow8 = GHC.Real.$p1Integral @ � $dIntegral_amc4 } in
let {
$dOrd_aowb :: Ord �
[LclId]
$dOrd_aowb = GHC.Real.$p2Real @ � $dReal_aow8 } in
let {
$dOrd_amca :: Ord �
[LclId]
$dOrd_amca = $dOrd_aowb } in
number'
@ Binary
@ �
@ p
$dPositionalSystem_amc9
$dOrd_amca
$dIntegral_amcb
$dPrinter_amcc
optimised lhs: number'
@ Binary
@ �
@ p
$dPositionalSystem_amc9
$dOrd_amca
$dIntegral_amc4
$dPrinter_amc5
The build completes fine after removing the redundant Ord constraint.
Steps to reproduce
Probably, it's enough to try building text-printer-0.5 on Windows. But the following is how I get it to fail:
- fork github.com/mvv/text-printer on github
- set up appveyor integration for that fork
- fetch and push the branch
windows-broken
from github.com/robx/text-printer
The build should get stuck (not fail) after printing the SPECIALIZE warning.
Expected behavior
The build should complete successfully.
Environment
- GHC version used: GHC 8.4.4, GHC 8.6.5
I used these by building with stackage lts-12.26 and lts-13.27.
Optional:
- Operating System: Windows
- System Architecture: x64 (appveyor platform field)