Re: (no subject)

2010-12-02 Thread Simon Marlow

On 19/12/2006 08:45, mm wrote:

I can not login to the GHC Trac with the login/password suggested at the 
homepage.

Could someone please confirm that it is currently not working?


I just tried it here, and it worked for me.

Cheers,
Simon


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


haskell98 package not linked by default in 7.0.1 (was: Re: making 7.01-pre)

2010-11-01 Thread Simon Marlow

On 30/10/2010 16:52, David Fox wrote:

On Sat, Oct 30, 2010 at 4:43 AM, Serge D. Mechvelianimech...@botik.ru  wrote:

Dear GHC developers,

I am testing this fresh  ghc-7.0.0.20101028
on  Debian Linux, i386-family.
Making it from source by  ghc-6.12.3  is all right.
Then, making it from source by itself reports
(here I abbreviate the messages by inserting `...')

-
+ test -f mk/config.mk.old
+ cp -p mk/config.mk mk/config.mk.old
...
...
inplace/bin/mkdirhier utils/ghc-cabal/dist/build/tmp//.
inplace/bin/mkdirhier bootstrapping/.
/home/mechvel/ghc/7.01pre/inst1/bin/ghc -H32m -O --make
  utils/ghc-cabal/ghc-cabal.hs -o utils/ghc-cabal/dist/build/tmp/ghc-cabal
...
...
rm -f compiler/stage1/ghc_boot_platform.h
Creating compiler/stage1/ghc_boot_platform.h...
Done.
/usr/bin/gcc  -fno-stack-protector  -DTABLES_NEXT_TO_CODE -Iincludes
  -Irts  -DGEN_HASKELL  -c includes/mkDerivedConstants.c -o
includes/dist-ghcconstants/build/mkDerivedConstants.o
...
...
...
utils/genprimopcode/dist/build/Lexer.o: In function `s2yT_info':
(.text+0x1e1d): undefined reference to
  `__stginit_arrayzm0zi3zi0zi2_DataziArray_'
...
...
utils/genprimopcode/dist/build/Parser.o: In function `s4pK_info':
(.text+0x5691): undefined reference to
`__stginit_arrayzm0zi3zi0zi2_DataziArray_'
collect2: ld returned 1 exit status
make[1]: *** [utils/genprimopcode/dist/build/tmp/genprimopcode] Error 1
make: *** [all] Error 2
-

Why cannot it make itself?


genprimopcode now needs -package array to build.  We'll fix this in the 
build system but it raises an interesting point that we probably haven't 
publicised much.


Previously we linked the haskell98 package by default, which also caused 
its dependencies (include array) to also be linked, but in 7.0.1 we 
don't link haskell98 by default, only base.


If you're using --make (which is now the default in 7.0.1), you won't 
notice any difference, because all package dependencies are 
automatically linked, so this only makes a differences in one-shot 
mode where you compile each module to .o files first and then link by 
saying


  ghc Main.o Foo.o Bar.o -o prog

So if you're doing this, and the program has dependencies on modules not 
in base, then you need to list them explicitly, e.g.


  ghc -package haskell98 Main.o Foo.o Bar.o -o prog

This is part of moving from Haskell 98 to Haskell 2010 as our default 
base language.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: #4316: Getting the lexer state to check for AlternativeLayoutMode

2010-10-19 Thread Simon Marlow

On 18/10/2010 05:53, Vivian McPhail wrote:



On 18 October 2010 15:37, Vivian McPhail
haskell.vivian.mcph...@gmail.com
mailto:haskell.vivian.mcph...@gmail.com wrote:

Hi,

In attempting to use the lexer to see whether we are within an
alternative layout context:

[..]


I have a function which tells us if there is layout going on:

activeContext :: P Bool
activeContext = do
   ctxt - getALRContext
   expc - getAlrExpectingOCurly
   impt - implicitTokenPending
   case (ctxt,expc) of
 ([],Nothing) - return impt
 _other   - return True


Okay, this function is doing the right thing.  I also tried counting
curly brackets, which also doesn't work for the same reason:

In AlternativeLayoutMode, when an EOF is encountered and there is an
outstanding context, the context is removed  and a closing curly is inserted

  (ITeof, ALRLayout _ _ : ls, _) -
  do setALRContext ls
 setNextToken t
 return (L thisLoc ITccurly)

So as it stands, if we simply lex the ghci command line, we will never
be inside a layout context once we see the EOF token.


Right, so you need to lex up to the end of the line, but without letting 
the lexer see the EOF token, presumably?


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Spam on the Trac

2010-07-21 Thread Simon Marlow

On 20/07/10 17:05, Sean Leather wrote:

I just saw a lot of spam posts to the GHC Trac. Is there any way to
prevent future occurrences of this?


All the spam has been removed from the Trac, though unfortunately we 
can't remove it from the mailing list archives so easily.


I'm not sure exactly who removed it all - I removed some of it, but the 
spammer account had already been removed when I got there.


We do have the Trac spam filter plugin, and since having that enabled we 
haven't had problems with spam for quite a while.  I'm not exactly sure 
how the recent flurry of spam got through, but we'll have to keep an eye 
on things and try to diagnose the problem if it happens again.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Segfault in ghc head -fllvm

2010-06-30 Thread Simon Marlow
Don, did you recompile all the libraries after updating GHC?  We 
recently turned on TNTC, which would cause breakages if you had any 
libraries or packages compiled the old way.


Cheers,
Simon

On 29/06/2010 04:21, Don Stewart wrote:

This comes from a Haskell game, where  the C program was about 10x
faster again (thanks to SSE).

The C program to test against is here:

 http://stackoverflow.com/questions/3115540

Maybe use it as a benchmark?

-- Don

davidterei:

Too Slow :).

I fixed a few bugs in the LLVM backend in the last 24 hours, they seem
to have fixed this segault (that or I'm not reproducing your results
right). I can compile and run this program fine with latest GHC Head
under both 32/64 bit Linux.

Under 32bit I get a nice speed up with the LLVM backend but under 64
bit, fasm gives me about 1.5s and fllvm gives me about 1.8s which
isn't very good. So will have to investigate that, its quite unusual
for the ncg to beat llvm by anything more then 10%.

Cheers,
David

On 29 June 2010 03:32, Don Stewartd...@galois.com  wrote:

The following vector program segfaults with the latest head snapshot,

{-# LANGUAGE BangPatterns #-}

{-
ghc 6.12.1 -O2
1.752
-}

import Data.Vector.Storable
import qualified Data.Vector.Storable as V
import Foreign
import Foreign.C.Types

-- Define a 4 element vector type
data Vec4 = Vec4 {-# UNPACK #-} !CFloat
 {-# UNPACK #-} !CFloat
 {-# UNPACK #-} !CFloat
 {-# UNPACK #-} !CFloat



-- Ensure we can store it in an array
instance Storable Vec4 where
  sizeOf _ = sizeOf (undefined :: CFloat) * 4
  alignment _ = alignment (undefined :: CFloat)

  {-# INLINE peek #-}
  peek p = do
 a- peekElemOff q 0
 b- peekElemOff q 1
 c- peekElemOff q 2
 d- peekElemOff q 3
 return (Vec4 a b c d)
where
  q = castPtr p

  {-# INLINE poke #-}
  poke p (Vec4 a b c d) = do
pokeElemOff q 0 a
pokeElemOff q 1 b
pokeElemOff q 2 c
pokeElemOff q 3 d
where
  q = castPtr p



a = Vec4 0.2 0.1 0.6 1.0
m = Vec4 0.99 0.7 0.8 0.6

add :: Vec4 -  Vec4 -  Vec4
{-# INLINE add #-}
add (Vec4 a b c d) (Vec4 a' b' c' d') = Vec4 (a+a') (b+b') (c+c') (d+d')

mult :: Vec4 -  Vec4 -  Vec4
{-# INLINE mult #-}
mult (Vec4 a b c d) (Vec4 a' b' c' d') = Vec4 (a*a') (b*b') (c*c') (d*d')

vsum :: Vec4 -  CFloat
{-# INLINE vsum #-}
vsum (Vec4 a b c d) = a+b+c+d

multList :: Int -  Vector Vec4 -  Vector Vec4
multList !count !src
| count= 0= src
| otherwise = multList (count-1) $ V.map (\v -  add (mult v m) a) 
src

main = do
print $ Data.Vector.Storable.sum
  $ Data.Vector.Storable.map vsum
  $ multList repCount
  $ Data.Vector.Storable.replicate arraySize (Vec4 0 0 0 0)

repCount, arraySize :: Int
repCount = 1
arraySize = 2



$ ghc-6.13.20100625 -fllvm -O2 --make A.hs
[1 of 1] Compiling Main ( A.hs, A.o )
Linking A ...
$ ./A
zsh: segmentation fault  ./A





___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #650: Improve interaction between mutable arrays and GC

2010-01-11 Thread Simon Marlow
Switching to the new server has messed up threading for ghc-bugs emails. 
 I think the culprit is this:


References: 047.44b951cd4b5aa8536d862412c8d86...@abbot.galois.com
In-Reply-To: 047.44b951cd4b5aa8536d862412c8d86...@abbot.galois.com

these references point to @abbot.galois.com, rather than 
@monk.galois.com. It's not a showstopper, but it's somewhat annoying.

Can anything be done about it?

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #3709: Data.Either.partitionEithers is not lazy enough

2009-12-03 Thread Simon Marlow

On 03/12/2009 14:12, Henning Thielemann wrote:


On Thu, 3 Dec 2009, Malcolm Wallace wrote:


#3709: Data.Either.partitionEithers is not lazy enough

This is a behavioural change, e.g.:
Main case partitionEithers1 [Left 'a', error Not me] of (x : _, _)
- x
Program error: Not me
Main case partitionEithers2 [Left 'a', error Not me] of (x : _, _)
- x
'a'


Yes, and isn't that the point of the bugfix? No non-bottoming program
has changed, but fewer programs fail now. I find it hard to imagine
that anyone could have been relying on getting a crash here.


Making something more lazy can cause a memory leak.


and a time leak, or a stack overflow.  People might complain if we made 
foldl' more lazy :-)


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: mkdirhier fails on Ubuntu Hardy i686 with dash shell

2009-11-02 Thread Simon Marlow

On 25/10/2009 19:34, Ian Lynagh wrote:

On Mon, Oct 19, 2009 at 12:49:44PM -0600, Zooko Wilcox-O'Hearn wrote:


Replacing the contents of mkdirhier and mkdirhier.sh with mkdir -p $*
works-around the problem.


Does anyone know why we don't just call mkdir -p normally? Are there
portability problems with it?


I believe 'mkdir -p' was not supported by some old unices, but AFAICT it 
seems to be supported by everything we build on these days.  It probably 
wouldn't hurt to use it instead of mkdirhier.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: runhaskell script on head build

2009-08-26 Thread Simon Marlow

On 26/08/2009 11:05, David Duke wrote:


This didn't seem like a ghc bug per se, but am happy to put an entry
into trac if appropriate.

In playing with DPH, I've recently tried building the head code, using
Mac OSX 10.5.8 and ghc 6.10.4

After compiling and installing, I tried building an existing package,
and noticed that runhaskell was returning with no result. On looking at
the script, runhaskell/runghc from the head build is attempting to
execute /usr/local/bin/ghc-stage2, rather than /usr/local/bin/ghc. The
attempt to invoke the stage2 compiler is coming from the runghc.wrapper
text in ghc/utils/runghc.

Problem with the wrapper, or did I break something in the build process?


My fault, I tried to make inplace/bin/runghc work, and broke the 
installed version at the same time.  Am fixing it now.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: panic initC: srt_lbl on 6.10.3

2009-06-29 Thread Simon Marlow

On 28/06/2009 05:39, Conal Elliott wrote:

I'm getting panic! (the 'impossible' happened) / initC: srt_lbl in ghc
6.10.3.  Does anyone have an educated guess about initC: srt_lbl ?
Oddly, ghci doesn't throw the panic.

When I comment out some GADT code, the panic goes away.


It's a pretty generic failure.  -dcore-lint might trigger a failure 
earlier, but that probably won't help you.  We need to reproduce the 
bug.  Can you tell us how?  (don't worry if the code depends on external 
packages, but ideally keep the dependencies to a minimum if you can).


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [HOpenGL] renderString not working in ghci

2009-06-02 Thread Simon Marlow

On 01/06/2009 23:39, Sven Panne wrote:


So my question is again: Why is -fPIC not the default for GHC on x86_64? If we
don't want the overhead, that's OK (any benchmark numbers?), but then GHC's
documentation should really contain a big, fat warning that GHCi's dynamic
linker gets cases like the one above wrong.


There is a ticket, BTW:

http://hackage.haskell.org/trac/ghc/ticket/781

I've milestoned it for 6.12.1 and made it high priority.

I think the only reason that -fPIC is not the default right now on 
x86_64 is that (a) it's (still) experimental, and (b) we don't know what 
performance implications it has.  Duncan will hopefully be able to 
resolve both in due course.


Duncan: just to clarify, the problem here is that in the x86_64 small 
memory model (the default), external references from non-PIC code are 
assigned 32-bit addresses.  ld.so makes this work in two ways:


 * if the symbol points to code, then a jump trampoline is installed
   in the PLT, and the 32-bit address points to it

 * if the symbol points to data, then the data object is moved with
   the dreaded R_COPY relocation, so that it ends up within the
   low 2Gb and the 32-bit relocation is large enough.

the problem is that in GHCi's linker we don't know which symbols point 
to data and which point to code.  So we assume they point to code (data 
is quite rare), and install trampolines.  If we use -fPIC, then external 
references are made via the PLT or GOT, and the problem doesn't occur.


I mentioned this in a comment on #1876:

http://hackage.haskell.org/trac/ghc/ticket/1876#comment:11

One thing we could do to help would be to spot

  foreign import ccall foo foo :: Ptr T

where T is not a function type, and emit a warning suggesting the use of 
-fPIC.


Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Linking hsc2hs .c output on Windows w/ build system: is it just me..?

2009-05-21 Thread Simon Marlow

On 29/04/2009 01:23, Sigbjorn Finne wrote:

Thanks Simon,

sorry for not noticing your reply amidst the flow of g-h-b ticket reports
before now. As there is no need to sail that close to the wind of
playing with the delicate linking  loading orders of the CRT and
base DLLs like kernel32, my suggestion would be simply to avoid
it. You don't do any explicit -lgcc -lc trickery when invoking gcc/ld
on other platforms, so why be different?

Apart from the changes to Win32.cabal and base.cabal mentioned
in the original e-mail, injecting addDLL() calls for kernel32 and
msvcrt in initLinker() ought to do it.


I've now done exactly that.  This seems like a good fix to try to get 
into 6.10.4 - can you think of any unexpected consequences?


Cheers,
Simon


--sigbjorn

On 4/27/2009 04:58, Simon Marlow wrote:

On 24/04/2009 23:04, Sigbjorn Finne wrote:

I've been experiencing repeated woes over the past 4-5 months
when trying to spin up build trees on Windows with the new build
system. This is happening on the 3-4 boxes that I regularly develop on,
which leads me to believe that this may not be limited to just me..

The problem is that hsc2hs generated .c files (Foo_hsc_make.c) when
compiled and linked via the 'ghc' that's configured against, will
produce
.exe's that crashes right out of the gates. gdb'ing the generated
binaries,
the crash is happening in the CRT startup code  with some further
poking
around I've been able to determine that it is the explicit presence
of -l
options for 'kernel32' and 'msvcrt' when linking that's the cause.
This is
with a variety of versions of 'ld' and binutils snapshots (2.17.x --
2.19).
Using the 2.19.1 version that ships with gcc4.3.3 snapshots for mingw is
well-behaved, but ghc is still using gcc-3.4.5.


We have seen this problem here on Satnam Singh's machine, but we
eventually put it down to a conflict between versions of certain MSYS
bits. There may indeed be a real problem here, I don't know.

On Satnam's machine we established that the problem was provoked by
updating binutils, and the solution was don't do that (Satnam had
originally done this because the windres that comes with MSYS was
incompatible with GHC, but that can be worked around by just copying
in a suitable windres).

We also tracked it down as far as compiling a trivial C program with
-lmsvcrt.

Incedentally if you follow the instructions on the wiki exactly, you
won't run into this problem:
http://hackage.haskell.org/trac/ghc/wiki/Building/Preparation/Windows.


There's a couple of things that are odd here:

* base.cabal files have kernel32 and msvcrt as extra-libraries. This is
clearly
not required when doing invocations via ld(1), and causes considerable
mischief,
so it'd be good if there was a way in .cabal files to distinguish
between stuff that
goes into 'extraLibraries' and 'extraGHCiLibraries' in package.conf's
InstalledPackageInfos. (Is there? Couldn't locate anything appropriate
while
working with the Cabal sources..)

* 'base' needing to include these two dependencies even for GHCi
usage. A
running RTS will have these loaded already, so it really ought to have
primed
the list of opened DLLs by explicitly loading them upon initialization
of the linker.
[I've got a trivial patch against rts/Linker.c that does this; can
forward/commit if
of interest..]


I've no idea why these library dependencies are there. It might well
be historical. I'm happy to defer to Windows experts such as yourself
on whether we should have them or not (I guess not?).


* In addition to the patch referred to above, to solve these problems, I
had to scrub
libraries/base/base.cabal of 'kernel32' and 'msvcrt' + the
package.conf's for the
versions of ghc I'm building against had to be edited, limiting the use
of 'kernel32'
and 'msvcrt' to extraGHCiLibraries for both the 'base' and 'Win32'
packages.

Long and rambling..hope you made it this far ;-) Is anyone else running
into this issue 
should we do something about it? If not, details of compilation
environment that
you've got that avoids running into this issue would be most welcome.
It's a bit of a
chore spinning up new builds, as is.


One open question is whether we should expect gcc foo.c -lmsvcrt to
work. It works with older versions of MSYS/mingw, but apparently not
with more recent versions. On the face of it this seems like it ought
to be harmless, since msvcrt will eventually be linked in anyway.

Cheers,
Simon




___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Inter-module links with Haddock broken?

2009-04-29 Thread Simon Marlow

On 28/04/2009 16:52, David Waern wrote:

2009/4/28 Sven Pannesven.pa...@aedion.de:

Am Samstag, 25. April 2009 14:48:03 schrieb Sven Panne:

Currently I am unable to make inter-module links (of the form
'Foo.Bar.baz') work with the Haddock shipped with GHC 6.10.2. [...]

Until a few moments ago, I wasn't aware of the fact that Haddock has a trac
for itself nowadays, so I guess my problem is a symptom of:

   http://trac.haskell.org/haddock/ticket/78

What is the schedule for the Haddock milestone 2.5.0 mentioned in that ticket?
When can we expect that fix in a shipped GHC?


We have no schedule yet. I will just release it when I have had time
to fix enough bugs that it's worth making a release. Help wanted :-)

I'm not sure if we can do Haddock fixes for 6.10.3. Can we? Otherwise
an updated Haddock will not ship with GHC until 6.12.1.

Not sure if Haddock will be installed by GHC installations in the
future though, since I think the Haskell Platform is supposed to
manage that. Is this correct?


GHC will continue to ship Haddock, since the two are closely tied 
together nowadays by virtue of the GHC API.


Ian will have to comment on the status of 6.10.3, I think it's very 
close to being ready to roll.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Linking hsc2hs .c output on Windows w/ build system: is it just me..?

2009-04-27 Thread Simon Marlow

On 24/04/2009 23:04, Sigbjorn Finne wrote:

I've been experiencing repeated woes over the past 4-5 months
when trying to spin up build trees on Windows with the new build
system. This is happening on the 3-4 boxes that I regularly develop on,
which leads me to believe that this may not be limited to just me..

The problem is that hsc2hs generated .c files (Foo_hsc_make.c) when
compiled and linked via the 'ghc' that's configured against, will produce
.exe's that crashes right out of the gates. gdb'ing the generated binaries,
the crash is happening in the CRT startup code  with some further poking
around I've been able to determine that it is the explicit presence of -l
options for 'kernel32' and 'msvcrt' when linking that's the cause. This is
with a variety of versions of 'ld' and binutils snapshots (2.17.x -- 2.19).
Using the 2.19.1 version that ships with gcc4.3.3 snapshots for mingw is
well-behaved, but ghc is still using gcc-3.4.5.


We have seen this problem here on Satnam Singh's machine, but we 
eventually put it down to a conflict between versions of certain MSYS 
bits.  There may indeed be a real problem here, I don't know.


On Satnam's machine we established that the problem was provoked by 
updating binutils, and the solution was don't do that (Satnam had 
originally done this because the windres that comes with MSYS was 
incompatible with GHC, but that can be worked around by just copying in 
a suitable windres).


We also tracked it down as far as compiling a trivial C program with 
-lmsvcrt.


Incedentally if you follow the instructions on the wiki exactly, you 
won't run into this problem: 
http://hackage.haskell.org/trac/ghc/wiki/Building/Preparation/Windows.



There's a couple of things that are odd here:

* base.cabal files have kernel32 and msvcrt as extra-libraries. This is
clearly
not required when doing invocations via ld(1), and causes considerable
mischief,
so it'd be good if there was a way in .cabal files to distinguish
between stuff that
goes into 'extraLibraries' and 'extraGHCiLibraries' in package.conf's
InstalledPackageInfos. (Is there? Couldn't locate anything appropriate
while
working with the Cabal sources..)

* 'base' needing to include these two dependencies even for GHCi usage. A
running RTS will have these loaded already, so it really ought to have
primed
the list of opened DLLs by explicitly loading them upon initialization
of the linker.
[I've got a trivial patch against rts/Linker.c that does this; can
forward/commit if
of interest..]


I've no idea why these library dependencies are there.  It might well be 
historical.  I'm happy to defer to Windows experts such as yourself on 
whether we should have them or not (I guess not?).



* In addition to the patch referred to above, to solve these problems, I
had to scrub
libraries/base/base.cabal of 'kernel32' and 'msvcrt' + the
package.conf's for the
versions of ghc I'm building against had to be edited, limiting the use
of 'kernel32'
and 'msvcrt' to extraGHCiLibraries for both the 'base' and 'Win32'
packages.

Long and rambling..hope you made it this far ;-) Is anyone else running
into this issue 
should we do something about it? If not, details of compilation
environment that
you've got that avoids running into this issue would be most welcome.
It's a bit of a
chore spinning up new builds, as is.


One open question is whether we should expect gcc foo.c -lmsvcrt to 
work.  It works with older versions of MSYS/mingw, but apparently not 
with more recent versions.  On the face of it this seems like it ought 
to be harmless, since msvcrt will eventually be linked in anyway.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #3081: Double output after Ctrl+C on Windows

2009-03-17 Thread Simon Marlow

Neil Mitchell wrote:

system cp foo foo.bup  deleteFile foo

If I Ctrl+C during the cp did I just delete my one copy of foo?

On Windows, Ctrl-C will unblock a blocked system call.  e.g. read() returns
with zero.  Apparently system foo also returns as soon as you press
Ctrl-C, I'm not entirely sure why.  Perhaps because the program has been
killed?


So, to check my understanding:

* Haskell program invokes system
* Use presses Ctrl+C
* System returns and Haskell program continues executing
* Ctrl+C is thrown and Haskell program aborts


Yes.


That sounds really dangerous - like a race condition between the
system returning and the Haskell program aborting.


I don't know why system returns, but one valid reason would be if the child 
process had died due to the same Ctrl-C.  As Duncan says, in this case we 
ought to raise the Ctrl-C exception in the parent, but (a) none of this is 
implemented in the current process library, and (b) I'm not sure if you can 
tell whether a child died due to Ctrl-C on Windows.


Also since Windows has no process groups, I don't think system is returning 
 as a result of the child dying.  It's more likely to be returning because 
of some silly Win32ism, like the way read() returns 0 on Windows when you 
press Ctrl-C.  The latter also leads to very strange behaviour unless you 
check for it (which we don't, and we probably should).


Consoles are very weird on Windows.  Ctrl-C doesn't even work at all in 
MSYS or (certain types of) Cygwin windows, or xterms - it kills the 
program, but the program doesn't get a signal.


Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #3081: Double output after Ctrl+C on Windows

2009-03-12 Thread Simon Marlow

Neil Mitchell wrote:


I think I'm confused. I thought Ctrl+C was abort the program now, so
figured that foo  bar, where foo get's a Ctrl+C means bar is never
executed? The double buffering thing I can understand, but the fact
that bar gets executed at all is a little confusing.

What if I did:

system cp foo foo.bup  deleteFile foo

If I Ctrl+C during the cp did I just delete my one copy of foo?


On Windows, Ctrl-C will unblock a blocked system call.  e.g. read() returns 
with zero.  Apparently system foo also returns as soon as you press 
Ctrl-C, I'm not entirely sure why.  Perhaps because the program has been 
killed?


Cheers,
Simon



Thanks

Neil

On Thu, Mar 12, 2009 at 10:18 AM, GHC t...@galois.com wrote:

#3081: Double output after Ctrl+C on Windows
---+
   Reporter:  NeilMitchell|Owner:
   Type:  bug |   Status:  new
   Priority:  normal  |Milestone:  _|_
  Component:  Runtime System  |  Version:  6.10.1
   Severity:  normal  |   Resolution:
   Keywords:  |   Difficulty:  Unknown
   Testcase:  |   Os:  Windows
Architecture:  x86 |
---+
Changes (by simonmar):

 * owner:  simonmar =

--
Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/3081#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


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: build failure for 6.10.1, missing ghcautoconf.h

2008-11-27 Thread Simon Marlow

Conal Elliott wrote:
I just tried to build 6.10.1 from the source tarball 
(http://haskell.org/ghc/dist/6.10.1/ghc-6.10.1-src.tar.bz2) (plus 
extralibs) on Ubuntu 8.10, building with ghc-6.11.  I got the following 
error:


Configuring ghc-bin-6.10.1...
/home/conal/downloads/ghc-6.10.1/libraries/cabal-bin 
/usr/local/bin/ghc 
/home/conal/downloads/ghc-6.10.1/libraries/bootstrapping.conf build 
--distpref dist-stage1 --ghc-option=-H32m --ghc-option=-O  
--ghc-option=-H32m  --ghc-option=-O

Preprocessing executables for ghc-bin-6.10.1...
Building ghc-bin-6.10.1...

In file included from Main.hs:14:0:


/usr/local/lib/ghc-6.11.20081103/ghc-6.11.20081103/include/HsVersions.h:23:0:

 error: ../includes/ghcautoconf.h: No such file or directory
make[2]: *** [build.stage.1] Error 1
make[1]: *** [build.stage.1] Error 2
make: *** [stage1] Error 1
[EMAIL PROTECTED]:~/downloads/ghc-6.10.1$

Is this problem known?  Does it come from building 6.10.1 with 6.11?


I didn't see a followup to this.  Conal, are you still seeing this?  I 
don't have any idea what's going on, and we don't see this on our Windows 
builds, but we can certainly investigate further.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #2305: GHC does not care __RENAME macro

2008-06-05 Thread Simon Marlow

GHC wrote:

#2305: GHC does not care __RENAME macro
-+--
 Reporter:  iquiw|  Owner:  
 Type:  feature request  | Status:  reopened
 Priority:  normal   |  Milestone:  
Component:  Compiler (FFI)   |Version:  6.8.2   
 Severity:  normal   | Resolution:  
 Keywords:   | Difficulty:  Unknown 
 Testcase:   |   Architecture:  Unknown 
   Os:  NetBSD   |  
-+--

Changes (by simonpj):

  * status:  closed = reopened
 * cc: [EMAIL PROTECTED] (added)
  * resolution:  invalid =

Comment:

 But Don Cave records in this email that the libraries we ship with GHC are
 missing some such wrappers.  So really this is an open bug until someone
 adds the wrappers to the appropriate libraries.  Thus I'm re-opening.
 (Re-close if I'm under a mis-apprehension.)


I thougt we ought to have a separate ticket for the NetBSD-specific bug. 
Not a big deal though.


Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [Haskell-cafe] Bug in parallel GHC runtime?

2008-05-29 Thread Simon Marlow

Don Stewart wrote:

Hi,

Thanks for the bug report.
This should be filed on the GHC bug tracker,

http://hackage.haskell.org/trac/ghc/newticket?type=bug

And I've forwarded it to the glasgow-haskell-bugs mailing list.


Please try with the 6.8.3 RC we just released.  I fixed a bug that could be 
the cause of this.


http://www.haskell.org/pipermail/glasgow-haskell-users/2008-May/014814.html

Cheers,
Simon



kolar:

Hello all,

 The attached file was compiled by the following command:

ghc -O2 --make -threaded ltest1pl.hs -o alall

When run in a sequential mode, I get this result:
./alall
Starting ...
Lst1: 416665
Lst2: 4166916670
T1: 0m 1.0e-6s
36
End!


On the other hand, when run in a threaded mode, I get the following error:
./alall +RTS -N2
Starting ...
Lst1: 416665
Lst2: 4166916670
T1: 0m 0.0s
Segmentation fault

Is it fault of the GHC runtime, or is it something on my side?


My machine: uname -a
Linux pc 2.6.24-ARCH #1 SMP PREEMPT Sun Mar 30 10:50:22 CEST 2008 x86_64 
Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel GNU/Linux


My ghc: ghc --version
The Glorious Glasgow Haskell Compilation System, version 6.8.2


Thanks and regards
 Dusan




--import Control.Concurrent
--import Control.Concurrent.MVar
import System.Time

import Control.Parallel.Strategies

--import Data.List (foldl')
import qualified Data.ByteString as B


sumAllSums [] = 0
sumAllSums l@(_:xs) = sumlist 0 l + sumAllSums xs
  where  sumlist res [] = res   
 sumlist sr  (v:vs) = sumlist (sr+v) vs

wlist2wbs [] = B.pack []
wlist2wbs l@(_:_) = B.pack $ encode l
  where
encode :: Integral a = [Int] - [a]
encode [] = []
encode (x:xs) = 
  if x==0 then 0:0:encode xs

  else fromIntegral (x `mod` 256) : fromIntegral (x `div` 256) : encode xs

main = do
  putStrLn $ Starting ...
  let lst1 = [0..4]
  let lst2 = [0..5]
  let bs1 = wlist2wbs lst1
  let bs2 = wlist2wbs lst2
  tm1 - getClockTime
  let (v1:v2:_) = parMap rnf sumAllSums [lst1,lst2]
  tm1' - getClockTime
  putStrLn (Lst1:  ++ show v1)
  putStrLn (Lst2:  ++ show v2)
  let tdiff1 = diffClockTimes tm1' tm1
  --let tdiff2 = diffClockTimes tm2' tm2
  putStrLn $ T1:  ++ show (tdMin tdiff1) ++ m  ++ show (fromIntegral(tdSec tdiff1) + 
fromIntegral(tdPicosec tdiff1)/1e12) ++ s
  --putStrLn $ T2:  ++ show (tdMin tdiff2) ++ m  ++ show (fromIntegral(tdSec tdiff2) 
+ fromIntegral(tdPicosec tdiff2)/1e12) ++ s
  putStrLn $ show $ {-ibs1 +-} B.index bs1 9 + B.index bs2 4 {-((bs1 + 
fromIntegral (B.index bs2 9)) :: Integer)-}
  putStrLn $ End!

{-
main = do
  tm1 - getClockTime
  putStrLn $ Starting ... 
  mv1 - newEmptyMVar
  mv2 - newEmptyMVar
  t1 - forkIO (putMVar mv1 $! sumAllSums [0..4])
  t2 - forkIO (putMVar mv2 $!  sumAllSums [1..5])
  v1 - takeMVar mv1
  v2 - takeMVar mv2
  killThread t1
  killThread t2
  putStrLn $ Result:  ++ show (v1+v2)
  tm2 - getClockTime
  let tdiff = diffClockTimes tm2 tm1
  putStrLn $ End!  ++ show (tdMin tdiff) ++ m  ++ show (fromIntegral(tdSec tdiff) + 
fromIntegral(tdPicosec tdiff)/1e12) ++ s
-}




___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


RE: [GHC] #1540: GHC on Macs

2008-02-13 Thread Simon Marlow
 #1540: GHC on Macs
 --+---
 --
  Reporter:  guest |  Owner:
  Type:  task  | Status:  closed
  Priority:  high  |  Milestone:  6.8 branch
 Component:  Build System  |Version:  6.6.1
  Severity:  normal| Resolution:  fixed
  Keywords:| Difficulty:  Unknown
  Testcase:|   Architecture:  x86
Os:  MacOS X   |
 --+---
 --
 Changes (by chak):

   * status:  new = closed
   * resolution:  = fixed

 Comment:

  It's done.  The HEAD has all the patches, and merged patches for the 6.8
  branch are waiting for Ian's approval to push.  I announced a trial
  package on the [http://www.haskell.org/pipermail/glasgow-haskell-
  users/2008-February/014298.html mailing list] and there is
  [wiki:Building/MacOSX/Installer detailed documentation] on the wiki.

  I will close this ticket. There may be bugs and missing features with the
  current implementation, but they should be filed as separate bug reports.

Excellent, nice work!

Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1015: regex001(ghci,threaded1) seg-faults under Solaris

2008-01-25 Thread Simon Marlow

Christian Maeder wrote:

Hi Simon,

could you please supply a testsuite.tgz for ghc-6.8.2 so that I can test
it? (Or say how to easily get the testsuite only).

I hope ghc-6.8.2 is sufficient for testing.


A recent testsuite should be fine, that test hasn't changed in ages.  In 
the future, I'll try to make sure we tag the testsuite for each GHC release.


Cheers, 
Simon


Cheers Christian

see also
http://hackage.haskell.org/trac/ghc/ticket/2025


GHC wrote:

#1015: regex001(ghci,threaded1) seg-faults under Solaris
---+
 Reporter:  [EMAIL PROTECTED]  |  Owner:  
 Type:  bug| Status:  new 
 Priority:  normal |  Milestone:  _|_ 
Component:  Compiler   |Version:  6.6 
 Severity:  normal | Resolution:  
 Keywords: | Difficulty:  Unknown 
 Testcase: |   Architecture:  Multiple
   Os:  Solaris|  
---+

Comment (by simonmar):

 Christian - is this bug still relevant?



___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: compiling ghc w/o ghc

2007-12-05 Thread Simon Marlow

Bulat Ziganshin wrote:


i've seen the following report from a man who tried to compile 6.8.1
under linux without having any ghc installed:


checking for ghc... no
checking for path to top of build tree... 
./configure: line 2724: -v0: command not found

./configure: line 2728: utils/pwd/pwd: No such file or directory

line 2724:
$WithGhc -v0 --make pwd -o pwd

the $WithGhc variable is empty



afaiu, configure should stop at the moment when previous ghc isn't
found

(he was extracted ghc-6.8.1-src-extralibs.tar.bz2 and ghc-6.8.1-src.tar.bz2
if that matter)


Thanks, I'm validating a fix for this.

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1943: round function causes cblas NaNs

2007-11-29 Thread Simon Marlow

GHC wrote:


 When I first submitted this the attach file action failed due to the size
 of my binaries.  I mistakenly then resubmitted the bug and attached the
 files to ticket 1944. So this bug should be merged with 1944 or better
 just deleted.


Ticket deleted.

Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: ghc-6.6.1 testsuite on arm eabi: TestStub_stub.h: No such file or directory

2007-11-21 Thread Simon Marlow

Martin Guy wrote:

2007/11/20, Simon Marlow [EMAIL PROTECTED]:

Martin Guy wrote:

$ .../ghc6-6.6.1/testsuite/tests/ghc-regress$ make stage=2 fast 
make-fast-stage=2.errs 21

Wrong exit code (expected 0 , actual 2 )
/tmp/ghc27396_0/ghc27396_0.hc:5:27:
 error: TestStub_stub.h: No such file or directory

This could be a difference in how gcc on your platform is finding header
files, perhaps.  Could you add -v to the GHC command line and send us the
output?


I find I get the same behaviour in x86 when using -fvia-C, and arm is
always via-C so I've decided not to worry about it, but here is the -v
output when running the guts of driver035 manually:


This is a bug that was fixed in 6.8.1.  The testsuite now has extra tests 
for this case (-stubdir and -fvia-C).


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: ghci ':browse *module' does not list items in source order

2007-10-23 Thread Simon Marlow

Claus Reinke wrote:

[trac seems unreachable at the moment, hence good old email]

while trying to write a test for an extension of :browse, i encountered
an issue with the existing functionality: the order of names is not stable,
making it difficult to write meaningful tests for :browse.
a reduced test case  output are appended below, showing that
output order is affected by prior usage, in both 6.6.1 and HEAD.


Yes, I noticed this too.


i would prefer for the items to appear in source order, but at the
point :browse gets a hand on them, source location information
might not be available; sorting by Name would be random due to
uniqueIds, and lexicographic sorting would be confusing to users
(spreading related items all over the alphabet, instead of keeping
the order in which they appear in source and documentation).
is there a way to keep the items in source order, within each
module (modules themselves could be sorted lexicographically)?


I think what we want differs depending on whether you're browsing the whole 
module (:browse *M) or just the exports (:browse M).  In the former case, 
you want the source ordering, and we have that because the module was 
compiled in this session and all the Names will have source locations 
(GHC.nameSrcSpan).  However, :browse *M gives you the entire top-level 
scope rather than just the local bindings, so we probably want to separate 
local from non-local entities and sort the non-local entities alphabetically.


In the second case, you want the export-list ordering, i.e. the same 
ordering that the entities occur in the Haddock documentation. 
Unfortunately this information isn't retained, so we'll have to settle for 
alphabetic sorting.


It would be great if you could implement this, or else just submit a ticket.

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: 6.8.1-candidate tested

2007-10-18 Thread Simon Marlow

Serge D. Mechveliani wrote:

Dear GHC developers,

I have tested  ghc-6.8.0.20071015-src.tar.bz2  on DoCon and on 
Dumatel.  
It looks all right


(except the bug-candidate for -O which is common to all GHC versions
and which I recently reported
).

On DoCon,  ghc-6.8.0.20071015  
1) builds the project 2-3 times faster than  ghc-6.6.1,  
2) its produced  .a  code is  1.6  times larger,


I have noticed binary sizes increasing by around 20% on the nofib suite 
too.  We've discovered one issue with some dictionaries not being inlined 
when we would expect them to, but there may be others.  I'm investigating.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: profiling missing from snapshot?

2007-10-18 Thread Simon Marlow

Ketil Malde wrote:


I installed the binary ghc-6.8.0.20071017
snapshot, but when I try to compile with -prof, I get 


  % ghc --make -O2 src/Xml2Xls -o xml2xls2 -prof
  [1 of 1] Compiling Main ( src/Xml2Xls.hs, src/Xml2Xls.o )
  Linking xml2xls2 ...
  /usr/bin/ld: cannot find -lHSrts_p
  collect2: ld returned 1 exit status

'locate HSrts_p' and other searches only find some old ghc-6.6 stuff.


This one we know about:

http://hackage.haskell.org/trac/ghc/ticket/1778

Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1738: GADT3 test failure

2007-10-08 Thread Simon Marlow

GHC wrote:

#1738: GADT3 test failure
-+--
Reporter:  simonmar  |Owner: 
Type:  bug   |   Status:  closed 
Priority:  normal|Milestone:  6.10 branch
   Component:  Compiler  |  Version:  6.9
Severity:  normal|   Resolution:  fixed  
Keywords:|   Difficulty:  Unknown
  Os:  Unknown   | Testcase:  GADT3  
Architecture:  Unknown   |  
-+--

Changes (by chak):

  * status:  new = closed
  * resolution:  = fixed


hunk ./tests/ghc-regress/indexed-types/should_compile/all.T 50
-test('GADT3', expect_broken_for(1738, ['normal','optc']), compile, [''])
+test('GADT3', normal, compile, [''])

this test now fails on the stable branch - I assume the patch isn't going 
to be merged, right?  In that case we want an 
expect_broken_if_compiler_lt in all.T.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Request for inline control of warning level

2007-09-03 Thread Simon Marlow

(I can't resist the opportunity to extend this conversation to 3 Simons :-)

Simon Peyton-Jones wrote:

| OPTIONS_GHC pragmas allow warnings to be enabled or disabled for a
| particular file, but there are some limitations:
|
|  * It doesn't override command-line settings (being tacked on the start,
| rather than the end, of the options lists, I believe)

I don't think this is right -- or if it is, it's a bug.  The OPTIONS_GHC stuff 
is supposed to override command-line opts


The Users Guide says:

NOTE: the contents of OPTIONS_GHC are prepended to the command-line 
options, so you do have the ability to override OPTIONS_GHC settings via 
the command line.


So GHC is at least behaving as documented.


|  * It doesn't work on sections of the code, but rather the whole file.

True, and it'd be great to give more local pragma control -- a good feature 
request.  Someone might want to work out details of the programmer's eye view 
and make a Trac feature request


There's a ticket for it:

http://hackage.haskell.org/trac/ghc/ticket/602

Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: runghc printing result of main when main is not IO ()

2007-08-30 Thread Simon Marlow

Tomasz Zielonka wrote:

Hello!

Consider:

$ cat R.hs 
main = return [()]
$ runghc R.hs 
[()]


This was a bit surprising for me, because I thought that runghc
mimics the way a compiled program behaves.


This doesn't happen with 6.6.1, I believe we fixed it at some point by 
having runghc perform main  return () instead of just main.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Data.HashTable.hashInt seems somewhat sub-optimal

2007-08-20 Thread Simon Marlow

[EMAIL PROTECTED] wrote:

I tried submitting this bug through the tracker, but it seemed to give
me permissions errors - probably a firewall issue here. :( Apologies.
Anyway...

Prelude Data.HashTable.hashInt 0
0
Prelude Data.HashTable.hashInt 1
-1
Prelude Data.HashTable.hashInt 2
-1
Prelude Data.HashTable.hashInt 3
-2
Prelude Data.HashTable.hashInt 4
-2
Prelude Data.HashTable.hashInt 5
-2
Prelude Data.HashTable.hashInt 6
-3
Prelude Data.HashTable.hashInt 7
-3
Prelude Data.HashTable.hashInt 8
-4
Prelude Data.HashTable.hashInt 9
-4
Prelude Data.HashTable.hashInt 10
-4
Prelude Data.HashTable.hashInt 200
-77
Prelude Data.HashTable.hashInt 201
-77
Prelude Data.HashTable.hashInt 202
-78

I prefer to use hashing to decrease the likelihood of collisions, not
increase them. ;)

I think the original algorithm was quite possibly supposed to use the
bottom 32 bits of the result, although this means that changes in higher
bits of the input do not affect lower bits of the hash. It should
probably also use unsigned multiplication. Perhaps a better solution
would be to xor or add together the high and low 32 bits? (I'm not sure
as I haven't read the literature).


FYI, this was a bug that has since been fixed.

Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: bug report: picoseconds handling in System.Time

2007-08-20 Thread Simon Marlow

Andrei Paskevich wrote:
The diffClockTimes function can generate TimeDiff's with 
a negative value of tdPicosec. When you pass such a TimeDiff 
to addToClockTime, the latter may send negative picoseconds 
to toClockTime, provoking the error picoseconds out of range.


While we are at it, please, teach normalizeTimeDiff to normalize
tdPicoSeconds, too. This misfeature hangs around for too long :)

Best regards,
Andrei

P.S. I'm not subscribed to the list, so please cc: me if needed.


There are a number of serious problems with System.Time.  If you're doing 
calculations involving time periods, I strongly suggest moving to the new 
time package (Data.Time etc.).


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: stg_ap_pp_ret

2007-07-06 Thread Simon Marlow

Frederik Eaton wrote:

No time to try to reproduce it, I'm preparing for a conference ;)

I haven't seen the bug recently, but ... tangentially I was musing
that if someone could devote some time to turning the GHC internal
error message (which I've seen on over a hundred occasions, I'm sure)
into a tool that queries the user and then, if he is OK with sharing
his code (as a quite large number of programmers are) sends a core
dump of GHC into some repository to be analysed, it might be
beneficial for the GHC development process in the long run. This
concept probably has a standard name that I don't know - I think
something vaguely similar was done with some web browsers once,
although perhaps not with the entire program state. It sounds like it
might be difficult to implement, though. Just a thought.


For some errors that would definitely be useful - e.g. for a GHC panic if there 
was an option to send the source code back to us automatically, I'm sure that 
would help us track down bugs more quickly.  Unfortunately the crash you ran 
into was in the runtime, and in my experience just looking at a snapshot of the 
state at the point of the crash is unlikely to be revealing.  I can very rarely 
track down an RTS bug from just a core dump.


Still, I think the idea in principle is great - we want to make it easier for 
people to package up all the information we need to repeat a bug.


Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: stg_ap_pp_ret

2007-07-05 Thread Simon Marlow

Frederik Eaton wrote:


I've been seeing this a lot:

interactive: internal error: stg_ap_pp_ret
(GHC version 6.6.1 for i386_unknown_linux)

Sometimes it seems to go away when I remove .o and .hi files and
recompile, but it keeps coming back when I make edits and/or compile
with different optimisation options or something.


We'll need a way to repeat it.  Can you make it repeatable?

Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Vote for GHC 6.8 bugs!

2007-07-03 Thread Simon Marlow

Tomasz Zielonka wrote:

On Tue, Jul 03, 2007 at 09:28:35AM +0100, Simon Peyton-Jones wrote:

We have just instituted a cheap-and-cheerful mechanism for voting.
Each bug has a 'cc' field.  To vote, just add your email address to
the cc field!


How should we separate email addresses?
Right now people use different characters: space, comma or semicolon.


From a glance at the Trac code, I'd say comma or space, but not semicolon.

Cheers,
Smion
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: -keep-hc-files or -keep-hc-file?

2007-07-02 Thread Simon Marlow

Ian Lynagh wrote:

On Thu, Jun 28, 2007 at 03:46:31PM +0200, Christian Maeder wrote:

Christian Maeder schrieb:

I'm currently confused if it must be plural or singular (or any)

http://www.haskell.org/ghc/docs/latest/html/users_guide/separate-compilation.html#keeping-intermediates

shows plural options whereas
 
http://www.haskell.org/ghc/docs/latest/html/users_guide/flag-reference.html#id3131928

shows them in singular (except -keep-tmp-files)


Well spotted; thanks for reporting it!


The plural options work! So flag-reference.html should be corrected.


In actual fact the flag reference was exactly right, except the flags
could take any argument, which they then ignore (so the ss were being
treated as an argument when you gave the flags as plurals).

This meant that things like -keep-s-file=no would also result in the
.s file being kept, so I've changed the code to accept only
-keep-foo (makes sense when using ghc -c) and -keep-foos (makes sense
when using ghc --make). -keep-tmp-files is still plural-only.

Everything should be consistent now.


Just FYI, historically, these flags were called -keep-hc-file-too, 
-keep-s-file-too, etc.   When I rewrote the driver I made it ignore the suffix, 
so that I could shorten the flag names and keep backwards compatibility.  I 
don't think anyone still uses the old names.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1468: :browse should browse currently loaded module

2007-06-29 Thread Simon Marlow

Josef Svenningsson wrote:

On 6/28/07, *GHC* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote:

#1468: :browse should browse currently loaded module
+---
  Reporter:  [EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]  |  Owner:
  Type:  feature request| Status:  new
  Priority:  low|  Milestone:
Component:  GHCi   |Version:  6.6.1
  Severity:  trivial|   Keywords:
Difficulty:  Easy (1 hr)| Os:  Unknown
  Testcase: |   Architecture:  Unknown
+---
With module Foo loaded, :browse should be equivalent to :browse Foo. 



Yes! I've wanted this a thousand times. If there was a voting mechanism 
on Trac I would vote for this feature.


Add yourself to the CC list for the bug - this is our low-tech voting mechanism 
for now.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: haskell static libraries issue on Solaris 10 x86...

2007-06-13 Thread Simon Marlow

Christian Maeder wrote:

Simon Marlow schrieb:

Christian Maeder wrote:

[...]

In PrimOps.s it looks (wrongly mangled?) like this:

.text
.align 4
.type   GHC_ZCCReturnable_static_info, @object
.size   GHC_ZCCReturnable_static_info, 4
.zero   4
.globl GHC_ZCCReturnable_static_info
GHC_ZCCReturnable_static_info:

[...]

I guess we should just eliminate the .size directives if the linker is
going to be picky about them.  In ghc-asm.lprl you'll find

$T_COPY_DIRVS   = '^\s*\.(globl|type|size|local)';

if you change it to

$T_COPY_DIRVS   = '^\s*\.(globl|local)';


Now it looks like:

.text
.align 4
.zero   4
GHC_ZCCCallable_static_info:
.text
.align 4
.zero   4
.globl GHC_ZCCReturnable_static_info


and elfdump shows:

Section Header[1]:  sh_name: .text
sh_addr:  0   sh_flags:   [ SHF_ALLOC SHF_EXECINSTR ]
sh_size:  0x213c  sh_type:[ SHT_PROGBITS ]


and size 0!

[...]
 [206]  0x213c 0x  NOTY GLOB  D0 .text
GHC_ZCCReturnable_static_info

Is this going to work?


Should be ok, yes.  The .size and .type information is only used when linking 
dynamically (at least on platforms I'm familiar with, which doesn't include 
Solaris), and we're only using static libraries here.


It might be more correct for _info symbols to get .type function, since they're 
followed by code.  I don't think we should worry about this though.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: haskell static libraries issue on Solaris 10 x86...

2007-06-11 Thread Simon Marlow

Christian Maeder wrote:

Rod Evans schrieb:

If this solves your problem ghc has a problem with object splitting
under some solaris linkers

Are you talking about the size issue we're presently discussing, or
another issue in which the Solaris linkers fail you?  We'd be happy to
work with you directly to investigate things.


I'm only talking about this size issue. The size problem occurs already
in PrimOps.o (that is created from C-- sources PrimOps.cmm).

Object splitting created the original file Utils__90.o with the size
problem.
http://www.opensolaris.org/jive/thread.jspa?threadID=32325tstart=0

(I don't now yet if the original Utils.o has a size problem, too.)

I suppose creating object files from plain C should not result in object
files with a size problem.

Simon, do you have any idea why PrimOps.o has this problem (although
only for a picky new linker)?


Thanks for the pointer.  I'm guessing the bogus .size information is a result of 
the reorganisation of the .s file that we do before assembling it: gcc inserts 
.size directives, we move things around in the .s, and at the end it the .size 
directives aren't right any more.


The only reason we keep the .size directives around at all is because certain 
tools (like Valgind for example) don't work without .size information.  GHC 
itself, including our dynamic linker, works fine without it.


I can't tell exactly what has gone wrong in this particular instance - you'll 
need to compile the offending module with -keep-raw-s-file -keep-s-file and 
inspect those .size directives.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: haskell static libraries issue on Solaris 10 x86...

2007-06-11 Thread Simon Marlow

Christian Maeder wrote:

Simon Marlow schrieb:

The only reason we keep the .size directives around at all is because
certain tools (like Valgind for example) don't work without .size
information.  GHC itself, including our dynamic linker, works fine
without it.

I can't tell exactly what has gone wrong in this particular instance -
you'll need to compile the offending module with -keep-raw-s-file
-keep-s-file and inspect those .size directives.


At the end of PrimOps.raw_s there (probably correctly) is:

.globl GHC_ZCCReturnable_static_info
.align 4
.type   GHC_ZCCReturnable_static_info, @object
.size   GHC_ZCCReturnable_static_info, 4
GHC_ZCCReturnable_static_info:
.zero   4

All .text blocks are followed by p2align 2,,3 and typically look like:
.string delayzh_fast
.text
.p2align 2,,3

In PrimOps.s it looks (wrongly mangled?) like this:

.text
.align 4
.type   GHC_ZCCReturnable_static_info, @object
.size   GHC_ZCCReturnable_static_info, 4
.zero   4
.globl GHC_ZCCReturnable_static_info
GHC_ZCCReturnable_static_info:


Right, I see the problem.  The mangler moved the symbol to the end of the 
structure as it was supposed to (info tables are laid out backwards in memory), 
but it left the .size directive in place.  There apparently isn't a way to 
indicate the size of a structure that has a symbol at the end and not one at the 
beginning :-)


I guess we should just eliminate the .size directives if the linker is going to 
be picky about them.  In ghc-asm.lprl you'll find


$T_COPY_DIRVS   = '^\s*\.(globl|type|size|local)';

if you change it to

$T_COPY_DIRVS   = '^\s*\.(globl|local)';

that will get rid of all the .size directives.  It's a bit brutal, but there 
isn't an easy way currently to just elimiante the problematic ones (the native 
code generator should generate the right thing, it's just the via-C code path 
that goes wrong).


Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: release notes

2007-06-08 Thread Simon Marlow

Frederik Eaton wrote:

OK I see, I was switching from a ghc-6.6.20070420 binary release to
the Debian package. I must have installed the 'extralibs' package or
something together with the former...?


Just to be clear, ghc-6.6.20070420 isn't a release, it's a snapshot.  You 
probably installed the binary distribution produced by our overnight build, 
which does include the extralibs.


The Debian package splits out the extralibs into separate packages, so you can 
install and upgrade them separately.


Cheers,
Simon



Frederik

On Thu, Jun 07, 2007 at 04:23:17PM +0100, Simon Marlow wrote:

Frederik Eaton wrote:

Hello,
Perhaps it's a bit late, but should the release notes for 6.6.1
mention that many libraries have been split off from the main package
(at least in the Debian version)?
I am looking here:
/usr/share/doc/ghc6/changelog.Debian.gz
and here:
http://haskell.org/ghc/docs/6.6.1/html/users_guide/release-6-6-1.html
and I don't see anything.
That change happened in version 6.6, you'll see it in the 6.6 release notes. Incedentally, I think the 6.6.1 
manual should have contained the 6.6 release notes too, perhaps that was an oversight.


Cheers,
Simon





___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: release notes

2007-06-07 Thread Simon Marlow

Frederik Eaton wrote:

Hello,

Perhaps it's a bit late, but should the release notes for 6.6.1
mention that many libraries have been split off from the main package
(at least in the Debian version)?

I am looking here:

/usr/share/doc/ghc6/changelog.Debian.gz

and here:

http://haskell.org/ghc/docs/6.6.1/html/users_guide/release-6-6-1.html

and I don't see anything.


That change happened in version 6.6, you'll see it in the 6.6 release notes. 
Incedentally, I think the 6.6.1 manual should have contained the 6.6 release 
notes too, perhaps that was an oversight.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Build failures on Mac OS X 10.5

2007-05-24 Thread Simon Marlow

Deborah Goldsmith wrote:

On May 23, 2007, at 2:08 AM, Simon Marlow wrote:

Deborah Goldsmith wrote:

On May 22, 2007, at 1:59 AM, Christian Maeder wrote:

What are you trying to achieve? Did you compile parts with ghc-6.6 and
ghc-6.6.1? (That may explain the crash.)

If you have installed my binary distribution you don't need to compile
the sources anymore (except for the sake of testing).
This is purely for the sake of testing. As the subject indicates, I'm 
trying to build GHC from source on 10.5. I've built earlier versions 
successfully on 10.4.
I did do a make clean between attempts, but I will try throwing the 
source directory away and re-extracting from the tar archive next.


One possibility is that if you compiled GHC via C (I believe this is 
still the default in 6.6.1), then changes in the gcc shipped with 10.5 
might be causing problems.  You might get further by adding


SRC_HC_OPTS = -O -fasm
GhcStage1HcOpts = -O -fasm
GhcStage2HcOpts = -O -fasm
GhcLibHcOpts= -O -fasm

to your mk/build.mk.  This might fix your build, but you'll still be 
left with some incompatibility between GHC and the gcc in 10.5.  You 
already encountered one such problem, when using -split-objs, right?  
If you get a successful build it should be easier to debug this.


I already have a usable build -- the 6.6.1 binary release that Christian 
put together works fine on 10.5.


Actually there appears to be a problem with that 6.6.1 binary release, at least 
on your system.  Both crashes that you described were in the stage1 compiler, 
which is compiled by your installed 6.6.1.  So either


  (a) your installed 6.6.1 is generating bogus code (which is why I suspected a
  gcc incompatibility, because that would explain why Christian doesn't
  see the same crash)

  (b) there's a bug in GHC which makes it segfault on OS X 10.5.

I'd say (b) is highly unlikely - GHC just a Haskell program (well, mostly), and 
it therefore shouldn't segfault.


Still, you tried with -O -fasm and that didn't help.  So I'm at a loss to 
explain why your stage1 GHC is crashing.  Probably the only way forward at this 
point is to get out gdb and figure out what's going wrong.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: binary distribution problem

2007-05-10 Thread Simon Marlow

John Meacham wrote:


also, ghc seems to produce noticibly faster 32 bit code than 64 bit
code.


I haven't observed that here, although the GC overhead for 64-bit binaries tends 
to be higher because it's shuffling twice as many bytes around.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Build failures on Mac OS X 10.5

2007-05-08 Thread Simon Marlow

Deborah Goldsmith wrote:

 Actually, I'm not sure that's what's going on. The unresolved symbol
 error is:

 ../../compiler/ghc-inplace -H16m -O -fglasgow-exts -cpp -Iinclude
 -#include HsBase.h -funbox-strict-fields -package-name  base-2.1.1
 -O -Rghc-timing -fgenerics  -fgenerics -split-objs-c
 Foreign/C/Error.hs -o Foreign/C/Error.o  -ohi Foreign/C/Error.hi
 /tmp/ghc78351_0/ghc78351_0.split__108.s:unknown:Undefined local symbol
 L_strerror$UNIX2003$stub

 So the reference actually is to the version *with* $UNIX2003 appended.
 Also, both strerror and strerror$UNIX2003 are present in the library
 being linked against, so if the FFI were going straight to strerror (old
 version), it would find it, because it's still there for compatibility.

 The only way that a symbol like L_strerror$UNIX2003$stub would be
 generated would be if someone *were* including unistd.h. There's no way
 the $UNIX2003 would creep in otherwise. Also, it says it's a local
 symbol. Also note the leading L; I would expect the symbol to be
 _strerror$UNIX2003$stub. The actual symbols exported by
 /usr/lib/libSystem.dylib in 10.5 are:

 c59c T _strerror
 000b7fb4 T _strerror$UNIX2003

Ok, then we'll have to dig further.  Suggestions:

  - turn off splitting: add SplitObjs=NO to mk/build/mk.  If this makes
the error go away, then the problem is likely in the split script
(driver/split/ghc-split.lprl).

  - If the error is still there without splitting, then compile the
module with -keep-tmp-files, and take a look at the .s and .raw_s
files to see where the local symbol is coming from.

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Build failures on Mac OS X 10.5

2007-05-07 Thread Simon Marlow

Deborah Goldsmith wrote:

I believe what's going on here is that strerror has been changed for 
better Unix conformance, under the control of the __DARWIN_UNIX03 
preprocessor flag. This is something you'll see in 10.4.x too. Here's an 
excerpt from /usr/include/unistd.h on 10.4.9:


#if __DARWIN_UNIX03
pid_tsetpgrp(void) __DARWIN_ALIAS(setpgrp);
#else /* !__DARWIN_UNIX03 */
int  setpgrp(pid_t pid, pid_t pgrp);/* obsoleted by 
setpgid() */

#endif /* __DARWIN_UNIX03 */

where __DARWIN_ALIAS and __DARWIN_UNIX03 come from 
/usr/include/sys/cdefs.h:


#if __DARWIN_UNIX03  !defined(__LP64__)
#define __DARWIN_ALIAS(sym) __asm(_ __STRING(sym) $UNIX2003)
#else
#define __DARWIN_ALIAS(sym)
#endif

The idea behind this is that if something is compiled with 
__DARWIN_UNIX03 (for Unix 2003 conformance) it links to a version of the 
routine with $UNIX2003 appended (for 32-bit architectures). If not, it 
gets the old version (for compatibility). In 10.5, strerror() now falls 
under this switch where it didn't in 10.4:


char*strerror(int) __DARWIN_ALIAS(strerror);

(In this case the function signature hasn't changed as it did with 
setpgrp, but presumably the semantics have.)


I don't have a MacOS X machine here to investigate, but I can take a guess at 
what the problem is.  When GHC compiles using its built-in native code 
generator, the names of functions mentioned in FFI declarations are taken 
literally: nothing is reading /usr/include/unistd.h, so there's no way to make 
the connection between strerror and strerror$UNIX2003.  To justify this, we say 
that the Haskell FFI is binding to the C ABI, not API.


The way to work around it is to add a stub C function to one of the C files in 
the base package, e.g. HsBase.h.  There are many such stubs there already, for C 
functions that are implemented as macros.  In most cases the C standard says 
which functions are allowed to be implemented as macros, so we can use 
appropriate stubs to forestall such issues, but changing the name with __asm 
doesn't count as a macro (presumably that's why you guys did it this way?).


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: GHC 6.6 panic from Data.Binary.Builder? reproducible on linux and mac os/x

2007-04-30 Thread Simon Marlow

S. Alexander Jacobson wrote:

How to reproduce:

$ curl http://searchpath.org/searchpath/SearchPath.hs  SearchPath.hs
$ ghc --make SearchPath.hs -o sp
$ ./sp -f runghc --sp HAppS.Protocols.HTTP.FileServer --http-port=7000

searchpath will download all the needed modules and calls out to shell 
to run this:
  runghc -i.haskell_cache/http_searchpath.org-default.map.cache 
.haskell_cache/http_searchpath.org-default.map.cache/HAppS/Protocols/HTTP/FileServer.hs 
--http-port=7000


which produces the following error:

  ghc-6.6: panic! (the 'impossible' happened)
(GHC version 6.6 for i386-apple-darwin):
  ByteCodeFFI.mkMarshalCode_wrk(x86) L_

  Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug


This particular panic was fixed in 6.6.1.  It was a missing case in the handling 
of foreign imports by the byte-code compiler.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1275: ghci debugger is broken in the HEAD

2007-04-16 Thread Simon Marlow

Ian Lynagh wrote:

On Sat, Apr 14, 2007 at 05:36:57PM -, GHC wrote:

#1275: ghci debugger is broken in the HEAD

 Thanks, we are aware of this, we believe it is related to Wolfgang'
 patches changing the symbol names of datacons.

 But Bernie will be out for the next two weeks or so, and I haven't looked
 at his code for datacon recovery yet. I might give a look anyway, with an
 eye open for an easy fix.


It's not particularly urgent; I was just sorting out the testsuite
unexpected failures and it's nice to be able to point at a bug when
marking a test as expected to be broken, so that when you come back to
it in a couple of months time you know what's going on.


I'm working on Bernie's patches with a view to committing something soon - 
hopefully this week.  The new breakpoint code is sharing code with the coverage 
implementation, so I want to make sure we haven't broken anything.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: ghci question

2007-04-04 Thread Simon Marlow

Duncan Coutts wrote:

On Wed, 2007-04-04 at 00:01 +0100, Frederik Eaton wrote:

Hello,

This is a bit lame but I don't know where to find the information...

I am wondering if ghci is OK to use with threads now. It seems to work
but I have written down in some of my source code that a certain
function won't work under ghci because it uses threads and I can't
remember what the symptom of the problem was.


Some Haskell libs that bind to foreign thread-unsafe libraries cannot
safely be used with multiple Haskell threads in the threaded runtime
system (and of course ghhci uses the threaded rts these days).

In particular GUI libs are affected by this. For example you can use
Gtk2Hs in GHCi, but if you forkIO and call GUI stuff from multiple
threads... boom (or more likely an xlib error or segfault). There's info
on the Gtk2Hs site about how to do it safely.


Also, there are some library functions that will block all Haskell threads 
unless used with the threaded RTS (e.g. System.Process.waitForProcess).  These 
are now safe to use with GHCi.


Cheers,
Simon


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1110: Setting PATH needed in Windows Vista

2007-04-02 Thread Simon Marlow

Ross Paterson wrote:

On Mon, Apr 02, 2007 at 10:48:11AM -, GHC wrote:

 [http://www.makegamegold.com World Of Warcraftwow
 gold][http://www.makegamegold.com/default.asp?cateid=6 wow
 gold][http://www.makegamegold.com/default.asp?cateid=6 gold wow


So the ticket spammers have arrived at the GHC trac (having already
attacked the Hugs and Hackage ones).  Deleting seekgzl would be a
stop-gap measure, but we need a real defence.


I've removed the account, deleted all the spam, and turned off modifications by 
unknown users for now.


We really need to upgrade Trac and get those anti-spam tools!

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1110: Setting PATH needed in Windows Vista

2007-04-02 Thread Simon Marlow

Ross Paterson wrote:

On Mon, Apr 02, 2007 at 10:48:11AM -, GHC wrote:

 [http://www.makegamegold.com World Of Warcraftwow
 gold][http://www.makegamegold.com/default.asp?cateid=6 wow
 gold][http://www.makegamegold.com/default.asp?cateid=6 gold wow


So the ticket spammers have arrived at the GHC trac (having already
attacked the Hugs and Hackage ones).  Deleting seekgzl would be a
stop-gap measure, but we need a real defence.


If anyone wants to delete spam on the other Tracs, then the little script in 
~simonmar/bin/delete-ticket-changes will probably be useful.


I tried removing messages from the list archive, but it doesn't seem to be 
possible without breaking the URLs of existing messages unfortunately.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] Visual Haskell install error

2007-03-28 Thread Simon Marlow
Thanks for the analysis.  You can use the GHC bug tracker for tickets against 
Visual Haskell - just set the Component field to Visual Haskell. 
Unfortunately we can't guarantee to fix anything promptly; Krasimir Angelov is 
the only person actively working on Visual Haskell, and he's been quiet recently.


Cheers,
Simon

Liam Clarke wrote:


Did you use the default install directory or a custom one? A custom 
directory what caused this error for me. The simple solution was to 
uninstall and reinstall to the default Program Files\Visual Haskell path.


Alternately, have a look at this file here - 
http://darcs.haskell.org/vshaskell/vs_haskell_setup/setup.vbs


What's failing is the calls to regsvr32.exe - if you search your system 
for vs_haskell.dll, you'll most likely find that it's in... C:\Program 
Files\Visual Haskell\bin, no matter what install directory you specified.


If you check the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Visual 
Haskell\Visual Studio version\InstallDir you'll see that it's set to 
the one you specified (where Visual Studio version is 7.1 for 2003 and 
8.0 for VS 2005.


So what's happening is that regsvr32 is trying to find the DLL's in the 
\bin directory of your specified install dir, but the DLL's are over in 
Program Files... not sure what other bugs this could introduce, hence 
why I reinstalled to Progam Files etc. If you run the following three 
commands in a command prompt, it should work to some extent, but I'll 
reiterate that I haven't tested this.


regsvr32.exe /i:8.0 /n /s C:\Program Files\bin\vs_haskell.dll
regsvr32.exe /i:8.0 /n /s C:\Program Files\bin\vs_haskell_babel.dll
regsvr32.exe /i:8.0 /n /s C:\Program Files\bin\vs_haskell_babel.dll

VS 2003 users should replace 8.0 with 7.1...

Now, is there a bug tracker anywhere for this, or is it just the mailing 
list? I think the hardcoded paths in 
http://darcs.haskell.org/vshaskell/vs_haskell_setup/Common.wxs need to 
be tweaked, or the reg key(s) modified. :-)


Anyway, hope that helps you, good luck.

Liam Clarke


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs



___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: How about change prep-bin-dist-mingw's default enviroment up todate?

2007-03-14 Thread Simon Marlow

Claus Reinke wrote:



ps there has to be a less ugly way to get the doc path than this, though:
   ghc-pkg field base haddock-html | sed -e 's/^[^:]*: //' -e 
's/$topdir/echo `ghc --print-libdir`/e'


http://hackage.haskell.org/trac/ghc/ticket/937

This fix will be in 6.6.1.

Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1196: Cabal on Windows doesn't like the in-place GHCs

2007-03-06 Thread Simon Marlow
Ah, so you did, thanks for reminding me.  We still need to do something about 
ghc-pkg, though.


Cheers,
Simon

Sigbjorn Finne wrote:
I added support for generating .bat files (to HEAD, I believe) for these 
in-place
wrappers some time ago just to address this issue, so you may want to 
look into

dragging those Makefile mods over.

--sigbjorn

On 3/5/2007 08:58, GHC wrote:

#1196: Cabal on Windows doesn't like the in-place GHCs
-+-- 

Reporter:  igloo |   Owner: Type:  
bug   |  Status:  newPriority:  normal|   
Milestone:  _|_   Component:  Compiler  | Version:  6.6
Severity:  normal|Keywords:   Difficulty:  Unknown   
|Testcase:  cabal01

Architecture:  Unknown   |  Os:  Windows
-+-- 


From e.g. a cmd prompt, Windows doesn't like the in-place GHCs:
 {{{
 C:\C:\cygwin\home\ian\ghc\6.6-branch\build\compiler\stage2\ghc-inplace
 'C:\cygwin\home\ian\ghc\6.6-branch\build\compiler\stage2\ghc-inplace' is
 not recognized as an internal or external command, operable program or
 batch file.

 C:\cat C:\cygwin\home\ian\ghc\6.6-branch\build\compiler\stage2\ghc-
 inplace
 #!/bin/sh
 exec C:/cygwin/home/ian/ghc/6.6-branch/build/compiler/stage2/ghc
 -BC:cygwinhomeianghc6.6-branchbuild $@
 }}}
 which means the cabal01 test fails thus:
 {{{
 $ ./setup configure --prefix=`pwd`/install --with-
 compiler=C:/cygwin/home/ian/ghc/6.6-branch/build/compiler/stage1/ghc-
 inplace --with-hc-pkg=../../../../../utils/ghc-pkg/ghc-pkg-inplace
 --enable-library-profiling
 setup.exe: Warning: Package is copyright All Rights Reserved
 setup.exe: Warning: No license-file field.
 'C:\cygwin\home\ian\ghc\6.6-branch\build\compiler\stage1\ghc-inplace' is
 not recognized as an internal or external command,
 operable program or batch file.
 Configuring test-1.0...
 }}}
 (the odd output order is due to buffering)

  



___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
  


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs



___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1171: GHC doesn't respect the imprecise exceptions semantics

2007-02-28 Thread Simon Marlow

Neil Mitchell wrote:

Hi


 In response to Neil: why use `unsafePerformIO` rather than IO exceptions
 here?  I think you're asking for more trouble...


Are you referring to ioError? My knowledge of exceptions in Haskell is 
limited.


The error architecture is often a long way from the IO monad, so
whatever we do can't require the IO monad.


Yes - the example was in the IO monad so I thought you could use IO exceptions. 
 In any case, I don't recommend using 'error' (or indeed 'unsafePerformIO') for 
errors you report to the user, purely because of its non-deterministic 
semantics.  If you use a suitable error monad or IO exceptions, you can be sure 
that you'll get the same behaviour regardless of compiler or optimisation settings.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


RE: [GHC] #1171: GHC doesn't respect the imprecise exceptions semantics

2007-02-28 Thread Simon Marlow
 The code in YHC is roughly if some list is empty then error No files
 found
 else error Many files found. If this code were changed to the
 equivalent
 of error (if some list is empty then No files found else Many files
 found), would there still be circumstances where the actual output
 produced could vary?

Maybe.  If GHC knows that error is strict (which it might well do) then you 
could be back where you started.

Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1171: GHC doesn't respect the imprecise exceptions semantics

2007-02-28 Thread Simon Marlow

Simon Marlow wrote:

The code in YHC is roughly if some list is empty then error No files
found
else error Many files found. If this code were changed to the
equivalent
of error (if some list is empty then No files found else Many files
found), would there still be circumstances where the actual output
produced could vary?


Maybe.  If GHC knows that error is strict (which it might well do) then you 
could be back where you started.


Oops, error isn't strict, never mind.

Cheers,
Simon


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #1171: GHC doesn't respect the imprecise exceptions semantics

2007-02-28 Thread Simon Marlow

Simon Marlow wrote:

Simon Marlow wrote:

The code in YHC is roughly if some list is empty then error No files
found
else error Many files found. If this code were changed to the
equivalent
of error (if some list is empty then No files found else Many files
found), would there still be circumstances where the actual output
produced could vary?


Maybe.  If GHC knows that error is strict (which it might well do) 
then you could be back where you started.


Oops, error isn't strict, never mind.


Ok, so error *is* strict.  Please ignore me, I have a cold and I'm having a bad 
day :-(


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: trac-ticket/955

2007-02-07 Thread Simon Marlow

Christian Maeder wrote:

For some reason I cannot login using guest guest

http://hackage.haskell.org/trac/ghc/ticket/955

I only want to suggest to change the milestone to 6.8.

Although the code-bloat is not nice, we could live with it.


Somebody changed the password for guest again.  I must figure out how to disable 
that.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Stretching the Storage Manager a little too much...

2007-01-30 Thread Simon Marlow

Michael Weber wrote:
[I am reading ghc-bugs via the list archives, Cc'ing me would make me 
see responses faster]


Here's a simple memoization function:

applyMemo :: (Eq a1,Show a1) = (a1 - b) - MVar [(a1,b)] - (a1 - b)
applyMemo f refTable x1 = unsafePerformIO $ do
-- print x1
table - takeMVar refTable
let key = x1
case lookup key table of
  Nothing - do
let result = f x1
putMVar refTable $! (key,result):table
return result
  Just memo - putMVar refTable table  return memo


The code above is a cut-down example.  Initially, I tried to use 
Data.HashTable, then IORef (Data.Map ...), then MVars.  However, what 
remains is that I get funny results: loop, thread blocked 
indefinitely, hangs, depending on the exact implementation of 
applyMemo, whether I use ghci or ghc, and which function I memoize 
(something with a more interesting call pattern than fib).


Would you mind submitting a complete test case that we can use to reproduce the 
problem?  We can probably reconstruct one from your description, but you 
probably already have the code lying around.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Bug interactive: internal error: interpretBCO: unknown or unimplemented opcodes

2007-01-16 Thread Simon Marlow

Matthew Sackman wrote:


interactive: internal error: interpretBCO: unknown or unimplemented opcode 
20196
(GHC version 6.6 for i386_unknown_linux)
Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
Aborted


Thanks for the report - this bug has already been fixed, see

  http://hackage.haskell.org/trac/ghc/ticket/1013

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: (no subject)

2006-12-19 Thread Simon Marlow

mm wrote:

I can not login to the GHC Trac with the login/password suggested at the 
homepage.

Could someone please confirm that it is currently not working?


Someone changed the password for 'guest' :-(  Now fixed.

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: bug in GHC master Makefile

2006-12-15 Thread Simon Marlow

Norman Ramsey wrote:

'make uninstall' silently does nothing:


I'm not aware of 'make uninstall' ever working, in fact I don't think I've ever 
tried it.  Probably we should just disable it, I'm not sure it's worth the 
trouble to get it right.  Ian, what do you think?



P.S. The web interface for submitting bugs won't let me log in.


that's bad, what happened?

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: help with threadDelay

2006-11-22 Thread Simon Marlow

Ian Lynagh wrote:

[moving to glasgow-haskell-bugs]

On Wed, Nov 15, 2006 at 11:40:12PM +, Neil Davies wrote:


however when -threaded is used you get some interesting effects,
including returning too early:

Tgt/Actual = 0.000125/0.34s, diff = -0.91s



Thanks for the report; I can reproduce it on Linux/amd64.

OK, so the bug here is that threadDelay n might return after less than n
microseconds.

This looks like it's caused by truncation problems when converting times
to ticks (where a tick is 1/50 of a second), e.g. while trying to sleep
for 1.953125s one run started at 1164157960.773726s which is
  (Int) 1164157960 * 50 + 773726 * 50 / 100
= (Int) 58207898038.6863
= 58207898038 ticks
and woke the thread up at 1164157962.708609s which is
  (Int) 1164157962 * 50 + 708609 * 50 / 100
= (Int) 58207898135.4305
= 58207898135 ticks

The difference is 58207898135 - 58207898038 = 97 ticks.

Meanwhile we're trying to sleep for
  (Int) 50 * 1.953125
= (Int) 97.65625
= 97 ticks

However, 1164157962.708609s - 1164157960.773726s = 1.93488311767578s
which is 0.0182418823242201s too short.

The problem is that we have counted 0.6863 ticks before the start time,
not counted 0.4305 ticks before the finish time and have been waiting
0.65625 ticks too short a time. Thus we have counted
(0.6863-0.4305 + 0.65625) / 50 == 0.018241 too much time.

I think the answer is that

let target = now + usecs `quot` tick_usecs

in GHC/Conc.lhs should be

let target = 1 + now + (usecs + tick_usecs - 1) `quot` tick_usecs

I'm also a bit dubious about the use of the constant 50 for the number
of ticks per second, but the results with +RTS -V0.001 don't look any
more wrong so perhaps I just need to get some sleep.


The hardcoded 50 in GHC/Conc.lhs matches up with TICK_FREQ in 
libraries/base/includes/HsBase.h.  It could probably be made larger without any 
ill effects.  I agree that we should round up the target time to the nearest 
tick rather than rounding down, though.


Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: cabal, extralibs, no happy

2006-11-07 Thread Simon Marlow

Christian Maeder wrote:


3. the happy-1.15 sources can not be compiled due to

http://haskell.org/ghc/docs/6.6/html/users_guide/release-6-6.html
#
The HasBounds class has been removed from Data.Array.Base, and its
bounds method is now in the IArray class. The MArray class has also
gained a method getBounds.
#

Is there any easy fix?


Yes, get Happy from darcs:  http://darcs.haskell.org/happy

I'm currently preparing the 1.16 release, you can get a release candidate here: 
http://haskell.org/happy/happy-1.16rc2.tar.gz.  Feedback very welcome.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: smart relinking bug

2006-10-23 Thread Simon Marlow

Lemmih wrote:

On 10/21/06, Bulat Ziganshin [EMAIL PROTECTED] wrote:


Hello Lemmih,

Saturday, October 21, 2006, 8:11:02 PM, you wrote:

 gcc -c -o a.o a.c
 ghc --make Main.hs a.o

 this command incorrectly don't relinks executable if a.c was changed
 but Main.hs wasn't

 Did you mean a.o instead of a.c?

if a.c changes then first line will recompile it and change a.o too :)
for '--make' command a.o will be changed and main.hs remains old



Ah, I didn't read the two lines as a single command.

I think adding something like this to DriverPipeline should fix it:

   extra_ld_inputs - readIORef v_Ld_inputs
   extra_times - mapM (IO.try . getModificationTime) extra_ld_inputs)
   let linking_needed
   | Left _  - e_exe_time = True
   | Right t - e_exe_time =
   any (t ) (map linkableTime linkables) ||
   any (t ) [ t' | Right t' - extra_times ]


Looks good - you can simplify with a ++ instead of the ||, though.

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Broken snapshot archives

2006-09-29 Thread Simon Marlow

Tomasz Zielonka wrote:


Some recent GHC snapshot files seem to be broken.
For example with

http://www.haskell.org/ghc/dist/current/dist/ghc-6.5.20060927-i386-unknown-linux.tar.bz2
I get:
$ tar jxf ghc-6.5.20060927-i386-unknown-linux.tar.bz2

bzip2: Compressed file ends unexpectedly;
perhaps it is corrupted?  *Possible* reason follows.
bzip2: Inappropriate ioctl for device
Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become
corrupted.
You can use the -tvv option to test integrity of such
files.

You can use the `bzip2recover' program to attempt to
recover
data from undamaged sections of corrupted files.

tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now


Yes, this is due to a long-standing problem with our firewalls that sometimes 
cause corruption of an SSH connection.  I'll try to make it retry or delete the 
file on failure instead of leaving a broken tarball in place.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Bogus stats when running SMP programs

2006-09-27 Thread Simon Marlow

Tomasz Zielonka wrote:

On Tue, Sep 26, 2006 at 01:46:30AM +0100, Ian Lynagh wrote:


I couldn't reproduce this with a simple program that forked off 4
threads to do computation on a single CPU machine, and neither could
someone on IRC with head from Sep 15 on a Core Duo.

Is it possible to send us a small example program along with exactly
what flags you used to compile and run it please?



It turns out it happens even with the simplest program:

main = return

Compilation command:

ghc -threaded --make B -o B

Running:

[EMAIL PROTECTED]:~/src/par$ ./B +RTS -sstderr
./B +RTS -sstderr
 21,864 bytes allocated in the heap
  1,404 bytes copied during GC (scavenged)
  4,156 bytes copied during GC (not scavenged)
 21,936 bytes maximum residency (1 sample(s))

  1 collections in generation 0 (  0.00s)
  1 collections in generation 1 (  0.00s)

  1 Mb total memory in use

  Task  0 (worker) :  MUT time: 402094045.13s  (  0.00s elapsed)
  GC  time:   0.00s  (  0.00s elapsed)

  Task  1 (worker) :  MUT time: 200.00s  (  0.00s elapsed)
  GC  time:   0.00s  (  0.00s elapsed)

  Task  2 (worker) :  MUT time:   0.00s  (  0.00s elapsed)
  GC  time:   0.00s  (  0.00s elapsed)

  INIT  time0.00s  (  0.00s elapsed)
  MUT   time0.00s  (  0.00s elapsed)
  GCtime0.00s  (  0.00s elapsed)
  EXIT  time0.00s  (  0.00s elapsed)
  Total time0.00s  (  0.00s elapsed)

  %GC time   0.0%  (11.5% elapsed)

  Alloc rate21,864,000,000 bytes per MUT second

  Productivity 100.0% of total user, 0.2% of total elapsed

It doesn't happen when I compile without -threaded. But it doesn't show
task statistics then.


Perhaps clock_gettime() is returning strange results on your system.  Could you 
try compiling with -threaded -debug, and run the program under gdb.  Set a 
breakpoint in getThreadCPUTime(), and take a look at what gets returned by 
clock_gettime().


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Summary of GHC 6.6 test suite failures on MSYS/MinGW

2006-09-27 Thread Simon Marlow

Brian Smith wrote:
On 9/26/06, *Simon Marlow* [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


Brian Smith wrote:
 
  The test always failed. When I decreased the number of threads in the
  test from 5,000 to 1,400 or so, then the tests passed sometimes, and
  sometimes failed. Decreasing the number of threads to under a
thousand
  made the test pass consistently. IIRC, the test failed almost
  immediately upon executing.

conc023 creates 5000 threads that all do threadDelay with varying
delays.  On Windows, with both the threaded and non-threaded
runtimes, this results in 5000 OS threads being created, which is
usually enough to fill up your VM. 



I intend to fix this, at least in the threaded RTS, in fact it'll be
part of the
fix for http://hackage.haskell.org/trac/ghc/ticket/637.  The I/O
manager thread
handles sleeps and signals, but currently isn't implemented on Windows.


It already passes in the threaded RTS and every other way except GHCi: 
normal, opt, optasm, prof, profasm, threaded1, and threaded2. That is 
what I thought was strange.


It's slightly odd that the test only runs out of memory in GHCi, but I doubt 
there's anything GHCi-specific about the problem, just probably GHCi needs more 
memory full stop.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Bogus stats when running SMP programs

2006-09-27 Thread Simon Marlow

Tomasz Zielonka wrote:

On Wed, Sep 27, 2006 at 09:25:39AM +0100, Simon Marlow wrote:

Perhaps clock_gettime() is returning strange results on your system.  Could 
you try compiling with -threaded -debug, and run the program under gdb.  



When I compile with -threaded -debug, the stats are OK :-/


Ok, maybe try strace?

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Summary of GHC 6.6 test suite failures on MSYS/MinGW

2006-09-26 Thread Simon Marlow

Brian Smith wrote:

On 9/25/06, *Ian Lynagh* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote:

On Wed, Sep 13, 2006 at 12:23:27PM -0500, Brian Smith wrote:

  * conc023(ghci)
 
  This test only fails when run via GHCi. This test runs out of
memory. The
  error message to stderr is:
 conc023: failed to create OS thread: Not enough storage is
available to
  process this command.
 
  When I came back to the computer I saw that Windows was warning
me that I
  was out of virtual memory and that it was increasing my page file
size. I
  have 1GB of RAM which I think should be sufficient to run the
testsuite
  successfully.

Does that happen repeatably?


The test always failed. When I decreased the number of threads in the 
test from 5,000 to 1,400 or so, then the tests passed sometimes, and 
sometimes failed. Decreasing the number of threads to under a thousand 
made the test pass consistently. IIRC, the test failed almost 
immediately upon executing.


conc023 creates 5000 threads that all do threadDelay with varying delays.  On 
Windows, with both the threaded and non-threaded runtimes, this results in 5000 
OS threads being created, which is usually enough to fill up your VM.


I intend to fix this, at least in the threaded RTS, in fact it'll be part of the 
fix for http://hackage.haskell.org/trac/ghc/ticket/637.  The I/O manager thread 
handles sleeps and signals, but currently isn't implemented on Windows.


Now, when I tried to rerun the tests against the latest ghc-6.6, ghc.exe 
is segfaulting on ffi012(ghci), conc049(ghci), and conc023(ghci):


Unhandled exception at 0x0207fc58 in ghc.exe: 0xC005: Access violation.


That's a bit worrying...

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #724: tee complains if used in a process started by ghc

2006-09-04 Thread Simon Marlow

GHC wrote:

#724: tee complains if used in a process started by ghc
---+
  Reporter:  guest |  Owner: 
  Type:  bug   | Status:  new
  Priority:  normal|  Milestone:  6.8
 Component:  libraries/base|Version:  6.4.1  
  Severity:  normal| Resolution: 
  Keywords:| Os:  Unknown

Difficulty:  Moderate (1 day)  |   Architecture:  Unknown
---+
Changes (by igloo):

  * milestone:  6.6 = 6.8


we might be able to get this into 6.6.1, it doesn't involve any API changes 
(well, perhaps strictly speaking there would be a change in that the std file 
descriptors wouldn't be set to O_NONBLOCK, but I doubt that would affect anyone 
adversely).


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: weird data corruption

2006-08-23 Thread Simon Marlow

Frederik Eaton wrote:

Hey, it looks like the output of two threads is being interleaved one
character at a time. Is that really the most efficient way to schedule
threads? Anyway, so I guess I need to set stdout and stderr to be line
buffered? Perhaps that should be the default setting? ...


stderr is always unbufferred by default, this is pretty standard (I believe it's 
the same in C's stdio).  stdout should be line bufferred if connected to a 
terminal, or block-bufferred if connected to a file.


Cheers,
Simon




2006-08-22 22:49:58 4: querying (select cmdid from pfcq_study_cmdid where 
user=2;)
2006-08-22 22:49:58 4:   duration: 0.5 msec
2006-08-22 22:49:58 4: executing (up2d0a0t6e- 0p8f-c2q2_ s2t2u:d4y9_:c5m8d i3d:  sueste rc m=d i2d,  
=c ocmmmdaindd+ 1=  wrheegries tuesre-rp=a2g;e)-

vi2e0w0
6-20080-62-20 82-22:24 92:25:84 94::5 8   3d:u reaxteicount:i n0g. 3( smtsaerct
 t2r0a0n6s-a0c8t-i2o2n )2
2:24090:65-80 84-:2 2e x2e2c:u4t9i:n5g8  (3c:o m m idtu)r
ation: 5.9e-2 msec
2006-08-22 22:49:58 3: querying (select cmdid from pfcq_study_cmdid where 
user=2;)
2006-08-22 22:49:58 3:   duration: 0.3 msec
2006-08-22 22:49:58 3: executing (update pfcq_study_cmdid set cmdid = cmdid+1 
where user=2;)


Frederik

On Tue, Aug 22, 2006 at 02:43:36PM +0100, Frederik Eaton wrote:


I can't repeat it, but I can let you know if it happens again. I'm
writing with 'hPutStr', but not directly - rather via some modules in
a package I wrote. Kernel is Linux 2.6.16, libc 2.3.6, running Debian.

Frederik

On Tue, Aug 22, 2006 at 10:14:19AM +0100, Simon Marlow wrote:


Can you repeat it?  What API are you using to write the file?  On what OS?

Cheers,
Simon

Frederik Eaton wrote:


Sorry, forgot to say that I was using GHC 6.4.2 the first time, and
ghc-6.4.3.20060816 this time.
Frederik
On Mon, Aug 21, 2006 at 10:45:40PM +0100, Frederik Eaton wrote:


Hi,

I'm seeing some odd data corruption in a log file. Below, the second
line should be a SQL query (prefixed by a timestamp). It's turned into
garbage, but apparently not just random bytes. I'm using HSQL - that's
the only external library, and it uses FFI, so there might be some bad
memory management, but I thought I should ask if other people have
seen something similar. It's the second time this has happened to me.


# fillUpQueue
8-22010 62-20:83-12:12 62:2 :e3x1e:c2u6t:i nqgu e(rdyeilnegt e( sferloemc tp fccoqu_nstt(u*d)y 
_fqruoemu ep fwchqe_rset usdqy__uqsueeru e=  w2h)e

re sq_user = 2)
2006-08-21 22:31:27:   duration: 843.8 msec
# addToQueue
# getNewCards
# getVT
2006-08-21 22:31:27: querying (select max(res_num) from pfcq_study_results 
where res_user = 2)
2006-08-21 22:31:27:   duration: 152.6 msec


Regards,

Frederik

--
http://ofb.net/~frederik/




--
http://ofb.net/~frederik/






___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: weird data corruption

2006-08-22 Thread Simon Marlow

Can you repeat it?  What API are you using to write the file?  On what OS?

Cheers,
Simon

Frederik Eaton wrote:

Sorry, forgot to say that I was using GHC 6.4.2 the first time, and
ghc-6.4.3.20060816 this time.

Frederik

On Mon, Aug 21, 2006 at 10:45:40PM +0100, Frederik Eaton wrote:


Hi,

I'm seeing some odd data corruption in a log file. Below, the second
line should be a SQL query (prefixed by a timestamp). It's turned into
garbage, but apparently not just random bytes. I'm using HSQL - that's
the only external library, and it uses FFI, so there might be some bad
memory management, but I thought I should ask if other people have
seen something similar. It's the second time this has happened to me.


# fillUpQueue
8-22010 62-20:83-12:12 62:2 :e3x1e:c2u6t:i nqgu e(rdyeilnegt e( sferloemc tp 
fccoqu_nstt(u*d)y _fqruoemu ep fwchqe_rset usdqy__uqsueeru e=  w2h)e
re sq_user = 2)
2006-08-21 22:31:27:   duration: 843.8 msec
# addToQueue
# getNewCards
# getVT
2006-08-21 22:31:27: querying (select max(res_num) from pfcq_study_results 
where res_user = 2)
2006-08-21 22:31:27:   duration: 152.6 msec


Regards,

Frederik

--
http://ofb.net/~frederik/






___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: ghc searches for package libraries relative to cwd?

2006-08-21 Thread Simon Marlow

Frederik Eaton wrote:

Hi all,

It seems that ghc is searching for package libraries relative to the
current directory. Is that the intended behavior? ghci does the same
thing, by the way.

$ pwd
/home/frederik/GSLHaskell2
$ ghc --make ../test-proc.hs -package GSL 
Chasing modules from: ../test-proc.hs

Compiling Main ( ../test-proc.hs, ../test-proc.o )
Linking ...
$ cd ..
$ ghc --make test-proc.hs -package GSL 
Chasing modules from: test-proc.hs

Skipping  Main ( test-proc.hs, test-proc.o )
Linking ...
/usr/bin/ld: cannot find -lHSGSL-0.5
collect2: ld returned 1 exit status


GHC searches for libraries using the library-dirs field of the package.  Try 
doing a 'ghc-pkg field GSL library-dirs' and see if there are any relative 
pathnames in there.



Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Incomplete documentation

2006-08-21 Thread Simon Marlow

Neil Mitchell wrote:


Taking a look at:
http://haskell.org/ghc/docs/latest/html/libraries/base/GHC-ConsoleHandler.html#v%3AinstallHandler 



On Windows this has the members:
data ConsoleEvent = ControlC | Break | Close | Logoff | Shutdown
data Handler = Default | Ignore | Catch (ConsoleEvent - IO ())
flushConsole :: GHC.IOBase.Handle - IO ()
installHandler :: Handler - IO Handler

In the docs it has nothing. By not providing documentation, its much
harder for people to use the functions, if they can even figure out
they exist.


Fixed, thanks.

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #843: Dependency information for the linking step

2006-08-09 Thread Simon Marlow

Volker Wysk wrote:

On Tuesday 08 August 2006 14:08, GHC wrote:


#843: Dependency information for the linking step
+--
- Reporter:  [EMAIL PROTECTED] |  Owner:
 Type:  feature request| Status:  new
 Priority:  normal |  Milestone:
Component:  Compiler   |Version:  6.4.1
 Severity:  normal | Resolution:
 Keywords:  dependency generation  | Os:  Linux
Difficulty:  Easy (1 hr)|   Architecture:  Unknown
+--
- Comment (by simonmar):

Then I have another trick for you:

{{{
ghc --make -pgml echo Main.hs -v0 | ghc -e 'interact (unwords . filter
(.o `Data.List.isSuffixOf`) . words)'
}}}

Does this solve the problem?



Yes! I have no idea what's going on, though.


-pgml echo uses echo as the linker program, so the linker command line is 
sent to stdout, then we pipe it through something that extracts the object 
filenames - I used ghc -e, but you could use sed or perl or something else.  The 
version I gave above doesn't work properly if the filenames contain spaces.


However, it triggers another problem, which I haven't reported. When 
calling ghc -M src/prog.hs, where prog.hs is the main module, then the 
name of the object file is reported as src/prog.o. When calling it in 
conjunction with -odir, such as ghc -M -odir build src/prog.hs, then you 
get build/Main.o. Of course this can't be used, because all of the 
programs' main modules become build/Main.o.


This isn't a bug, it's the defined behaviour of -odir.  See the documentation:

http://www.haskell.org/ghc/docs/latest/html/users_guide/separate-compilation.html#output-files

Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Threading woes on FreeBSD

2006-08-08 Thread Simon Marlow

Gregory Wright wrote:


Some additional information on the threading problems
experienced on FreeBSD.  The system was FreeBSD 6.1-RELEASE-p2,
dual 2.8 GHz Xeon.

I built ghc-6.4.2 from cvs using the FreeBSD ports version of ghc-6.4.2.
(The latter has the threaded RTS disabled.)  I ran the ghc-regress tests
on the built compiler.  I used the libmap.conf (5) method to change the
threading library from pthreads to libthr and libc_r.  The build from
cvs uses pthreads by default.

The compiler using pthreads had 47 unexpected failures, and accumulated
about 30 timeout processes, which were just burning cpu cycles.
Using the reentrant c library (libc_r) gave essentially the same result,
with a tens of timeout processes consuming cpu but apparently
doing nothing else.

When I used the 1:1 threading library (libthr) the testing process  
ground to

a halt, with just one timeout process consuming about 95 percent
of the cpu.  I kill the test, since it had not made significant  
progress in about 5 hours.


That's a useful data point, we know that just switching to -lthr or -lc_r will 
not fix this.



I'm going to set aside working on the FreeBSD threading question and
concentrate on threaded runtime problem on OS X.  I had originally
hoped that they would show similar behavior, but that seems to not be
the case.


No problem, I'm on the trail of the FreeBSD problem (on your box :-).

Cheers,
Simon


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Bug in users manual, 6.4.2, section on pattern guards

2006-07-21 Thread Simon Marlow

Matthew Cox wrote:

One example given in this discussion is:

clunky env var1 var1 = case lookup env var1 of
  Nothing - fail
  Just val1 - case lookup env var2 of
Nothing - fail
Just val2 - val1 + val2
where
  fail = val1 + val2

this needs to be fixed to:

clunky env var1 var1 = case lookup env var1 of
  Nothing - fail
  Just val1 - case lookup env var2 of
Nothing - fail
Just val2 - val1 + val2
where
  fail = var1 + var2(Added for emphasis)

I didn't see it myself on the first readthrough, but I was comparing structure 
between two examples
and noticed the discrepency. Let's fix it for correctness' sake.


fixed; thanks.

Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Bug in GHC 6.4.1 and 6.4.2

2006-07-21 Thread Simon Marlow

Fritz Henglein wrote:

According to a message from GHCi, version 6.4.1 (see below; bug also
reproduceable with 6.4.2, though not shown here since it consistently
resulted in a core dump without prior message) under Windows XP (fully
updated per 2006-07-15), I am herewith reporting what appears to be a
bug in GHC.  Please see transcript below; the source file in question
is included as an attachment.  (Lacking both efficient Haskell
programming skills and an understanding of the internals of GHC I have
refrained from attempting to isolate the bug by reducing the code.)
Should there be a simple work-around or something unsafe in my code
(though I wouldn't know what: no unsafe operations are used; no
polymorphism is present), I would greatly appreciate hearing about it.


Thanks, good bug.  The problem was:

 index (minBound::Int16,maxBound) maxBound
-1

ie. index for Int16 should have converted to Int *before* doing the subtraction.

This is related to another problem (that I think we have a ticket for), namely 
that the type of index precludes having really large arrays:


  index :: Ix i = (i,i) - i - Int

if the index must fit in an Int, then GHC can't cope with arrays with more than 
2^31 elements (on a 32-bit machine), and in general Haskell doesn't allow arrays 
with more than 2^29 elements.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Missing haddock documentation

2006-07-04 Thread Simon Marlow

Neil Mitchell wrote:

I'm not sure if anyone has noticed already, but the module
documentation has gone missing:

Linked to from here:
http://haskell.org/ghc/docs/latest/html/libraries/index.html

Does not exist:
http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html

Hoogle relies on these libraries as well, so I got an error when
following a link.


Seems to work ok for now... maybe a transient problem?

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #738: ghc can't load files with selinux Enforcing

2006-07-04 Thread Simon Marlow

Jens Petersen wrote:

  Perhaps someone who knows SELinux would like to describe how to set up
  an exception for GHC so we can put it in the FAQ?

I have added:

  /usr/bin/chcon -t unconfined_execmem_exec_t /path/to/binary/prog

to the %post install scripts of the darcs and haddock packages in Fedora 
Extras for now, and will do the same for the ghc package (it needs it 
for more programs).


This avoids having to set allow_execmem system wide.


I just wonder if the ghc case is harder since programs compiled by ghc


  using the rts need exceptions too not just ghc itself.

Of course if the RTS was a shared library on Linux, then probably just 
its .so file would need to have execmem context set.


I have added this information to the FAQ, thanks.

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: arithmetic sequences and the prelude: minor problems?

2006-06-30 Thread Simon Marlow

Laszlo Nemeth wrote:

Incidentally, [1..5] is accepted (no space between 1 and the dots), 
while [False..True] is not (no spaces after False), which appears to be 
a parsing inconsistency.


It's a bug, but a known one (we have a test in the test suite for it). 
Hugs has the same bug, so at least there's some consistency across 
implementations.


Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: unexpected arithmetic sequence and deriving Enum behaviour

2006-06-30 Thread Simon Marlow

Hi Laszlo,

Laszlo Nemeth wrote:


Consider the following code fragment:

data Colour = Red | Black | Blue deriving (Show, Bounded)

instance Enum Colour where
   succ Red   = Black
   succ Black = Blue
   succ Blue  = error succ of maxBound

   fromEnum Red   = 1
   fromEnum Black = 2
   fromEnum Blue  = 3

   toEnum 1 = Red
   toEnum 2 = Black
   toEnum 3 = Blue
   toEnum n = error (? ++show n)

main = do print $ [Red ..]

Notice that there is no deriving Enum (which would be an error according 
to the Report)


Why do you say that?  Can you give a pointer to the relevant text in the 
report?  I can't see anything wrong here.


The minimal complete instance of Enum consists of toEnum and fromEnum, 
which yours does.


 and there is no definition for 'enumFrom'.


So, in the first place I'd expect a warning for main for the use of the 
arithmetic sequence, something about a missing definition. There isn't 
one, and the program compiles. Interestingly, -ddump-deriv doesn't show 
anything about deriving instances for  Colour, yet, obviously something 
gets derived.


When you run it, it dies with an error message from 'toEnum n' (or 
non-exhaustive pattern if you leave that one out). Looking at core  
reveals the reason for this:



[ core snipped ]


The max bound which gets used is the one for Int, not for Colour!


This is because, as per the report, GHC defines the default method for 
enumFrom as:


enumFrom x = map toEnum [fromEnum x ..]

the sequence on the RHS is at type Int, and hence doesn't terminate 
until it reaches maxBound::Int.



Perhaps you expect that, because your type is also an instance of 
Bounded, that enumFrom should behave differently.  However, there can 
only be one default method for enumFrom.


Perhaps this isn't a bug, but definitely an undocumented and rather 
unexpected 'feature'. This is with ghc-6.4  onwards, and I haven't 
checked earlier versions.


You're right, I don't think it's a bug.  Also, if you had derived Enum 
instead of defining it, you would have got a version that behaved in the 
expected way.  You defined an instance of Enum yourself, and got 
exactly what you asked for!


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: ASSERTION FAILED: file GC.c, line 1352

2006-06-26 Thread Simon Marlow

Joachim Breitner wrote:


I have created a small app here, using gtk and hsql, and I sometimes get
crashes with this debug message:

internal error: ASSERTION FAILED: file GC.c, line 1352

What information do you need to further debug this, or what can I do
myself to find the problem?


We normally need a reproducible test case, which means we'll need the 
code for your example, together with all relevant information: versions 
of everything (GHC, gcc, GTK, HSQL, etc.), and what platform you're 
using.  It's best if you can put all this information into a new ticket 
in the bug tracker: http://hackage.haskell.org/trac/ghc/.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: ghc 6.4.1 failed to build on IRIX64 6.5.29

2006-06-26 Thread Simon Marlow

Andrew Jones wrote:


/tmp/ghc363448.lpp:0: internal compiler error: Abort
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
ghc: 165577416 bytes, 35 GCs, 565100/969672 avg/max bytes residency (2
samples), 17M in use, 0.02 INIT (0.00 elapsed), 6.26 MUT (19.68
elapsed), 0.29 GC (0.41 elapsed) :ghc
gmake[2]: *** [depend] Error 1
gmake[1]: *** [boot] Error 1
gmake[1]: Leaving directory `/disk2/src/ghc-6.4.1/ghc'
gmake: *** [build] Error 1
[EMAIL PROTECTED]


This one appears to be a crash in gcc, not much we can do about that I'm 
afraid.  Try a different version of gcc.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: GHC 6.2.2 and 6.4.1 on IRIX64 both failed, this time with new error

2006-06-26 Thread Simon Marlow

Andrew Jones wrote:

This is the failed 6.4.1 build, but when using 3.4.6 instead of 3.4.0,
both 6.2.2 and 6.4.1 fail this way.

[EMAIL PROTECTED] --version
gcc (GCC) 3.4.6

[EMAIL PROTECTED] -aR
IRIX64 godot 6.5 6.5.29f 01090133 IP27

[EMAIL PROTECTED] --version
The Glorious Glasgow Haskell Compilation System, version 6.2



==fptools== gmake all -wr;
 in /disk2/src/ghc-6.4.1/ghc/rts

../../ghc/compiler/ghc-inplace -L/usr/freeware/lib64 -O2 -static -I.
-#include Prelude.h -#include Rts.h -#include RtsFlags.h -#include
RtsUtils.h -#include StgRun.h -#include Schedule.h -#include Printer.h
-#include Sanity.h -#include STM.h -#include Storage.h -#include
SchedAPI.h -#include Timer.h -#include Itimer.h -#include ProfHeap.h
-#include LdvProfile.h -#include Profiling.h -#include Apply.h -fvia-C
-dcmm-lint -c Apply.cmm -o Apply.o
Cmm lint error:
  in proc stg_ap_0_ret
in basic block c2
  in assignment:
R1 = I32[R1 + 8 + 0];


This looks like an inconsistency in bit widths somewhere: GHC thinks the 
width of a word is 64, but soemthing else thinks its 32 bits.  I suspect 
ghc/includes/DerivedConstants.h doesn't agree with 
ghc/includes/ghcautoconf.h.  Perhaps you're not passing -mabi when 
compiling ghc/includes/mkDerivedConstants.h?


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #738: ghc can't load files with selinux Enforcing

2006-06-22 Thread Simon Marlow

Jens Petersen wrote:

Jon Fairbairn wrote:


 Fixed in the HEAD and the 6.4 branch, but I haven't been able to test
 (don't have SE Linux on a local machine).  Please download a 
snapshot and

 try it out, if possible.




That does seem to mend it for me. Note that my report says
it only seems to happen x86_64 while in fact the fault /is/
present on x86 in 6.4.1



I don't see it with i386 FC5 with ghc-6.4.2, but I received a report on 
it for x86_64 FC5 when selinux is enforcing.


Today I tried ghc-6.4.2.20060619-x86_64-unknown-linux on x86_64 FC6test1 
with enforcing selinux however and still get:


ghc: internal error: getMBlock: mmap: Permission denied

from the rts.  (setsebool allow_execmem 1 works around it.)


My fix works around allow_execheap being set to 0, but not 
allow_execmem.  This page describes how to work around allow_execmem:


  http://people.redhat.com/drepper/selinux-mem.html

But I really object to having to go to such lengths just to work around 
an overly restrictive security policy.  GHC really does do runtime code 
generation, so it really does need some writable/executable memory.


Perhaps someone who knows SELinux would like to describe how to set up 
an exception for GHC so we can put it in the FAQ?  How do things like 
Mono work on an SELinux system, do they have a policy exception set up?


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #729: Build system uses wrong version of include files.

2006-06-22 Thread Simon Marlow
Can anyone comment further on this bug?  I've forgotten who the 
submitter is, and we need more information.


From the description, it looks like the installed version of HsUnix.h 
is being used while compiling the compiler, which is correct for the stage1

compiler, but would be wrong for stage2.  Which stage is this?

Cheers,
Simon

GHC wrote:

#729: Build system uses wrong version of include files.
---+
  Reporter:  guest |  Owner: 
  Type:  bug   | Status:  new
  Priority:  normal|  Milestone: 
 Component:  Build System  |Version:  6.4.1  
  Severity:  normal| Resolution: 
  Keywords:| Os:  MacOS X

Difficulty:  Unknown   |   Architecture:  powerpc
---+
Old description:



The situation: I am building 6.4.1 using 6.4.1. The installed version was
by a package installer. Now I want to build a source myself, since I want
to see if I can change some things. After the usual stuff and doing make
I obtain this error message:

utils/PrimPacked.lhs:263:0:
   Warning: foreign declaration uses deprecated non-standard syntax
In file included from /tmp/ghc25249.hc:5:
/usr/local/lib/ghc-6.4.1/include/HsUnix.h: In function
'__hsunix_rtldNext':
/usr/local/lib/ghc-6.4.1/include/HsUnix.h:103: error: 'RTLD_NEXT'
undeclared (first use in this function)
/usr/local/lib/ghc-6.4.1/include/HsUnix.h:103: error: (Each undeclared
identifier is reported only once
/usr/local/lib/ghc-6.4.1/include/HsUnix.h:103: error: for each function
it appears in.)
/usr/local/lib/ghc-6.4.1/include/HsUnix.h: In function
'__hsunix_rtldDefault':
/usr/local/lib/ghc-6.4.1/include/HsUnix.h:107: error: 'RTLD_DEFAULT'
undeclared (first use in this function)
ghc: 50080464 bytes, 11 GCs, 1535164/2972296 avg/max bytes residency (2
samples), 19M in use, 0.13 INIT (0.00 elapsed), 0.51 MUT (1.45 elapsed),
0.28 GC (0.36 elapsed) :ghc
make[2]: *** [stage1/utils/PrimPacked.o] Error 1
make[1]: *** [all] Error 1
make: *** [build] Error 1

Having looked at it for a while and discussing the problem with Arthur
van Leeuwen,
we decided that the problem is that the build system uses the HsUnix.h
file of the
existing distribution, and not the one from the sources. The problem
arises because
these two files are different.



New description:

 The situation: I am building 6.4.1 using 6.4.1. The installed version was
 by a package installer. Now I want to build a source myself, since I want
 to see if I can change some things. After the usual stuff and doing make I
 obtain this error message:

 {{{
 utils/PrimPacked.lhs:263:0:
 Warning: foreign declaration uses deprecated non-standard syntax
 In file included from /tmp/ghc25249.hc:5:
 /usr/local/lib/ghc-6.4.1/include/HsUnix.h: In function
 '__hsunix_rtldNext':
 /usr/local/lib/ghc-6.4.1/include/HsUnix.h:103: error: 'RTLD_NEXT'
 undeclared (first use in this function)
 /usr/local/lib/ghc-6.4.1/include/HsUnix.h:103: error: (Each undeclared
 identifier is reported only once
 /usr/local/lib/ghc-6.4.1/include/HsUnix.h:103: error: for each function it
 appears in.)
 /usr/local/lib/ghc-6.4.1/include/HsUnix.h: In function
 '__hsunix_rtldDefault':
 /usr/local/lib/ghc-6.4.1/include/HsUnix.h:107: error: 'RTLD_DEFAULT'
 undeclared (first use in this function)
 ghc: 50080464 bytes, 11 GCs, 1535164/2972296 avg/max bytes residency (2
 samples), 19M in use, 0.13 INIT (0.00 elapsed), 0.51 MUT (1.45 elapsed),
 0.28 GC (0.36 elapsed) :ghc
 make[2]: *** [stage1/utils/PrimPacked.o] Error 1
 make[1]: *** [all] Error 1
 make: *** [build] Error 1
 }}}

 Having looked at it for a while and discussing the problem with Arthur van
 Leeuwen,
 we decided that the problem is that the build system uses the HsUnix.h
 file of the
 existing distribution, and not the one from the sources. The problem
 arises because
 these two files are different.





___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: lack of automatic recompilation after library updating

2006-06-16 Thread Simon Marlow

Bulat Ziganshin wrote:


i just reinstalled FPS library with new version downloaded via darcs
(both old and new versions are 0.7, difference is few days only)

i run the following to update lib:

runghc Setup.hs unregister
runghc Setup.hs clean
runghc Setup.hs build
runghc Setup.hs install

and then i try to rebuild my app. it does not feels that FPS library
was updated and don't recompiled modules that use it. can this be
considered as bug? ghc 6.4.2/windows


If I understand your description correctly, this is by design.  GHC 
doesn't track version dependencies (in the .hi version sense) across 
package boundaries, which means that if you update a package then code 
that uses the package will not be automatically rebuilt by GHC.  One 
reason for this was to reduce the amount of clutter in .hi files and 
speed up compilation.


Package modules are assumed to be pre-built and static, that's all.

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: One-character bug in time library

2006-06-06 Thread Simon Marlow

wld wrote:

Sorry ;)

On 6/5/06, wld [EMAIL PROTECTED] wrote:


Hi,

File package.conf.in (darcs GHC HEAD) contains
the following line:
  hs-libraries:   HSTime

This should be of course
  hs-libraries:   HSTime



Certainly,
  hs-libraries:   HStime


Fixed, thanks.

Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #738: ghc can't load files with selinux Enforcing

2006-06-06 Thread Simon Marlow

Jon Fairbairn wrote:

On Wed, 31 May 2006 14:15:26 -  you wrote:


#738: ghc can't load files with selinux Enforcing
---+
   Reporter:  [EMAIL PROTECTED]  |Owner: 
   Type:  bug |   Status:  closed 
   Priority:  normal  |Milestone:  6.4.3  
  Component:  Runtime System  |  Version:  6.4.1  
   Severity:  major   |   Resolution:  fixed  
   Keywords:  |   Difficulty:  Unknown
Architecture:  x86_64 (amd64)  |   Os:  Linux  
---+

Changes (by simonmar):

 * resolution:  = fixed
 * status:  new = closed

Comment:

Fixed in the HEAD and the 6.4 branch, but I haven't been able to test
(don't have SE Linux on a local machine).  Please download a snapshot and
try it out, if possible.



That does seem to mend it for me. Note that my report says
it only seems to happen x86_64 while in fact the fault /is/
present on x86 in 6.4.1


Great, thanks Jon.

Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: 6.4.2 under solaris

2006-06-02 Thread Simon Marlow

Christian Maeder wrote:

Christian Maeder wrote:


Ok, I'm recompiling



Now compilation (from cvs of yesterday) failed at:

/local/home/maeder/ghc-6.4.3-pre/ghc/rts/libHSrts_thr.a(Storage.thr_o): 
In function `allocateExec':

Storage.c:(.text+0xc58): undefined reference to `getPageSize'
Storage.c:(.text+0xcb4): undefined reference to `setExecutable'
/local/home/maeder/ghc-6.4.3-pre/ghc/rts/libHSrts_thr.a(Storage.thr_o): 
In function `freeExec':

Storage.c:(.text+0xdcc): undefined reference to `setExecutable'
collect2: ld returned 1 exit status
ghc: 14233900 bytes, 3 GCs, 164960/164960 avg/max bytes residency (1 
samples),
 15M in use, 0.00 INIT (0.00 elapsed), 0.13 MUT (10.53 elapsed), 0.03 GC 
(0.05 elapsed) :ghc

gmake[2]: *** [stage2/ghc-6.4.2] Error 1
gmake[2]: Leaving directory `/local/home/maeder/ghc-6.4.3-pre/ghc/compiler'
gmake[1]: *** [stage2] Error 2
gmake[1]: Leaving directory `/local/home/maeder/ghc-6.4.3-pre'
gmake: *** [bootstrap2] Error 2


Looks like the file OSMem.o is missing from your RTS build somehow.  It 
should be in ghc/rts/posix.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


RE: 6.4.2 under solaris

2006-06-01 Thread Simon Marlow
On 01 June 2006 11:26, Christian Maeder wrote:

 I've recompiled ghc-6.4.2 from cvs again without -threaded. The
 regression test looks much better now (below).

Do you know if the stage2 compiler works with -threaded?  Or does it
still crash?

 The conc-cases go
 through now, but the following problems do still exist:
 
 cc04 (and ffi012) reported: 'calling convention not supported on this
 architecture: stdcall'
 
 ffi004 (arr016, ffi009 and maessen-hashtab) produced 'Segmentation
 Fault' with Wrong exit code (expected 0 , actual 139 )

That needs to be investigated.

 Let me know if you want to see the whole log.
 
 I've circumvented the too few arguments to function
 'ctime_r'-problem now by simply deleting ctime_r from the configure
 file. 

Ok, but that doesn't help me find a fix.  Any chance you could
investigate why my fix didn't work?  It apparently worked on the machine
I tried it on, but I think that was Solaris 9.

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: 6.4.2 under solaris

2006-06-01 Thread Simon Marlow

Christian Maeder wrote:

Christian Maeder wrote:

Well. at least Florenz reported independently the same ctime_r problem 
under Solaris 10 in http://hackage.haskell.org/trac/ghc/ticket/775



Ok, he used the original 6.4.2 sources that did not have your fix. What 
file was supposed to fix the problem?


Ach, my fault.  Somehow I forgot to merge that fix into the 6.4 branch. 
 Sorry :-(  It should be there now.  The file RtsUtils.c has changed.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Bug with Char.isAlpha

2006-05-31 Thread Simon Marlow

Michael Nagel wrote:


I am using the precompiled windows version of ghc-6.4.2 and for some reason

Prelude Char.isAlpha '§'

returns true. Hugs however, is of the opinion that the paragraph sign is 
not an alphabetic character and so am I. I did not find any rationale 
for this behavior (as  no system I know of treats the §-sign as an 
alphabetic char) so I think it is a bug and should be fixed.


Regards,
Michael

PS: I have not been using ghc(i) for too long, so if I missed something, 
please let me know.


This looks like some kind of input problem: I get the same results as 
you when using a Windows command shell, but not when using an xterm or 
on Unix.


The problem is better illustrated like this:

Prelude '§'
'\245'

but '\245' is not the § character, it is the õ character.  So the 
command shell has done some translation before GHCi even saw the character.


On Un*x, or in an xterm on Windows, I get

Prelude '§'
'\167'

I claim this is not our bug.  If anyone knows a workaround or can 
explain why this happens, please let us know.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: compiling from source - error

2006-05-31 Thread Simon Marlow
If this error is not repeatable, then it is likely a hardware glitch. 
If it is repeatable, can you give us more information:


 - what platform is this?
 - where did you get your 6.4.1 distribution?

Cheers,
Simon

Johan Meskens CS3 jmcs3 wrote:

==fptools== make all - --no-print-directory -r;
 in /home/jmcs3/Desktop/ghc-6.4.2.20060524/ghc/utils/hsc2hs

/usr/bin/ghc -H16m -O -i../../lib/compat -ignore-package Cabal -Rghc-timing 
-Wal l-c Main.hs -o Main.o  -ohi Main.hi

Main.hs:887:0: Warning: Defined but not used: `unDosifyPath'
ghc-6.4.1: internal error: scavenge: unimplemented/strange closure type 30091 @ 
0x4229afa0
Please report this as a bug to glasgow-haskell-bugs@haskell.org,
or http://www.sourceforge.net/projects/ghc/
make[3]: *** [Main.o] Error 254
make[2]: *** [all] Error 1
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/jmcs3/Desktop/ghc-6.4.2.20060524/ghc'
make: *** [build] Error 1


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Visual Haskell

2006-05-24 Thread Simon Marlow

James Chaffee wrote:
I downloaded the installer package for Visual Haskell and attempted to 
install it. I have Visual Studio 2005. The install went to a point where 
it said a script was missing and then proceeded to uninstall itself. I 
would very much like to install the package? Is there something I can do.


Sorry, the current Visual Haskell distribution doesn't work with VS 
2005.  We hope to release an updated installer at some point.


Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: 6.4.2 under solaris

2006-05-18 Thread Simon Marlow

Christian Maeder wrote:

Christian Maeder wrote:

using Rev. 1.1.2.3 of timeout.hs I could run the testsuite until 
conc020 which did then sleep with truss repeatedly outputting:



I ran the testsuite now with ghc-6.4.1. The results are attached at

  http://hackage.haskell.org/trac/ghc/ticket/752

First of all I had to add optl-lrt to ghc-6.4.1 in order to be able to 
link the threaded cases to aboid undefined reference to `sched_yield' 
in OSThreads.c:(.text+0x90)


Is -threaded the cause for the ghc-6.4.2 problems under solaris?

conc020(threaded) seg-faulted with ghc-6.4.1 (while being treated with 
truss)


Oh, I just noticed:

simplrun004(opt) did not terminate yet:

  PID USERNAME THR PRI NICE  SIZE   RES STATE   TIMECPU COMMAND
26436 maeder 1   00 4520K 3032K run   575:29 75.33% simplrun004

truss -p 26436 shows:

Received signal #28, SIGVTALRM [caught]
lwp_sigmask(SIG_SETMASK, 0x0800, 0x) = 0xFFBFFEFF [0x]
setcontext(0xFFBFD280)
lwp_sigmask(SIG_SETMASK, 0x, 0x) = 0xFFBFFEFF [0x]
lwp_sigmask(SIG_SETMASK, 0x, 0x) = 0xFFBFFEFF [0x]
lwp_sigmask(SIG_SETMASK, 0x, 0x) = 0xFFBFFEFF [0x]
lwp_sigmask(SIG_SETMASK, 0x, 0x) = 0xFFBFFEFF [0x]
Received signal #28, SIGVTALRM [caught]


I've fixed the cause of the hangs on Solaris, I believe.  Also, the 
ctime_r() and -lrt problems are both fixed.  If you grab the 
ghc-6-4-branch from CVS you'll get the code with these fixes.


I'd be interested to know if it works for you, and if you could do a 
testsuite run too that would be great.


Cheers,
Simon



___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: More on the OS X crashes

2006-05-16 Thread Simon Marlow
Thanks Greg.  Wolfgang Thaller has promised to take a look at this, but 
I think he's quite busy at the moment.


Cheers,
Simon

Gregory Wright wrote:


Hi,

I've built a compiler with debugging turned on and have obtained
what might be useful information about the crashes on OS X.

When I try to do a build, in this case, of NewBinary, I get

---  Configuring hs-NewBinary
DEBUG: Executing proc-pre-com.apple.configure-configure-0
ghc-6.4.2: internal error: ASSERTION FAILED: file GC.c, line 4356

Please report this as a compiler bug.  See:
http://www.haskell.org/ghc/reportabug
Error: Target com.apple.configure returned: shell command ghc -lintl  
-o Setup Setup.lhs -package Cabal returned error 254
Command output: ghc-6.4.2: internal error: ASSERTION FAILED: file  GC.c, 
line 4356



(The ghc output lines are bracketed by some darwinports status info.)

I've seen the same assertion failure in other cases, but it is
not entirely repeatable.  Smells like something is not initialized
or aligned correctly.  (I even got this error from compiling

main = putStrLn Hello, World!

but that hasn't happened again since I built ghc over.)

And for some reason when I build ghc on OS X with debugging turned
on, I need to explicit link in -lintl or I miss a symbol that libbfd  or 
libiberty is

looking for. But that is probably neither here nor there.

The assertion being violated is

ASSERT(frame  bottom);

and it's not surprising that things rapidly go pear shaped if this  
isn't true.


Any ideas on how to proceed?  Just as a test, I built a compiler  using 
GC.c
from 6.4.1 but it quickly segfaulted.  I just had a hope that the  
significant changes

may have been local to the GC.c file.  This is evidently not the case.

Best Wishes,
Greg


___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


  1   2   3   4   5   6   7   8   9   10   >