
Hi Malcolm, I happened to notice a new release of hmake was out - thanks for doing this! However, unfortunately it seems that the patch I sent here: http://www.haskell.org//pipermail/nhc-users/2003-September/000099.html didn't make it into CVS :-( I've attached the patch for 3.09 (it has a few other small tweaks I made too). In src/hmake/Imports.hs does "stringgap (c:cs) = stringgap cs" deliberately not check isSpace c? Hmm, there's no [] case either. There is a docs/hmake/.#index.html.1.30 in the tarball - it looks like you have lost the change of hi copyright from 2000 to 2000-2003. Thanks Ian

I happened to notice a new release of hmake was out - thanks for doing this!
Well, it is packaged, and so is cpphs-0.8, but they are not yet announced properly. I was hoping to announce refreshed releases of hmake, cpphs, and nhc98 all at the same time, but unfortunately the Cygwin build of nhc98 is currently seg-faulting about 50% of the time, hence only the other two tools have managed to make it out so far.
However, unfortunately it seems that the patch I sent here: http://www.haskell.org//pipermail/nhc-users/2003-September/000099.html didn't make it into CVS :-( I've attached the patch for 3.09 (it has a few other small tweaks I made too).
I must apologise. I do have a stack of suggestions for improvements to hmake in my inbox, but have not really had the time to review or implement them properly. As a consequence I omitted them all (except bugfixes) from the new release. However this overlooked the fact that your contribution wasn't just an idea, but came with actual code (and I presume it is pretty well tested too), so it would have been easy to incorporate. Sorry. Once I can get nhc98 out the door, I'll commit your contribution to CVS.
In src/hmake/Imports.hs does "stringgap (c:cs) = stringgap cs" deliberately not check isSpace c? Hmm, there's no [] case either.
Is it unreasonable to assume that the Haskell file is syntactically correct? I suppose for robustness of hmake, we should at least have the [] case, but I don't know what the right thing to do is if the gap contains non-white characters - currently it ignores them, but it could throw an error.
There is a docs/hmake/.#index.html.1.30 in the tarball - it looks like you have lost the change of hi copyright from 2000 to 2000-2003.
Thanks for the very thorough review! And thanks too for your work, not just on packaging haskell tools for debian, but on active feature improvements too. Regards, Malcolm

On Fri, Nov 19, 2004 at 11:10:20AM +0000, Malcolm Wallace wrote:
I happened to notice a new release of hmake was out - thanks for doing this!
Well, it is packaged, and so is cpphs-0.8, but they are not yet announced properly. I was hoping to announce refreshed releases of hmake, cpphs, and nhc98 all at the same time,
Ah, better still! :-)
but unfortunately the Cygwin build of nhc98 is currently seg-faulting about 50% of the time,
:-(
hence only the other two tools have managed to make it out so far.
Speaking of nhc98 problems, when building hat on sparc I'm getting $ nhc98 +RTS -H32M -K2M -RTS +CTS -H32M -CTS -I. -I../compiler98 -c -o /scratch/igloo/hat/hat-2.02/debian/build-nhc98/targets/sparc-Linux/obj/hattrans/HbcOnly.o ../compiler98/HbcOnly.hs Ratio.%: zero denominator $ and the same with 16M instead of 32M, but with 20M it (this file - haven't tried further) compiles fine. Does this sound like a heap corruption bug, or have you got any other idea of what might cause it? Has anything changed in CVS that might have fixed it?
However, unfortunately it seems that the patch I sent here: http://www.haskell.org//pipermail/nhc-users/2003-September/000099.html didn't make it into CVS :-( I've attached the patch for 3.09 (it has a few other small tweaks I made too).
I must apologise. I do have a stack of suggestions for improvements to hmake in my inbox, but have not really had the time to review or implement them properly.
No problem, understood - I could do with some more hours in the day myself :-)
In src/hmake/Imports.hs does "stringgap (c:cs) = stringgap cs" deliberately not check isSpace c? Hmm, there's no [] case either.
Is it unreasonable to assume that the Haskell file is syntactically correct?
If you are hacking on something whose Makefile uses hmake then I don't think you can be confident the source is always syntactically correct. Well, maybe yours is, but mine isn't :-)
I suppose for robustness of hmake, we should at least have the [] case, but I don't know what the right thing to do is if the gap contains non-white characters - currently it ignores them, but it could throw an error.
Ah, I guess the compiler will give a suitable error anyway if the gap contains illegal characters, so not checking seems reasonable. Handling the [] case would definitely be good, though. Thanks Ian

Ian Lynagh
Speaking of nhc98 problems, when building hat on sparc I'm getting
$ nhc98 +RTS -H32M -K2M -RTS +CTS -H32M -CTS -I. -I../compiler98 -c -o /scratch/igloo/hat/hat-2.02/debian/build-nhc98/targets/sparc-Linux/obj/hatt rans/HbcOnly.o ../compiler98/HbcOnly.hs Ratio.%: zero denominator $
and the same with 16M instead of 32M, but with 20M it (this file - haven't tried further) compiles fine. Does this sound like a heap corruption bug, or have you got any other idea of what might cause it? Has anything changed in CVS that might have fixed it?
If the error varies with heapsize, it definitely sounds like heap corruption, yes. One possibility is that the program continues to allocate a few cells after the heap is full, before noticing and triggering GC. However, this kind of bug is extremely difficult to track down.
Ah, I guess the compiler will give a suitable error anyway if the gap contains illegal characters, so not checking seems reasonable. Handling the [] case would definitely be good, though.
Agreed. Regards, Malcolm
participants (2)
-
Ian Lynagh
-
Malcolm Wallace