I&#39;ve noticed that the alpha port sometimes &#39;hangs&#39;. The &#39;hang&#39; is caused by a sudden burst of unaligned memory accesses which bring the kernel to its knees. I suppose if I waited long enough it would work, so it isn&#39;t really a hang. Obviously, I already use -align 8.<br>
<br>Due to the nature of the hang I have a strong suspicion that the GC is responsible. Things run smoothly until suddenly the program &#39;hangs&#39;, but changing GC parameters will move the location of the &#39;hang&#39;. Looking through the GC code I strongly suspect that the crossMap is ending up unaligned. Placing it after the cardMap (a 1-byte aligned array) seems quite risky, but I lack the expertise in this area of the code to be certain this is a problem.<br>
<br>Can someone familiar with this code please check that<br>  s-&gt;generationalMaps.crossMap =<br>    (GC_crossMap) (s-&gt;heap.start + s-&gt;heap.size + cardMapSize);<br>indeed must be &gt;8 bytes aligned?<br><br>Thank you!<br>
<br>