X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdocs%2Fusers_guide%2Fgone_wrong.vsgml;h=3d9cc571f3ff29d30e9b4c5bc4e7d13a4a37af64;hb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;hp=2037a977eac8defeeda8b13bc006d8d5ca14dd1f;hpb=abdd55c9c4a2873c2f4b25b4ea54ca921bca4f5e;p=ghc-hetmet.git diff --git a/ghc/docs/users_guide/gone_wrong.vsgml b/ghc/docs/users_guide/gone_wrong.vsgml index 2037a97..3d9cc57 100644 --- a/ghc/docs/users_guide/gone_wrong.vsgml +++ b/ghc/docs/users_guide/gone_wrong.vsgml @@ -8,11 +8,12 @@ %************************************************************************ If you still have a problem after consulting this section, then you -may have found a bug---please report it! See -Section for a list of things we'd like to know about -your bug. If in doubt, send a report---we love mail from irate users :-! +may have found a bug---please report it! See Section for a +list of things we'd like to know about your bug. If in doubt, send a +report---we love mail from irate users :-! -(Section , which describes Glasgow Haskell's shortcomings vs.~the Haskell language definition, may also be of interest.) @@ -42,6 +43,10 @@ can vary by platform (e.g., on a 64-bit machine). Just say @make all EXTRA_HC_OPTS=-H@ and see how you get along. +Note that this is less likely to happen if you are compiling with GHC +4.00 or later, since the introduction of the dynamically expanding +heap. + %------------------------------------------------------------------- ``The compiler died with a pattern-matching error.'' This is a bug just as surely as a ``panic.'' Please report it. @@ -70,7 +75,7 @@ it. ``What about this warning from the C compiler?'' For example: ``...warning: `Foo' declared `static' but never defined.'' -Unsightly, but not a problem. +Unsightly, but shouldn't be a problem. %------------------------------------------------------------------- Sensitivity to @.hi@ interface files: @@ -91,15 +96,14 @@ Unlikely :-) A useful be-more-paranoid option to give to GHC is @-dcore-lint@-dcore-lint option; this causes a ``lint'' pass to check for errors (notably type errors) after each Core-to-Core transformation pass. We run with @-dcore-lint@ on all the time; it -costs about 5\% in compile time. (Or maybe 25\%; who knows?) +costs about 5\% in compile time. %------------------------------------------------------------------- ``Why did I get a link error?'' If the linker complains about not finding @__fast@, then -your interface files haven't settled---keep on compiling! (In -particular, this error means that arity information, which you can see -in any @.hi@ file, has changed.) +something is inconsistent: you probably didn't compile modules in the +proper dependency order. %------------------------------------------------------------------- ``What's a `consistency error'?'' @@ -142,11 +146,13 @@ stingier" id="sooner-faster-quicker">). %----------------------------------------------------------------------- ``Help! My program crashed!'' (e.g., a `segmentation fault' or `core dumped') +segmentation fault -If your program has no @_ccall_@s/@_casm_@s in it, then a crash is always -a BUG in the GHC system, except in one case: If your program is made -of several modules, each module must have been compiled with a stable -group of interface (@.hi@) files. +If your program has no @_ccall_@s/@_casm_@s in it, then a crash is +always a BUG in the GHC system, except in one case: If your program is +made of several modules, each module must have been compiled after any +modules on which it depends (unless you use @.hi-boot@ files, in which +case these . -% (If you have an ``unregisterised'' arity-checking -% (@-O0 -darity-checks@) around [as we sometimes do at Glasgow], then you -% might recompile with @-darity-checks@-darity-checks option, -% which will definitely detect arity-compatibility errors.) - %------------------------------------------------------------------- ``My program entered an `absent' argument.'' This is definitely caused by a bug in GHC. Please report it.