[racket-dev] build hang on s390x

From: James McCoy (jamessan at debian.org)
Date: Fri Feb 24 21:44:34 EST 2012

On Fri, Feb 24, 2012 at 10:15:40PM -0400, David Bremner wrote:
> 
> Hi, it's the debian guys again and their wacky architectures.
> 
> The build on the s390x (64 bit version) seems to hang at the following
> place

(The s390 build works fine)

> /usr/bin/make ../gracket3m
> make[6]: Entering directory `/home/bremner/racket-5.2.1+dfsg1/build/gracket/gc2'
> ../../racket/racket3m -cqu /home/bremner/racket-5.2.1+dfsg1/src/gracket/gc2/../../racket/gc2/xform.rkt --setup ../../racket/gc2 --cpp "gcc -E -I/home/bremner/racket-5.2.1+dfsg1/src/gracket/gc2/../../racket/gc2 -I./../../racket/ -I/home/bremner/racket-5.2.1+dfsg1/src/gracket/gc2/../../racket/include/     -Dwx_xt -MMD"  --keep-lines -o xsrc/grmain.c +D INITIAL_COLLECTS_DIRECTORY='"'"`cd /home/bremner/racket-5.2.1+dfsg1/src/gracket/gc2/../../../collects; pwd`"'"' /home/bremner/racket-5.2.1+dfsg1/src/gracket/gc2/../grmain.c

It's getting stuck in the following loop in src/racket/gc2/newgc.c:repair_heap

3988           switch(page->page_type) {
3989             case PAGE_TAGGED:
3990               while(start < end) {
3991                 objhead *info = (objhead *)start;
3992
3993                 if(info->mark) {
3994                   void *obj_start = OBJHEAD_TO_OBJPTR(start);
3995                   unsigned short tag = *(unsigned short *)obj_start;
3996                   ASSERT_TAG(tag);
3997                   info->mark = 0;
3998                   fixup_table[tag](obj_start, gc);
3999                 } else {
4000                   info->dead = 1;
4001 #ifdef KILLING_DEBUG
4002                   killing_debug(gc, page, info);
4003 #endif
4004                 }
4005                 start += info->size;
4006               }

because info->size is 0.  This is while processing the first page from
gc->gen1_pages.

-- 
James
GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy <jamessan at debian.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.racket-lang.org/dev/archive/attachments/20120224/305228e5/attachment-0001.sig>

Posted on the dev mailing list.