Frank Heckenbach wrote:
Adriaan van Os wrote:
This is what I get, building the new alpha with gcc-3.2.1 on Mac OS X
After a reboot, the problem had gone and gpc did build. With the previous alpha also, I often get "strange" compiler messages (mostly assertions). The remedy is then to reboot. I can't say if this is a problem in gpc or in Mac OS X.
It could be either, and it could also be a hardware problem. I don't know how reliable Mac hardware is in general -- PC hardware isn't so much, and especially on warmer days like these I sometimes get intermittent crashes in longer compilations. The solution is to wait a little time to let the CPU cool down. A reboot might have a similar effect, of course.
Macintosh hardware is usually very reliable. It is real a pleasure to open up the lid of a G4 and look at the electronics.
Another possibility is that it's related to memory management, i.e., after a reboot the compiler gets a "clean" memory and certain bugs in GPC don't show this way. Again, I don't know much about Mac OS X's memory management. However, most Unix-like systems (and this should include it) use paging and free any newly allocated pages before giving them to a process, so a process should see no difference due to memory fragmentation etc. If that's so, this would rule out this possibility. (At least under Linux I've never seen a problem that could be traced to this cause.)
What I know is that Mac OS X is based on BSD 4.2 with a Mach microkernel. But I would have to study the details of memory management to say something useful about it.
So I can only speculate. The only way to tell for sure is probably to catch such an error in the debugger and try to investigate what's wrong exactly. But this may be quite difficult, especially if it's not reproducible ...
BTW, if after such a problem, you run exactly the same command again, do you get exactly the same error in the same position? If so, this probably means it's not a hardware problem ...
Yes, the same problem occurs again in the same position, at least in some cases, maybe all. I will try to do some debugging if it happens again.
Regards,
Adriaan van Os