[GHC] #7549: Deriving Bug?
#7549: Deriving Bug? -+-- Reporter: davorak | Owner: Type: bug | Status: new Priority: normal| Component: Compiler Version: 7.4.2 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: None/Unknown | Blockedby: Blocking:|Related: -+-- ghci -XDeriveDataTypeable import Data.Typeable data S = S deriving (typeable) ghc: panic! (the 'impossible' happened) (GHC version 7.4.2 for x86_64-unknown-linux): nameModule typeable{tv av8} Please report ... data S = S deriving typeable causes a parse error and The following work just fine: data S = S deriving Typeable data S = S deriving (Typeable) data S = S deriving (show) causes a similar error the only change being: nameModule show{tv av8} The same problem exists outside of ghci when trying to compile with GHC. The ascii tree for the dependancies of the ghc install produced with nix-store -q --tree $(which ghc) /nix/store/gzb4pca6nnb16lw2mbmr68kx2vwx8q56-ghc-7.4.2-wrapper[[BR]] +---/nix/store/043zrsanirjh8nbc5vqpjn93hhrf107f-bash-4.2-p24[[BR]] | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13[[BR]] | | +---/nix/store/jfcs9xnfbmiwqs224sb0qqsybbfl3sab-linux- headers-2.6.35.14[[BR]] | | | +---/nix/store/jfcs9xnfbmiwqs224sb0qqsybbfl3sab-linux- headers-2.6.35.14 [...][[BR]] | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | +---/nix/store/043zrsanirjh8nbc5vqpjn93hhrf107f-bash-4.2-p24 [...][[BR]] +---/nix/store/858ww5lrjxca5asa79vwq5rm6m1h3q6k-ghc-7.4.2[[BR]] | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | +---/nix/store/043zrsanirjh8nbc5vqpjn93hhrf107f-bash-4.2-p24 [...][[BR]] | +---/nix/store/1iigiim5855m8j7pmwf5xrnpf705s4dh-binutils-2.21.1a[[BR]] | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | | +---/nix/store/i3mqzy76lf51v5zqxjxyvf11j25iwycd-zlib-1.2.7[[BR]] | | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | | | +---/nix/store/i3mqzy76lf51v5zqxjxyvf11j25iwycd-zlib-1.2.7 [...][[BR]] | | +---/nix/store/1iigiim5855m8j7pmwf5xrnpf705s4dh-binutils-2.21.1a [...][[BR]] | +---/nix/store/a9jvlnrva7vr1szbg6shpw6nr5xz898p-gmp-5.0.5[[BR]] | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | | +---/nix/store/4gv9gby4bn1y0rlw3k0d5lyqy0yfkrc6-gcc-4.6.3[[BR]] | | | +---/nix/store/jfcs9xnfbmiwqs224sb0qqsybbfl3sab-linux- headers-2.6.35.14 [...][[BR]] | | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | | | +---/nix/store/i3mqzy76lf51v5zqxjxyvf11j25iwycd-zlib-1.2.7 [...][[BR]] | | | +---/nix/store/4gv9gby4bn1y0rlw3k0d5lyqy0yfkrc6-gcc-4.6.3 [...][[BR]] | | +---/nix/store/a9jvlnrva7vr1szbg6shpw6nr5xz898p-gmp-5.0.5 [...][[BR]] | +---/nix/store/ahg5mlj2mlp7yfl3x875pq95ar763vgj-ncurses-5.9[[BR]] | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | | +---/nix/store/043zrsanirjh8nbc5vqpjn93hhrf107f-bash-4.2-p24 [...][[BR]] | | +---/nix/store/ahg5mlj2mlp7yfl3x875pq95ar763vgj-ncurses-5.9 [...][[BR]] | +---/nix/store/v4m3gahx1iz53v51rdinh0lcmipn1p4j-perl-5.14.2[[BR]] | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | | +---/nix/store/4gv9gby4bn1y0rlw3k0d5lyqy0yfkrc6-gcc-4.6.3 [...][[BR]] | | +---/nix/store/vpp6h8l3mzjdn5paziz31vk52pg73635-coreutils-8.15[[BR]] | | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | | | +---/nix/store/qh3l8f8369kvbhnkbwwnpaxayvnvi55v- acl-2.2.51[[BR]] | | | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | | | | +---/nix/store/jaabnv7dgxzvyhg0nxzk7xqs2qxp5rcy- attr-2.4.46[[BR]] | | | | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | | | | | +---/nix/store/jaabnv7dgxzvyhg0nxzk7xqs2qxp5rcy- attr-2.4.46 [...][[BR]] | | | | +---/nix/store/qh3l8f8369kvbhnkbwwnpaxayvnvi55v-acl-2.2.51 [...][[BR]] | | | +---/nix/store/vpp6h8l3mzjdn5paziz31vk52pg73635-coreutils-8.15 [...][[BR]] | | +---/nix/store/v4m3gahx1iz53v51rdinh0lcmipn1p4j-perl-5.14.2 [...][[BR]] | +---/nix/store/xl3kqxs68gzs4h309wjyd32im9n6cnyr-gcc- wrapper-4.6.3[[BR]] | | +---/nix/store/cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 [...][[BR]] | | +---/nix/store/043zrsanirjh8nbc5vqpjn93hhrf107f-bash-4.2-p24 [...][[BR]] | | +---/nix/store/1iigiim5855m8j7pmwf5xrnpf705s4dh-binutils-2.21.1a
Re: [GHC] #7549: Deriving Bug?
#7549: Deriving Bug? -+-- Reporter: davorak |Owner: Type: bug | Status: closed Priority: normal|Component: Compiler Version: 7.4.2 | Resolution: duplicate Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Blockedby:| Blocking: Related:| -+-- Changes (by monoidal): * status: new = closed * resolution: = duplicate Comment: Thanks for the report, the bug is already fixed in GHC 7.6 - bug #5961. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7549#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #7550: incorrect bang patterns rejected with report a ghc bug
#7550: incorrect bang patterns rejected with report a ghc bug --+- Reporter: aavogt | Owner: Type: bug| Status: new Priority: normal | Component: Compiler Version: 7.6.1 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect warning at compile-time | Blockedby: Blocking: |Related: --+- {{{ {-# LANGUAGE BangPatterns #-} data E a = E { e :: ! [] a } {- The current error given is not graceful: ghc: panic! (the 'impossible' happened) (GHC version 7.6.1 for x86_64-unknown-linux): tc_hs_type: bang Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug -} -- maybe there could be some suggestion that E should have been written data D a = D { d :: ! ([] a) } }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7550 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7550: incorrect bang patterns rejected with report a ghc bug
#7550: incorrect bang patterns rejected with report a ghc bug -+-- Reporter: aavogt|Owner: Type: bug | Status: closed Priority: normal|Component: Compiler Version: 7.6.1 | Resolution: duplicate Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Incorrect warning at compile-time Blockedby:| Blocking: Related:| -+-- Changes (by monoidal): * status: new = closed * resolution: = duplicate Comment: Thanks for the report. The bug is already fixed in HEAD, see #7210. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7550#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7192: Bug in -fregs-graph with -fnew-codegen
#7192: Bug in -fregs-graph with -fnew-codegen -+-- Reporter: simonmar | Owner: benl Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.7 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: 4258 Related:| -+-- Changes (by PHO): * cc: pho@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7192#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7503: Bug with PolyKinds, type synonyms GADTs
#7503: Bug with PolyKinds, type synonyms GADTs +--- Reporter: Ashley Yakeley | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.6.1 Keywords: | Os: Linux Architecture: x86_64 (amd64) | Failure: GHC rejects valid program Difficulty: Unknown |Testcase: Blockedby: |Blocking: Related: | +--- Changes (by simonpj): * difficulty: = Unknown Comment: Hmm. As stated, it fails both with `AW` and `AW'` in the commented line. But this simpler one fails: {{{ data Wrap a -- Wrap :: forall k. k - * data A a = MkA a (AW a) type AW a = A (Wrap a) type AW2 a = A (Wrap a) class C (a :: k) where aw :: AW a -- workaround: AW2 }}} With `AW` in the last line we get {{{ T7503.hs:15:14: The first argument of `AW' should have kind `*', but `a' has kind `k1' In the type `AW a' In the class declaration for `C' }}} Replacing with the identical (!) `AW2` makes it go through. Here is what is happening: * Type synonym `AW` and data type `A` are mutually recursive. * So they are kind-checked together, with `AW` being monomorphic. * `AW` is applied to `a::*` in the data type declaration of `A`, so `AW` ends up with kind `*-*`. * But that is insufficiently polymorphic for its use in the class declaration. * On the other hand `AW2` is not mutually recursive with `A`, so it is kind-checked after `A` is done, and gets the polymorphic kind `AW2 :: forall k. k - *`. Very similar things happen in the world of terms. We solve them by [http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type- extensions.html#typing-binds breaking the mutual recursion at a type signature], and in principle we could do the same here. After all, `A` is given a full kind signature. Still, it's not entirely trivial to implement. And we don't have a general mechanism for giving kind signatures; for example, how would you give a kind signature for a type synonym? Worth thinking about. But perhpas not urgent. Yell if it is hurting you. Simon -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7503#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7503: Bug with PolyKinds, type synonyms GADTs
#7503: Bug with PolyKinds, type synonyms GADTs --+- Reporter: Ashley Yakeley | Owner: Type: bug| Status: new Priority: normal | Component: Compiler (Type checker) Version: 7.6.1 | Keywords: Os: Linux | Architecture: x86_64 (amd64) Failure: GHC rejects valid program | Blockedby: Blocking: |Related: --+- Comment(by simonpj@…): commit 3394d49af13697626145aca6d80b65ae8661418c {{{ Author: Simon Peyton Jones simo...@microsoft.com Date: Wed Dec 19 17:37:27 2012 + Pass the correct inst_tys argument to dataConCannotMatch, in mkRecSelBinds This fixes Trac #7503. compiler/typecheck/TcTyClsDecls.lhs | 16 ++-- 1 files changed, 10 insertions(+), 6 deletions(-) }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7503#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #7503: Bug with PolyKinds, type synonyms GADTs
#7503: Bug with PolyKinds, type synonyms GADTs --+- Reporter: Ashley Yakeley | Owner: Type: bug| Status: new Priority: normal | Component: Compiler (Type checker) Version: 7.6.1 | Keywords: Os: Linux | Architecture: x86_64 (amd64) Failure: GHC rejects valid program | Blockedby: Blocking: |Related: --+- GHC incorrectly rejects this program: {{{ {-# LANGUAGE ExistentialQuantification, DataKinds, PolyKinds, KindSignatures, GADTs #-} module TestConstraintKinds where import GHC.Exts hiding (Any) data WrappedType = forall a. WrapType a data A :: WrappedType - * where MkA :: forall (a :: *). AW a - A (WrapType a) type AW (a :: k) = A (WrapType a) type AW' (a :: k) = A (WrapType a) class C (a :: k) where aw :: AW a -- workaround: AW' instance C [] where aw = aw }}} GHC accepts the program when AW is replaced with AW' on that line. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7503 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #7504: hackage vector package yields ghc bug on raspberry pi
#7504: hackage vector package yields ghc bug on raspberry pi -+-- Reporter: plaeremans| Owner: Type: bug | Status: new Priority: normal| Component: Compiler Version: 7.4.1 | Keywords: raspberry pi debian Os: Linux | Architecture: arm Failure: None/Unknown | Blockedby: Blocking:|Related: -+-- See output below, {{{ pieter@raspberrypi ~ $ cabal install vector Resolving dependencies... Configuring vector-0.10.0.1... Building vector-0.10.0.1... Preprocessing library vector-0.10.0.1... [ 1 of 19] Compiling Data.Vector.Storable.Internal ( Data/Vector/Storable/Internal.hs, dist/build/Data/Vector/Storable/Internal.o ) [ 2 of 19] Compiling Data.Vector.Fusion.Util ( Data/Vector/Fusion/Util.hs, dist/build/Data/Vector/Fusion/Util.o ) [ 3 of 19] Compiling Data.Vector.Fusion.Stream.Size ( Data/Vector/Fusion/Stream/Size.hs, dist/build/Data/Vector/Fusion/Stream/Size.o ) Data/Vector/Fusion/Stream/Size.hs:25:10: Warning: No explicit method nor default method for `*' In the instance declaration for `Num Size' Data/Vector/Fusion/Stream/Size.hs:25:10: Warning: No explicit method nor default method for `abs' In the instance declaration for `Num Size' Data/Vector/Fusion/Stream/Size.hs:25:10: Warning: No explicit method nor default method for `signum' In the instance declaration for `Num Size' [ 4 of 19] Compiling Data.Vector.Internal.Check ( Data/Vector/Internal/Check.hs, dist/build/Data/Vector/Internal/Check.o ) [ 5 of 19] Compiling Data.Vector.Fusion.Stream.Monadic ( Data/Vector/Fusion/Stream/Monadic.hs, dist/build/Data/Vector/Fusion/Stream/Monadic.o ) ghc: panic! (the 'impossible' happened) (GHC version 7.4.1 for arm-unknown-linux): Cant do annotations without GHCi {Data/Vector/Fusion/Stream/Monadic.hs:104:19-33} base:GHC.Exts.ForceSpecConstr{d ra42} Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7504 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7471: Documentation bug: hs_init is incorrectly called in the example
#7471: Documentation bug: hs_init is incorrectly called in the example -+-- Reporter: dsign | Owner: simonmar Type: bug | Status: new Priority: normal| Milestone: 7.6.2 Component: Documentation | Version: Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Documentation bug Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Changes (by simonmar): * owner: = simonmar * difficulty: = Unknown * milestone: = 7.6.2 Comment: Thanks, I'll fix that. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7471#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7471: Documentation bug: hs_init is incorrectly called in the example
#7471: Documentation bug: hs_init is incorrectly called in the example -+-- Reporter: dsign | Owner: simonmar Type: bug | Status: new Priority: normal| Milestone: 7.6.2 Component: Documentation | Version: Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Documentation bug Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Comment(by marlowsd@…): commit 250f02687eb6dc56394f1c6e9c4cc0aaa34b {{{ Author: Simon Marlow marlo...@gmail.com Date: Fri Dec 7 10:35:40 2012 + fix code in library initialisation example (#7471) docs/users_guide/ffi-chap.xml | 28 1 files changed, 16 insertions(+), 12 deletions(-) }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7471#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7471: Documentation bug: hs_init is incorrectly called in the example
#7471: Documentation bug: hs_init is incorrectly called in the example -+-- Reporter: dsign | Owner: simonmar Type: bug | Status: merge Priority: normal| Milestone: 7.6.2 Component: Documentation | Version: Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Documentation bug Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Changes (by simonmar): * status: new = merge -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7471#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7471: Documentation bug: hs_init is incorrectly called in the example
#7471: Documentation bug: hs_init is incorrectly called in the example +--- Reporter: dsign | Owner: simonmar Type: bug| Status: closed Priority: normal | Milestone: 7.6.2 Component: Documentation |Version: Resolution: fixed | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Documentation bug | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: +--- Changes (by igloo): * status: merge = closed * resolution: = fixed Comment: Merged as 723570dab0384e295ced98089703060fce52e616 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7471#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7342: Memory violation bug in System.Posix.Env.putEnv
#7342: Memory violation bug in System.Posix.Env.putEnv --+- Reporter: SimonHengel | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: libraries/unix |Version: 7.4.2 Resolution: fixed| Keywords: Os: Linux| Architecture: x86_64 (amd64) Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Changes (by igloo): * status: patch = closed * difficulty: = Unknown * resolution: = fixed Comment: Thanks for the patch! Applied to 7.6 as b95a003b20436863ef2f5fc01e6cd77f5bef94a0. Fixed in HEAD by: {{{ commit b6b5fcbfd39a69b914f6af931856ef5af63393fc Author: Ian Lynagh i...@well-typed.com Date: Sat Dec 1 22:28:50 2012 + Add newFilePath to System.Posix.Internals Needed for #7342 }}} {{{ commit 76dad7afeaef33576940b64a7b3be91d05434df5 Author: Ian Lynagh i...@well-typed.com Date: Sat Dec 1 22:31:48 2012 + Fix putenv; trac #7342 We were freeing the string, but the string becomes part of the environment. }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7342#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #7471: Documentation bug: hs_init is incorrectly called in the example
#7471: Documentation bug: hs_init is incorrectly called in the example --+- Reporter: dsign | Owner: Type: bug| Status: new Priority: normal | Component: Documentation Version: | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Documentation bug | Blockedby: Blocking: |Related: --+- In the page http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/ffi-ghc.html#ffi- library one of the examples in Using your own main() has some issues. See here http://stackoverflow.com/questions/13671429/is-this-typecast- correct/13671457#comment18765468_13671457 for more details. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7471 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7318: CONLIKE pragma documentation bug
#7318: CONLIKE pragma documentation bug +--- Reporter: acowley| Owner: igloo Type: bug| Status: closed Priority: normal | Milestone: 7.6.2 Component: Documentation |Version: 7.6.1 Resolution: fixed | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Documentation bug | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: +--- Changes (by igloo): * status: merge = closed * resolution: = fixed Comment: Merged as 003eb67f3380cd764d1bd6f94413eb0f062626b3 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7318#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7342: Bug in System.Posix.Env.putEnv
#7342: Bug in System.Posix.Env.putEnv -+-- Reporter: SimonHengel | Owner: Type: bug | Status: patch Priority: normal | Component: libraries/unix Version: 7.4.2| Keywords: Os: Linux| Architecture: x86_64 (amd64) Failure: Incorrect result at runtime | Testcase: Blockedby: | Blocking: Related: | -+-- Changes (by SimonHengel): * status: new = patch -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7342#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7342: Memory violation bug in System.Posix.Env.putEnv (was: Bug in System.Posix.Env.putEnv)
#7342: Memory violation bug in System.Posix.Env.putEnv -+-- Reporter: SimonHengel | Owner: Type: bug | Status: patch Priority: normal | Component: libraries/unix Version: 7.4.2| Keywords: Os: Linux| Architecture: x86_64 (amd64) Failure: Incorrect result at runtime | Testcase: Blockedby: | Blocking: Related: | -+-- -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7342#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7192: Bug in -fregs-graph with -fnew-codegen
#7192: Bug in -fregs-graph with -fnew-codegen -+-- Reporter: simonmar | Owner: benl Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.7 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: 4258 Related:| -+-- Comment(by simonmar): Aha! You're absolutely right, it's a bug, sorry about that. I'm validating a fix right now. I don't seem to be able to reproduce the original problem, but I've definitely fixed the missing `R1` dependency. I still think we need to look at the graph-colouring allocator though, because I think it is interacting badly with the code generated by the new code generator. The code I've seen doesn't look great. I'm leaving it turned off for the time being, and I'll make a separate ticket. If you could verify that you don't see the wrong answers any more after my patch, that would be great. Patch coming shortly... -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7192#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7192: Bug in -fregs-graph with -fnew-codegen
#7192: Bug in -fregs-graph with -fnew-codegen -+-- Reporter: simonmar | Owner: benl Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.7 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: 4258 Related:| -+-- Comment(by marlowsd@…): commit 4270d7e7485b124dd153399dfe3f571253dc0d1d {{{ Author: Simon Marlow marlo...@gmail.com Date: Tue Nov 13 11:43:09 2012 + Fix the Slow calling convention (#7192) The Slow calling convention passes the closure in R1, but we were ignoring this and hoping it would work, which it often did. However, this bug seems to have been the cause of #7192, because the graph-colouring allocator is more sensitive to having correct liveness information on jumps. compiler/cmm/CmmCallConv.hs |6 +++--- compiler/cmm/CmmParse.y |2 +- compiler/cmm/MkGraph.hs | 32 compiler/codeGen/StgCmmBind.hs | 21 +++-- compiler/codeGen/StgCmmExpr.hs |4 ++-- compiler/codeGen/StgCmmHeap.hs | 12 compiler/codeGen/StgCmmLayout.hs |2 +- 7 files changed, 30 insertions(+), 49 deletions(-) }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7192#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7192: Bug in -fregs-graph with -fnew-codegen
#7192: Bug in -fregs-graph with -fnew-codegen -+-- Reporter: simonmar | Owner: benl Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.7 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: 4258 Related:| -+-- Comment(by benl): On x86-32 compiling with the NCG with and without -fregs-graph causes a stack overflow in the compiled program, but with -fllvm it works fine. Maybe the register liveness determinator is broken, because this is used by both the linear and graph coloring allocators. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7192#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7192: Bug in -fregs-graph with -fnew-codegen
#7192: Bug in -fregs-graph with -fnew-codegen -+-- Reporter: simonmar | Owner: benl Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.7 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: 4258 Related:| -+-- Comment(by simonmar): @benl: are you saying the `dph-diophantine-opt` test is broken in master at the moment? -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7192#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7192: Bug in -fregs-graph with -fnew-codegen
#7192: Bug in -fregs-graph with -fnew-codegen -+-- Reporter: simonmar | Owner: benl Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.7 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: 4258 Related:| -+-- Comment(by benl): @simonmar: yes. It looks like the NCG (or something) is broken independently from the graph allocator. When compiling with -fllvm I get the right answer: {{{ desire:diophantine benl$ pwd /Users/benl/devel/ghc/ghc-head-devel/testsuite/tests/dph/diophantine desire:diophantine benl$ /Users/benl/devel/ghc/ghc-head-devel/inplace/bin /ghc-stage2 --version The Glorious Glasgow Haskell Compilation System, version 7.7.20121112 desire:diophantine benl$ /Users/benl/devel/ghc/ghc-head-devel/inplace/bin /ghc-stage2 \ -fforce-recomp -dcore-lint -dcmm-lint \ --make -o dph-diophantine-copy-fast Main \ -O -fno-enable-rewrite-rules -package dph-lifted-copy -fllvm desire:diophantine benl$ ./dph-diophantine-copy-fast (1260,[2,2,1,1,0]) (1260,[2,2,1,1,0]) (1260,fromListPArray [2,2,1,1,0]) }}} But with with NCG `-fno-regs-graph` it gives a different answer: {{{ desire:diophantine benl$ /Users/benl/devel/ghc/ghc-head-devel/inplace/bin /ghc-stage2 \ -fforce-recomp -dcore-lint -dcmm-lint \ --make -o dph-diophantine-copy-fast Main \ -O -fno-enable-rewrite-rules -package dph-lifted-copy -fno-regs-graph desire:diophantine benl$ ./dph-diophantine-copy-fast dph-diophantine-copy-fast: Prelude.minimum: empty list }}} Compiling in different ways by typing `make` in that same directory sometimes causes a stack overflow instead of `Prelude.minimum: empty list` I looked through the output assembly code but didn't find code code sequence in your initial report. My approach was to compile with `-ddump- cmmz-sp -ddump-to-file` then grep -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7192#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7192: Bug in -fregs-graph with -fnew-codegen
#7192: Bug in -fregs-graph with -fnew-codegen -+-- Reporter: simonmar | Owner: benl Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.7 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: 4258 Related:| -+-- Comment(by benl): ... (continued from previous)... the cmm code for the sequence you had. For this I compiled the Haskell code with `-Odph` to get array fusion and `-fregs-graph` to turn the graph allocator back on. {{{ desire:diophantine benl$ /Users/benl/devel/ghc/ghc-head-devel/inplace/bin /ghc-stage2 \ -fforce-recomp -dcore-lint -dcmm-lint --make -o dph-diophantine-copy \ Main -Odph -fregs-graph -package dph-lifted-copy \ -ddump-cmmz-sp -ddump-asm -ddump-to-file desire:diophantine benl$ ./dph-diophantine-copy Stack space overflow: current size 8388608 bytes. Use `+RTS -Ksize -RTS' to increase it. desire:diophantine benl$ grep -B 8 -A 16 if (Sp - 96 SpLim) \ DiophantineVect.dump-cmmz-sp dump-entry.cmm }}} From this I get about 12 blocks of cmm code that look like the one in your report. I checked the corresponding asm code and didn't see any register allocation problems. A few of the proc entry blocks assign to `%rbx`, but the original value this register had on entry to the proc is restored before issuing `jmp *-8(%r13)`, which I assume invokes the GC. However, I do notice that some of the calls to `stg_gc_fun` in the cmm code have `R1` arguments, and some don't. {{{ c1cr6: _s12rI::P64 = R6; _s12rF::I64 = R5; _s12rU::I64 = R4; _s12rA::I64 = R3; _s12rD::I64 = R2; _s12rZ::P64 = R1; if (Sp - 96 SpLim) goto c1crZ; else goto c1cs2; ... c1crZ: R1 = _s12rZ::P64; I64[Sp - 40] = _s12rD::I64; I64[Sp - 32] = _s12rA::I64; I64[Sp - 24] = _s12rU::I64; I64[Sp - 16] = _s12rF::I64; P64[Sp - 8] = _s12rI::P64; Sp = Sp - 40; call (stg_gc_fun)() args: 48, res: 0, upd: 8; *** no R1 argument here }}} But then: {{{ offset c1eWQ: _s17H9::P64 = R1; if (Sp - 96 SpLim) goto c1eXm; else goto c1eXl; ... c1eXm: R1 = _s17H9::P64; call (stg_gc_fun)(R1) args: 8, res: 0, upd: 8; *** got an R1 here }}} If `R1` needs to valid at *every* call to stg_gc_fun, then you need to pass it as an argument or the register liveness determinator will mark it as dead -- and no good will come from that. {{{ c1crZ: movq %vI_s12rZ,%rbx # born:%r1 # r_dying: %vI_s12rZ # w_dying: %r1 R1 dies here movq %vI_s12rD,-40(%rbp) # r_dying: %vI_s12rD movq %vI_s12rA,-32(%rbp) # r_dying: %vI_s12rA movq %vI_s12rU,-24(%rbp) # r_dying: %vI_s12rU movq %vI_s12rF,-16(%rbp) # r_dying: %vI_s12rF movq %vI_s12rI,-8(%rbp) # r_dying: %vI_s12rI addq $-40,%rbp jmp *-8(%r13) }}} If the `stg_gc_fun()` thing is correct then can you tell me how to find the assembly sequence in your initial report? I can hack on it this week. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7192#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7192: Bug in -fregs-graph with -fnew-codegen
#7192: Bug in -fregs-graph with -fnew-codegen -+-- Reporter: simonmar | Owner: benl Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.7 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: 4258 Related:| -+-- Comment(by benl): Yeah, if the liveness determinator can't see R1 being read in the block that calls stg_gc_fun, then it the allocator isn't obliged to preserve it's value across the jump. I think your original cmm code is malformed. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7192#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7369: Simplifier bug(?)
#7369: Simplifier bug(?) ---+ Reporter: sweirich | Owner: Type: bug | Status: closed Priority: normal| Milestone: Component: Compiler |Version: 7.6.1 Resolution: duplicate | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Other | Difficulty: Unknown Testcase:| Blockedby: Blocking:|Related: ---+ Comment(by sweirich): Ah, not a dup of #1495 (which related but uses newtypes and is reported fixed), but it is a duplicate of #5400 (which uses GADTs). Also related to #3872. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7369#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7369: Simplifier bug(?)
#7369: Simplifier bug(?) ---+ Reporter: sweirich | Owner: Type: bug | Status: closed Priority: normal| Milestone: Component: Compiler |Version: 7.6.1 Resolution: duplicate | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Other | Difficulty: Unknown Testcase:| Blockedby: Blocking:|Related: ---+ Comment(by sweirich): Replying to [comment:2 sweirich]: Ah, not a dup of #1495 (which related but uses newtypes and is reported fixed), but it is a duplicate of #5400 (which uses GADTs). Also related to #3872. Oops, I meant is a duplicate of #3872 and (perhaps) related to #5400. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7369#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7369: Simplifier bug(?)
#7369: Simplifier bug(?) ---+ Reporter: sweirich | Owner: Type: bug | Status: closed Priority: normal| Milestone: Component: Compiler |Version: 7.6.1 Resolution: duplicate | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Other | Difficulty: Unknown Testcase:| Blockedby: Blocking:|Related: ---+ Comment(by simonpj): Also #5448, #5722, #7057 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7369#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #7369: Simplifier bug(?)
#7369: Simplifier bug(?) --+- Reporter: sweirich | Owner: Type: bug | Status: new Priority: normal| Component: Compiler Version: 7.6.1 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Other | Testcase: Blockedby:| Blocking: Related:| --+- Not sure if it is really a bug. I was playing around with the following infinite loop in GHC 7.6: {{{ {-# LANGUAGE GADTs, KindSignatures #-} data False data I (c :: * - *) data R (c :: *) where R :: (a (I a) - False) - R (I a) delta :: R (I R) - False delta = \ (R f) - f (R f) omega :: False omega = delta (R delta) main :: IO () main = seq omega (return ()) }}} And I got the following result. It's supposed to be an infinite loop, though, so maybe it is ok. GHC 7.4 just hangs on this example. {{{ spaceman:haskell sweirich$ ghc inj4.hs [1 of 1] Compiling Main ( inj4.hs, inj4.o ) ghc: panic! (the 'impossible' happened) (GHC version 7.6.1 for i386-apple-darwin): Simplifier ticks exhausted When trying UnfoldingDone main:Main.$WR{v reV} [gid[DataConWrapper]] To increase the limit, use -fsimpl-tick-factor=N (default 100) If you need to do this, let GHC HQ know, and what factor you needed To see detailed counts use -ddump-simpl-stats Total ticks: 5160 Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7369 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7369: Simplifier bug(?)
#7369: Simplifier bug(?) ---+ Reporter: sweirich | Owner: Type: bug | Status: closed Priority: normal| Milestone: Component: Compiler |Version: 7.6.1 Resolution: duplicate | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Other | Difficulty: Unknown Testcase:| Blockedby: Blocking:|Related: ---+ Changes (by simonpj): * status: new = closed * difficulty: = Unknown * resolution: = duplicate Comment: I think this is a dup of GHC's russel-paradox bug: #1495. Re-open if you disagree. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7369#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7318: CONLIKE pragma documentation bug
#7318: CONLIKE pragma documentation bug -+-- Reporter: acowley | Owner: igloo Type: bug | Status: new Priority: normal| Milestone: 7.6.2 Component: Documentation | Version: 7.6.1 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Documentation bug Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Comment(by ian@…): commit e0c77c9f0729c105dddc5ce3fc79e117951719ba {{{ Author: Ian Lynagh i...@well-typed.com Date: Thu Oct 25 20:54:41 2012 +0100 Fix doc typo; fixes #7318 docs/users_guide/glasgow_exts.xml |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7318#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7318: CONLIKE pragma documentation bug
#7318: CONLIKE pragma documentation bug -+-- Reporter: acowley | Owner: igloo Type: bug | Status: merge Priority: normal| Milestone: 7.6.2 Component: Documentation | Version: 7.6.1 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Documentation bug Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Changes (by igloo): * status: new = merge Comment: Thanks for the report; fixed. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7318#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #7342: Bug in System.Posix.Env.putEnv
#7342: Bug in System.Posix.Env.putEnv -+-- Reporter: SimonHengel | Owner: Type: bug | Status: new Priority: normal | Component: libraries/unix Version: 7.4.2| Keywords: Os: Linux| Architecture: x86_64 (amd64) Failure: Incorrect result at runtime | Testcase: Blockedby: | Blocking: Related: | -+-- {{{putEnv}}} frees the marshaled string after calling {{{c_putenv}}}. This leads to unpredictable behavior, as the string becomes part of the environment and should not be freed. See [http://pubs.opengroup.org/onlinepubs/007908799/xsh/putenv.html SUSv2]: ... the string pointed to by string shall become part of the environment ... The issue is reproducible with the following QC property: {{{ import Test.QuickCheck import Test.QuickCheck.Property import System.Posix.Env import Data.IORef import qualified Data.Map as Map import Control.Applicative isValidKey :: String - Bool isValidKey k = '\NUL' `notElem` k '=' `notElem` k (not . null) k isValidValue :: String - Bool isValidValue v = '\NUL' `notElem` v (not . null) v main :: IO () main = do env' - getEnvironment = newIORef . Map.fromList quickCheck $ \k v - isValidKey k == isValidValue v == morallyDubiousIOProperty $ do putEnv (k ++ = ++ v) modifyIORef env' (Map.insert k v) (==) $ readIORef env' * (Map.fromList $ getEnvironment) }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7342 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7342: Bug in System.Posix.Env.putEnv
#7342: Bug in System.Posix.Env.putEnv -+-- Reporter: SimonHengel | Owner: Type: bug | Status: new Priority: normal | Component: libraries/unix Version: 7.4.2| Keywords: Os: Linux| Architecture: x86_64 (amd64) Failure: Incorrect result at runtime | Testcase: Blockedby: | Blocking: Related: | -+-- Comment(by SimonHengel): Changing {{{putEnv}}} to {{{ putEnv keyvalue = newCString keyvalue = throwErrnoIfMinus1_ putenv . c_putenv }}} fixes the issue. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7342#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7342: Bug in System.Posix.Env.putEnv
#7342: Bug in System.Posix.Env.putEnv -+-- Reporter: SimonHengel | Owner: Type: bug | Status: new Priority: normal | Component: libraries/unix Version: 7.4.2| Keywords: Os: Linux| Architecture: x86_64 (amd64) Failure: Incorrect result at runtime | Testcase: Blockedby: | Blocking: Related: | -+-- Comment(by SimonHengel): While looking at the code, I discovered an other minor issue. I opened a separate ticket for that (#7343). -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7342#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7318: CONLIKE pragma documentation bug
#7318: CONLIKE pragma documentation bug -+-- Reporter: acowley | Owner: igloo Type: bug | Status: new Priority: normal| Milestone: 7.6.2 Component: Documentation | Version: 7.6.1 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Documentation bug Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Changes (by igloo): * milestone: = 7.6.2 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7318#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7318: CONLIKE pragma documentation bug
#7318: CONLIKE pragma documentation bug -+-- Reporter: acowley | Owner: igloo Type: bug | Status: new Priority: normal| Milestone: Component: Documentation | Version: 7.6.1 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Documentation bug Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Changes (by simonpj): * owner: = igloo * difficulty: = Unknown Comment: Thanks! Ian: can you fix this please? Thanks. Simon -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7318#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #7318: CONLIKE pragma documentation bug
#7318: CONLIKE pragma documentation bug ---+ Reporter: acowley| Owner: Type: bug| Status: new Priority: normal | Component: Documentation Version: 7.6.1 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Documentation bug | Testcase: Blockedby: | Blocking: Related: | ---+ The documentation [http://www.haskell.org/ghc/docs/7.6.1/html/users_guide /rewrite-rules.html example], {{{ {-# INLINE[1] CONLIKE f #-} f x = blah }}} results in a parse error in 7.6.1, but is accepted if the pragma is instead written as {{{ {-# INLINE CONLIKE [1] #-} }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7318 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7192: Bug in -fregs-graph with -fnew-codegen
#7192: Bug in -fregs-graph with -fnew-codegen -+-- Reporter: simonmar | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.7 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: 4258 Related:| -+-- Comment(by marlowsd@…): commit 4f656e89e802f3238c5d6cf1cd9bc420cd7f42ff {{{ Author: Simon Marlow marlo...@gmail.com Date: Tue Aug 28 16:10:48 2012 +0100 disable -fregs-graph (#7192) compiler/main/DynFlags.hs |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7192#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7192: Bug in -fregs-graph with -fnew-codegen
#7192: Bug in -fregs-graph with -fnew-codegen -+-- Reporter: simonmar | Owner: benl Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.7 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: 4258 Related:| -+-- Changes (by benl): * owner: = benl -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7192#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: Type: bug | Status: closed Priority: high | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: fixed| Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Changes (by pcapriotti): * status: merge = closed * resolution: = fixed Comment: Merged as ef4218994742e8400a48b4d6e1ae7e6b67650dc4. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:45 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: patch Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Changes (by erikd): * status: new = patch -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:41 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: Type: bug | Status: new Priority: high | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Changes (by simonmar): * owner: igloo = * priority: normal = high * status: patch = new Comment: Nice catch! I'll push and try to get it merged into 7.6.1. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:42 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: Type: bug | Status: new Priority: high | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd@…): commit b4b78631890a4cd9cde1551de9a4440e7e750372 {{{ Author: Erik de Castro Lopo er...@mega-nerd.com Date: Thu Aug 23 20:39:47 2012 +1000 Fix for optimizer bug on linux-powerpc (#6156). compiler/nativeGen/PPC/CodeGen.hs |8 1 files changed, 4 insertions(+), 4 deletions(-) }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:43 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: Type: bug | Status: merge Priority: high | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Changes (by simonmar): * status: new = merge -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:44 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Thanks @simonmar, thats a good tip. Using the FFI: {{{ import Foreign.C.Types import Numeric foreign import ccall c_printInt64 printInt64 :: CLLong - IO () main :: IO () main = do printInt64 input putStrLn (showHex input ) input :: CLLong input = 0x1a2a3a4a5a6a7a8a }}} and compiled without optimisation I get: {{{ 1a2a3a4a5a6a7a8a 1a2a3a4a5a6a7a8a }}} and with optimisation I get: {{{ 7a8a 1a2a3a4a5a6a7a8a }}} which is weird in that the FFI version is incorrect, but only when optimisation is off. Modifying this example as: {{{ import Foreign.C.Types import Numeric foreign import ccall c_printInt64 printInt64 :: CLLong - IO () main :: IO () main = do printInt64 (succ input) putStrLn (showHex (succ input) ) input :: CLLong input = 0x1a2a3a4a5a6a7a8a }}} and then both the FFI and the pure Haskell version are incorrect with optimisation. This suggests that its actually a problem with the way 64 bit values are passed to functions. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:38 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by simonmar): Replying to [comment:38 erikd]: foreign import ccall c_printInt64 printInt64 :: CLLong - IO () Add unsafe here to make the generated code simpler. main :: IO () main = do printInt64 input putStrLn (showHex input ) suggest getting rid of the `putStrLn`, again to make things simpler. and compiled without optimisation I get: {{{ 1a2a3a4a5a6a7a8a 1a2a3a4a5a6a7a8a }}} and with optimisation I get: {{{ 7a8a 1a2a3a4a5a6a7a8a }}} which is weird in that the FFI version is incorrect, but only when optimisation is off. Did you mean to say ''on'' here? This suggests that its actually a problem with the way 64 bit values are passed to functions. Yes, probably. So now you have a very simple example that generates incorrect code and doesn't call any library functions, the bug must be somewhere in the generated code for this module. Compile it with -S and eyeball the assembly code. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:39 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Replying to [comment:39 simonmar]: which is weird in that the FFI version is incorrect, but only when optimisation is off. Did you mean to say ''on'' here? Yes. Simplifying the haskell code (adding unsafe as suggested): {{{ import Foreign.C.Types import Numeric foreign import ccall unsafe c_printInt64 printInt64 :: CLLong - IO () main :: IO () main = printInt64 input input :: CLLong input = 0x1a2a3a4a5a6a7a8a }}} compiles to the following ASM: {{{ Main.main1_info: _c1ni: lis 31, 0; r31 = 0 ori 31, 31, 31370; r31 |= 0x7a8a lis 30, 0; r30 = 0 ori 31, 31, 0; r30 |= 0 mr 3, 30; r3 = r30 mr 4, 31; r4 = r31 bl c_printInt64 lis 14, GHC.Tuple.()_closure+1@ha addi14, 14, GHC.Tuple.()_closure+1@l lwz 31, 0(22) mtctr 31 bctr }}} Obviously the generated code is wrong. Looking at the PPC code generator now. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:40 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Digging deeper: {{{ {-# LANGUAGE MagicHash #-} import GHC.Int import GHC.Word import GHC.IntWord64 import Numeric (showHex) main :: IO () main = putStrLn (showHex (wordToInt64 input) ) input :: Word64 input = 0x1a2a3a4a5a6a7a8a wordToInt64 :: Word64 - Int64 wordToInt64 (W64# x) = I64# (word64ToInt64# x) }}} also gives an incorrect result when optimisation is on. The `word64ToInt64#` is foreign imported as: {{{ foreign import ccall unsafe hs_word64ToInt64 word64ToInt64# :: Word64# - Int64# }}} and `hs_word64ToInt64` is defined in C as : {{{ HsInt64 hs_word64ToInt64 (HsWord64 w) {return (HsInt64) w;} }}} and testing that function in isolation in a small C program shows no problem. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:35 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): The CMM code generated on powerpc is identical to the CMM code generated on i386. That suggests that the problem is the powerpc specific CMM - ASM stage. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:36 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by simonmar): You could make the program even simpler by passing the result to a foreign-imported C function to print it out, instead of using `showHex`. Then you would be using no library code at all, and you should be able to trace through the assembly to figure out where something has gone wrong (unfortunatey I don't read PPC assembler so I'm no use here). -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:37 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): New example: {{{ import GHC.Word import Numeric main :: IO () main = putStrLn (showHex (incr (0xa1a2a3a4a5a6a7a8 :: Word64)) ) incr :: Word64 - Word64 incr x = x + 1 }}} results in the following optimised C-- code: {{{ c1PM: I32[Sp - 8] = stg_bh_upd_frame_info; I32[Sp - 4] = Hp - 4; I64[Sp - 16] = 1 :: W64; I64[Sp - 24] = 11647051513882650536 :: W64; Sp = Sp - 24; jump GHC.Word.$w$c+_info; // [] }}} which gets converted to the following assembler: {{{ _c1PM: lis 31, stg_bh_upd_frame_info@ha addi31, 31, stg_bh_upd_frame_info@l stw 31, -8(22) addi31, 25, -4 stw 31, -4(22) lis 31, 0 ori 31, 31, 1 lis 30, 0 ori 31, 31, 0 stw 31, -12(22) stw 30, -16(22) lis 31, 0 ori 31, 31, 42920 lis 30, 0 ori 31, 31, 0 stw 31, -20(22) stw 30, -24(22) addi22, 22, -24 b GHC.Word.$w$c+_info }}} The assembler looks correct suggesting that the only thing that could be going wrong is the function `GHC.Word.$w$c+_info`. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:34 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): I'll continuue gathering more data. Latest point of interest is this code: {{{ import GHC.Word import Numeric main :: IO () main = putStrLn (showHex (succ (0xa1a2a3a4 :: Word64)) ) }}} Compiled with `-O1 -fno-enable-rewrite-rules` this produces th correct result of `a1a2a3a5`, but just a plain `-O1` this results in: {{{ Enum.succ{Word64}: tried to take `succ' of maxBound }}} which is rather weird. Its complaining about the least significant Word32 of the Word64 being equal to maxBound (which I'm assuming is the 32 bit maxBound). Something there seems very wrong. I've been looking at a lot of the dump files as well. In the case of the code above, I've been looking for invocations of `succ` and get for instance this in `dump-prep`: {{{ Main.main_w :: GHC.Word.Word64 [GblId, Caf=NoCafRefs, Unf=OtherCon []] Main.main_w = GHC.Word.W64# (__word64 16) Main.main3 :: GHC.Word.Word64 [GblId] Main.main3 = GHC.Word.$w$csucc (__word64 11647051515398455295) Main.main2 :: GHC.Base.String [GblId] Main.main2 = Numeric.$wshowIntAtBase @ GHC.Word.Word64 GHC.Word.$fRealWord64 GHC.Word.$fIntegralWord64_$cquotRem GHC.Word.$fEnumWord64_$ctoInteger GHC.Word.$fShowWord64 Main.main_w GHC.Show.intToDigit Main.main3 (GHC.Types.[] @ GHC.Types.Char) }}} Debugging continues. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:31 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Similar to the case of `succ` in the previous comment `pred` also misbehaves. This: {{{ putStrLn (showHex (pred (0xa1a2a3a5 :: Word64)) ) }}} results in: {{{ Enum.pred{Word64}: tried to take `pred' of minBound }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:32 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Pulling `succ` out of the `Enum` typeclass into a standalone program we get: {{{ import GHC.Word import Numeric main :: IO () main = putStrLn (showHex (succWord64 (0xa1a2a3a3 :: Word64)) ) succWord64 :: Word64 - Word64 succWord64 x = if x /= (0x::Word64) then x + 1 else error succWord64 }}} It still works correctly without optimisation and fails with it. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:33 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: igloo Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Changes (by simonpj): * owner: pcapriotti = igloo Comment: Ian will work with erikd to figure out what is happening here. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:30 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Another example program which produces different results optimised vs un- optimised: {{{ import GHC.Word main :: IO () main = print (input, input + 1) input :: Word64 input = 0xa1a2a3a4a5a6a7a8 }}} In this case word64ToWord does not get called and neither does quotRem. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:29 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): The program also gives the different result (optimised vs unoptimised) on powerpc: {{{ import GHC.Word main :: IO () main = putStrLn $ show $ quotRem input 1 input :: Word64 input = 0xa1a2a3a4a5a6a7a8 }}} but gives the correct answer on i386 and x86-64. In previous tests, the optimised version of the program calls `quotRem` and the unoptimised version does not. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:28 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Have some time to work on this again. The problem revolves around the following function: {{{ word64ToWord32 :: Word64 - Word32 word64ToWord32 (W64# x) = W32# (word64ToWord# x) }}} where `word64ToWord#` is defined in `libraries/ghc-prim/GHC/IntWord64.hs` as: {{{ foreign import ccall unsafe hs_word64ToWord word64ToWord# :: Word64# - Word# }}} and `hs_word64ToWord` is defined `libraries/ghc-prim/cbits/longlong.c` as: {{{ HsWord hs_word64ToWord (HsWord64 w) {return (HsWord) w;} }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:26 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7088: Float-in bug
#7088: Float-in bug -+-- Reporter: simonpj | Owner: Type: bug | Status: new Priority: normal| Milestone: Component: Compiler | Version: 7.4.2 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Comment(by simonpj@…): commit b498b9983b75b8b7c3a365c1b44e85cbddd09648 {{{ Author: Simon Peyton Jones simo...@microsoft.com Date: Mon Jul 23 17:29:07 2012 +0100 Fix a subtle float-in bug This patch makes fiExpr (AnnLam ...) noFloatIntoExpr (AnnLam ...) line up with each other. Previously they behaved inconsistently with bad results. The details are in Trac #7088.There's a regression test in simplCore/should_compile/T7088 compiler/simplCore/FloatIn.lhs | 24 +--- 1 files changed, 13 insertions(+), 11 deletions(-) }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7088#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7088: Float-in bug
#7088: Float-in bug -+-- Reporter: simonpj | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler|Version: 7.4.2 Resolution: fixed | Keywords: Os: Unknown/Multiple| Architecture: Unknown/Multiple Failure: None/Unknown| Difficulty: Unknown Testcase: simplCore/should_compile/T7088 | Blockedby: Blocking: |Related: -+-- Changes (by simonpj): * status: new = closed * testcase: = simplCore/should_compile/T7088 * resolution: = fixed -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7088#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #7088: Float-in bug
#7088: Float-in bug -+-- Reporter: simonpj | Owner: Type: bug | Status: new Priority: normal| Milestone: Component: Compiler | Version: 7.4.2 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Consider {{{ let m = e foo = \(s:State) (x:Int). body in ...(foo s x)... }}} Then `loatIn.noFloatIntoRhs` will say `False`, because the top-level lambda is oneshot But the attempt to float into the lambda-group will fail, leaving {{{ foo = let m = e in \s x. body }}} That changes foo’s arity, which is bad. Moreover, m might have been marked “demanded” in the original program, by the clever strictness analyser. Then the Simplifier will not float the m-binding back out of ‘foo’, because it thinks that might make it lazier. So then the Simplifier leaves the m-binding in foo’s RHS, and then eta- expands it, giving {{{ foo = \s. let m = e in \x. body }}} which is very bad: {{{ *** Core Lint errors : in result of Simplifier *** {-# LINE 11 Float.hs #-}: Warning: [RHS of f_snv :: GHC.Prim.State# GHC.Prim.RealWorld - GHC.Types.Int - (# GHC.Types.Int, GHC.Prim.State# GHC.Prim.RealWorld #)] Demand type has 2 arguments, rhs has 1 arguments, f_snv Binder's strictness signature: DmdType LL *** Offending Program *** }}} It's hard to trigger this bug but Geoff managed to, and this code does it: {{{ {-# LANGUAGE MagicHash, UnboxedTuples #-} module Float where import GHC.Prim foo vs = let w = if length (reverse vs) 10 then Just (length vs) else Nothing f :: State# RealWorld - Int - (# Int, State# RealWorld #) f s x | Just 0 - w = case f s (x+1) of (# r, s' #) - (# r, s' #) | otherwise = (# x, s #) in f realWorld# 1 }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7088 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #7078: Requested to report bug as below.
#7078: Requested to report bug as below. ---+ Reporter: NeilJ | Owner: Type: bug| Status: new Priority: normal | Component: Compiler Version: 7.4.1 | Keywords: Os: Unknown/Multiple | Architecture: x86 Failure: GHC rejects valid program | Testcase: Blockedby: | Blocking: Related: | ---+ ghc: panic! (the 'impossible' happened) (GHC version 7.4.1 for i386-unknown-linux): DsMonad: uninitialised ds_parr_bi Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7078 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7069: precision/rounding bug with floating point numbers on 32-bit-platforms
#7069: precision/rounding bug with floating point numbers on 32-bit-platforms --+- Reporter: shahn| Owner: simonmar Type: bug | Status: closed Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.2 Resolution: wontfix | Keywords: Float Double 32 precision rounding Os: Unknown/Multiple | Architecture: x86 Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by maeder): Is it possible to set the FLDCW floating-point load control-word as described in http://www.network- theory.co.uk/docs/gccintro/gccintro_70.html? -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7069#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7069: precision/rounding bug with floating point numbers on 32-bit-platforms
#7069: precision/rounding bug with floating point numbers on 32-bit-platforms --+- Reporter: shahn| Owner: simonmar Type: bug | Status: closed Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.2 Resolution: wontfix | Keywords: Float Double 32 precision rounding Os: Unknown/Multiple | Architecture: x86 Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by simonmar): Replying to [comment:5 maeder]: Is it possible to set the FLDCW floating-point load control-word as described in http://www.network- theory.co.uk/docs/gccintro/gccintro_70.html? As it happens I considered that back in 2003(!) and wrote a comment about it: [https://github.com/ghc/ghc/blob/f857f0741515b9ebf186beb38fe64448de355817/compiler/nativeGen/X86/Instr.hs#L106 this comment] -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7069#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7069: precision/rounding bug with floating point numbers on 32-bit-platforms
#7069: precision/rounding bug with floating point numbers on 32-bit-platforms --+- Reporter: shahn| Owner: simonmar Type: bug | Status: closed Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.2 Resolution: wontfix | Keywords: Float Double 32 precision rounding Os: Unknown/Multiple | Architecture: x86 Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by maeder): Maybe it is enough that (true) floating point arithmetic yields non- deterministic results. The problem here regards equality, which need not be the same as a - b == 0. So if we implement {{{ a == b = show a == show b }}} (or more efficiently using rounding) then this better reflects the data model, i.e. for set instances (and the expected behavior for this ticket). Yet, almost all number laws are broken, i.e. {{{ a == b == a - b == 0 }}} But maybe this is more acceptable (with a broken FPU). The difference between the equal values 0.65999289 and 0.65999289 (of the given example) happens to be 5.551115123125783e-17 (so is clearly visible as Double). -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7069#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7078: Requested to report bug as below.
#7078: Requested to report bug as below. -+-- Reporter: NeilJ | Owner: chak Type: bug | Status: new Priority: normal| Milestone: Component: Compiler | Version: 7.4.1 Keywords:| Os: Unknown/Multiple Architecture: x86 | Failure: GHC rejects valid program Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Changes (by simonpj): * owner: = chak * difficulty: = Unknown -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7078#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7078: Panic using mixing list with parallel arrays incorrectly (was: Requested to report bug as below.)
#7078: Panic using mixing list with parallel arrays incorrectly -+-- Reporter: NeilJ | Owner: chak Type: bug | Status: new Priority: normal| Milestone: Component: Compiler | Version: 7.4.1 Keywords:| Os: Unknown/Multiple Architecture: x86 | Failure: Compile-time crash Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Changes (by chak): * failure: GHC rejects valid program = Compile-time crash Comment: GHC shouldn't panic, but instead give a proper error message, but the definition of transpose in Handy.hs is incorrect. It uses list pattern matching with `(:)` for parallel arrays. That is impossible as they are not inductively defined. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7078#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7069: precision/rounding bug with floating point numbers on 32-bit-platforms
#7069: precision/rounding bug with floating point numbers on 32-bit-platforms ---+ Reporter: shahn | Owner: simonmar Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler| Version: 7.4.2 Keywords: Float Double 32 precision rounding | Os: Unknown/Multiple Architecture: x86 | Failure: Incorrect result at runtime Difficulty: Unknown |Testcase: Blockedby: |Blocking: Related: | ---+ Changes (by simonmar): * owner: = simonmar * difficulty: = Unknown * milestone: = 7.6.1 Comment: I will document this bug. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7069#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7069: precision/rounding bug with floating point numbers on 32-bit-platforms
#7069: precision/rounding bug with floating point numbers on 32-bit-platforms ---+ Reporter: shahn | Owner: simonmar Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler| Version: 7.4.2 Keywords: Float Double 32 precision rounding | Os: Unknown/Multiple Architecture: x86 | Failure: Incorrect result at runtime Difficulty: Unknown |Testcase: Blockedby: |Blocking: Related: | ---+ Changes (by Khudyakov): * cc: alexey.skladnoy@… (added) Comment: I think it's duplicate of #5165 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7069#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7069: precision/rounding bug with floating point numbers on 32-bit-platforms
#7069: precision/rounding bug with floating point numbers on 32-bit-platforms ---+ Reporter: shahn | Owner: simonmar Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler| Version: 7.4.2 Keywords: Float Double 32 precision rounding | Os: Unknown/Multiple Architecture: x86 | Failure: Incorrect result at runtime Difficulty: Unknown |Testcase: Blockedby: |Blocking: Related: | ---+ Comment(by marlowsd@…): commit 43405edbe91d16b289948b9cf442e0bd1b33abdf {{{ Author: Simon Marlow marlo...@gmail.com Date: Fri Jul 13 10:23:12 2012 +0100 Document bug in the x86 NCG w.r.t. -fexcess-precision (#7069) docs/users_guide/bugs.xml | 30 ++ docs/users_guide/using.xml |8 2 files changed, 38 insertions(+), 0 deletions(-) }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7069#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #7069: precision/rounding bug with floating point numbers on 32-bit-platforms
#7069: precision/rounding bug with floating point numbers on 32-bit-platforms --+- Reporter: shahn| Owner: simonmar Type: bug | Status: closed Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.2 Resolution: wontfix | Keywords: Float Double 32 precision rounding Os: Unknown/Multiple | Architecture: x86 Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Changes (by simonmar): * status: new = closed * resolution: = wontfix Comment: Documented as a known bug, thanks. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7069#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #7069: precision/rounding bug with floating point numbers on 32-bit-platforms
#7069: precision/rounding bug with floating point numbers on 32-bit-platforms -+-- Reporter: shahn| Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.4.2| Keywords: Float Double 32 precision rounding Os: Unknown/Multiple | Architecture: x86 Failure: Incorrect result at runtime | Testcase: Blockedby: | Blocking: Related: | -+-- Comparing floating point numbers (Floats or Doubles, using (==)) that are constructed by equal terms sometimes evaluates to False. A term that produces normal floating point values (as opposed to NaN or Infinity) should always be equal to itself. This bug effectively breaks referential transparency. This bug occurs with ghc-7.4.2 when compiling with -O2 on 32-bit linux ubuntu-11.10. (I guess, it happens on all 32-bit platforms.) The attached file demonstrates the bug. Simon Marlow expressed his doubts, this bug will be fixed. See also: http://www.haskell.org/pipermail/glasgow-haskell- users/2012-July/thread.html#22565 Possible workarounds: * compile with -msse2 if available * use approximate equivalence -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7069 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by simonpj): Maybe use `-ddump-rule-firings` to see what rewrites are taking place? I think you are in charge here, erikd, thank you. Simon -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:25 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3940: Propagate bug fix into new code generator
#3940: Propagate bug fix into new code generator -+-- Reporter: simonpj | Owner: Type: bug | Status: new Priority: low | Milestone: 7.6.1 Component: Compiler | Version: Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Changes (by simonmar): * difficulty: = Unknown * blockedby: 4258 = Comment: The new codegen does not have this bug. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3940#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #3940: Propagate bug fix into new code generator
#3940: Propagate bug fix into new code generator ---+ Reporter: simonpj | Owner: Type: bug | Status: closed Priority: low | Milestone: 7.6.1 Component: Compiler |Version: Resolution: fixed | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: None/Unknown | Difficulty: Unknown Testcase:| Blockedby: Blocking:|Related: ---+ Changes (by simonmar): * status: new = closed * resolution: = fixed -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3940#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): I've been playing around with the various optimisation flags that GHC provides and found that my current test fails with an optimisation of `-O1` and passes with optimisation of `-O1 -fno-enable-rewrite-rules` suggesting the problem is likely being triggered by PowerPC specific code generation triggered by something the rewrite rules are doing. I'm now looking at the various dump outputs. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:23 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Slightly simplified test case (may not be as complete as the original), but which should make debugging easier is: {{{ {-# LANGUAGE MagicHash #-} import GHC.Base import GHC.Word import GHC.IntWord64 import Numeric (showHex) input :: Word64 input = 1238988323332265734 result :: Word32 result = case input of W64# x - W32# (word64ToWord# x) main :: IO () main = putStrLn $ Result 0x ++ showHex result }}} Compiling on PowerPC with `-O1` gives the correct result of `0xcd139706` and with `-O1 -fno-enable-rewrite-rule` gives an incorrect result of `0x9706`. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:24 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Now that I can compile git HEAD on PowerPC again, I can confirm that this problem is fixed in HEAD, but not fixed in 7.4.2. I'll see if I can figure out what it is that fixed this so we can patch 7.4.2 in Debian. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:20 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Oops, HEAD is also broken, it just gives a different incorrect result: {{{ ./camilla-test-std Camellia.fl 1238988323332265734 11185553392205053542 - 18360184157246690566 ./camilla-test-opt Camellia.fl 1238988323332265734 11185553392205053542 - 3698434091925017862 }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:21 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): Simplified test case for this bug: {{{ import Data.Bits import Data.Word w64tow32 :: Word64 - (Word32, Word32) w64tow32 w = (fromIntegral (w `shiftR` 32), fromIntegral (w .. 0x)) main :: IO () main = if w64tow32 1238988323332265734 == (288474448,3440613126) then putStrLn Pass else putStrLn Fail }}} Compling without optimisation (or with -O0) passes, with -O1 or above it fails. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:22 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by pcapriotti): @erikd: Sorry, I haven't actually reproduced the problem here (I don't have access a ppc machine at the moment). Did I understand correctly that the issue in the `Camellia` example in this ticket is fixed by the patch in #5900? I'm not sure why splitting it into two modules would make any difference there, though. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:18 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Comment(by erikd): @pcapriotti : No this issue is not fixed by the patch in #5900. The Debian Haskell Group hit this issue first with an unpatched (wrt #5900) version of ghc (7.4.1 I believe). I then tested it with 7.4.2 (which is patched wrt #5900) and ghc HEAD at the time. 7.4.2 displayed the problem and ghc HEAD did not. I was not able to figure out why 7.4.2 had a problem and HEAD did not. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:19 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc +--- Reporter: erikd|Owner: Type: bug | Status: closed Priority: normal |Component: Compiler Version: 7.4.1| Resolution: fixed Keywords: | Os: Linux Architecture: powerpc | Failure: Incorrect result at runtime Testcase: |Blockedby: Blocking: | Related: +--- Comment(by nomeata): Anything new on this front? This is currently preventing Debian wheezy from shipping with yesod. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Changes (by simonpj): * status: closed = new * difficulty: = Unknown * resolution: fixed = Comment: At the GHC end I think we are stalled awaiting a reproducible test case. Indeed the ticket is closed Do re-open if anyone can find one. Mind you, there is no regression test, which is bad. I'll re-open and assign to Paolo to add one. Is that OK Paolo? Need to test both with and without optimisation. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc --+- Reporter: erikd| Owner: pcapriotti Type: bug | Status: new Priority: normal | Milestone: Component: Compiler |Version: 7.4.1 Resolution: | Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Difficulty: Unknown Testcase: | Blockedby: Blocking: |Related: --+- Changes (by simonpj): * owner: = pcapriotti -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc +--- Reporter: erikd|Owner: Type: bug | Status: closed Priority: normal |Component: Compiler Version: 7.4.1| Resolution: fixed Keywords: | Os: Linux Architecture: powerpc | Failure: Incorrect result at runtime Testcase: |Blockedby: Blocking: | Related: +--- Comment(by nomeata): Replying to [comment:7 erikd]: Not sure what I did wrong the first time, but the fix for #5900 does indeed fix this problem. I wish you were right, but cryptocipher just failed to build on powerpc, using a patched GHC 7.4.1 that includes your patch (http://anonscm.debian.org/darcs/pkg-haskell/ghc/patches/fix-PPC-right- shift-bug to be precise), here is the build log: https://buildd.debian.org/status/fetch.php?pkg=haskell- cryptocipherarch=powerpcver=0.3.5-1stamp=1339953314 Any idea? -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc +--- Reporter: erikd|Owner: Type: bug | Status: closed Priority: normal |Component: Compiler Version: 7.4.1| Resolution: fixed Keywords: | Os: Linux Architecture: powerpc | Failure: Incorrect result at runtime Testcase: |Blockedby: Blocking: | Related: +--- Comment(by nomeata): Hi, as Debian cannot upgrade to ghc 7.4.2 at this stage (http://lists.debian.org/debian-haskell/2012/06/msg00038.html) we need to backport the fix to 7.4.1. If it is not the patch from #5900, what else is it? -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc +--- Reporter: erikd|Owner: Type: bug | Status: closed Priority: normal |Component: Compiler Version: 7.4.1| Resolution: fixed Keywords: | Os: Linux Architecture: powerpc | Failure: Incorrect result at runtime Testcase: |Blockedby: Blocking: | Related: +--- Comment(by nomeata): Replying to [comment:3 erikd]: Hmm, interesting! The patch from bug #5900 doesn't fix this. Now trying 7.4.2. Are you sure it does not fix it? I just read through the diff between 7.4.1 and 7.4.2, and could not find any other related code. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc +--- Reporter: erikd|Owner: Type: bug | Status: closed Priority: normal |Component: Compiler Version: 7.4.1| Resolution: fixed Keywords: | Os: Linux Architecture: powerpc | Failure: Incorrect result at runtime Testcase: |Blockedby: Blocking: | Related: +--- Comment(by erikd): Not sure what I did wrong the first time, but the fix for #5900 does indeed fix this problem. I'll update the debian packaging metadata for 7.4.1. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc +--- Reporter: erikd|Owner: Type: bug | Status: closed Priority: normal |Component: Compiler Version: 7.4.1| Resolution: fixed Keywords: | Os: Linux Architecture: powerpc | Failure: Incorrect result at runtime Testcase: |Blockedby: Blocking: | Related: +--- Changes (by erikd): * status: new = closed * resolution: = fixed Comment: Confirmed fixed in ghc 7.4.2. Closing this bug. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5683: bug in signum function
#5683: bug in signum function -+-- Reporter: tristes_tigres| Owner: Type: bug | Status: new Priority: normal| Milestone: 7.6.1 Component: Prelude | Version: 7.0.3 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Other Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Changes (by mihai.maruseac): * cc: mihai.maruseac@… (added) -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/5683#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5683: bug in signum function
#5683: bug in signum function -+-- Reporter: tristes_tigres| Owner: Type: bug | Status: new Priority: normal| Milestone: 7.6.1 Component: Prelude | Version: 7.0.3 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Other Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Comment(by simonmar): Isn't this the same as #3070? -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/5683#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5683: bug in signum function
#5683: bug in signum function -+-- Reporter: tristes_tigres| Owner: Type: bug | Status: new Priority: normal| Milestone: 7.6.1 Component: Prelude | Version: 7.0.3 Keywords:| Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Other Difficulty: Unknown |Testcase: Blockedby:|Blocking: Related:| -+-- Comment(by mihai.maruseac): It is. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/5683#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5683: bug in signum function
#5683: bug in signum function ---+ Reporter: tristes_tigres| Owner: Type: bug | Status: closed Priority: normal| Milestone: 7.6.1 Component: Prelude |Version: 7.0.3 Resolution: duplicate | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Other | Difficulty: Unknown Testcase:| Blockedby: Blocking:|Related: ---+ Changes (by simonmar): * status: new = closed * resolution: = duplicate -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/5683#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc -+-- Reporter: erikd| Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.4.1| Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Testcase: Blockedby: | Blocking: Related: | -+-- Found a small chunk of code in the cryptocipher package that when compiled and run, produces a difference result when optimised compared to compiling un-optimised. Note this is only a problem with PowerPC. On x86-64 there is no difference in the output between the optimised version and the un-optimised version. I have two simple files (Camellia.hs): {{{ module Camellia where import Data.Bits import Data.Word import Debug.Trace fl :: Word64 - Word64 - Word64 fl fin sk = let (x1, x2) = w64tow32 fin in let (k1, k2) = w64tow32 sk in let y2 = x2 `xor` ((x1 .. k1) `rotateL` 1) in let y1 = x1 `xor` (y2 .|. k2) in trace (show fin ++ ++ show sk ++ - ++ show (w32tow64 (y1, y2))) $ w32tow64 (y1, y2) w64tow32 :: Word64 - (Word32, Word32) w64tow32 w = (fromIntegral (w `shiftR` 32), fromIntegral (w .. 0x)) w32tow64 :: (Word32, Word32) - Word64 w32tow64 (x1, x2) = ((fromIntegral x1) `shiftL` 32) .|. (fromIntegral x2) }}} and a main program (camellia-test.hs): {{{ import Data.Word import qualified Camellia as Camellia a, b :: Word64 a = 1238988323332265734 b = 11185553392205053542 main :: IO () main = putStrLn $ Camellia.fl ++ show a ++ ++ show b ++ - ++ show (Camellia.fl a b) }}} I'm also using this Makefile: {{{ TARGETS = camilla-test-std camilla-test-opt check : $(TARGETS) ./camilla-test-std ./camilla-test-opt clean : make clean-temp-files rm -f $(TARGETS) clean-temp-files : rm -f camilla-test.o camilla-test.hi Camellia.o Camellia.hi camilla-test-opt : camilla-test.hs Camellia.hs ghc -Wall -O2 --make -i:Tests $ -o $@ make clean-temp-files camilla-test-std : camilla-test.hs Camellia.hs ghc -Wall --make -i:Tests $ -o $@ make clean-temp-files }}} When I run the two programs I get: {{{ ./camilla-test-std 1238988323332265734 11185553392205053542 - 18360184157246690566 Camellia.fl 1238988323332265734 11185553392205053542 - 18360184157246690566 ./camilla-test-opt 1238988323332265734 11185553392205053542 - 3698434091925017862 Camellia.fl 38662 15974 - 3698434091925017862 }}} So there are two problems here: a) Showing Word64 values is not working correctly in the optimised version. b) The function Camelia.fl produces the wrong result in the optimised version. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc -+-- Reporter: erikd| Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.4.1| Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Testcase: Blockedby: | Blocking: Related: | -+-- Comment(by erikd): Just tested this with GHC compiled from git HEAD and the optimised and un- optimised versions give the same results. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc -+-- Reporter: erikd| Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.4.1| Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Testcase: Blockedby: | Blocking: Related: | -+-- Comment(by erikd): This was likely fixed in bug #5900 which resulted in this patch: http://hackage.haskell.org/trac/ghc/changeset/bee6f865d8c747aa821f9d4996ad3300429fd55c -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #6156: Optimiser bug on linux-powerpc
#6156: Optimiser bug on linux-powerpc -+-- Reporter: erikd| Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.4.1| Keywords: Os: Linux| Architecture: powerpc Failure: Incorrect result at runtime | Testcase: Blockedby: | Blocking: Related: | -+-- Comment(by erikd): Hmm, interesting! The patch from bug #5900 doesn't fix this. Now trying 7.4.2. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/6156#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5704: Bug in the handling of wired-in packages (like template-haskell)
#5704: Bug in the handling of wired-in packages (like template-haskell) ---+ Reporter: simonmar | Owner: simonmar Type: bug | Status: closed Priority: high | Milestone: 7.4.2 Component: Package system|Version: 7.2.1 Resolution: wontfix | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: None/Unknown | Difficulty: Unknown Testcase:| Blockedby: Blocking:|Related: ---+ Changes (by simonmar): * status: new = closed * resolution: = wontfix Comment: I'm going to close this. It just doesn't work to have multiple versions of a wired-in package, all kinds of things could go wrong. We currently allow multiple versions to exist, but only the latest is considered to be the wired-in one. This was to make it possible to have both `base-3` and `base-4` coexisting, where `base-3` depended on `base-4`. This doesn't apply in the above template-haskell example, where the two packages are really independent. I think the right fix is just to not do this, and if I understand correctly the latest version of Cabal is better at avoiding it anyway. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/5704#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs