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 <james...@debian.org>
signature.asc
Description: Digital signature
_________________________ Racket Developers list: http://lists.racket-lang.org/dev