Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 299763 - dev-lisp/clozurecl fails to build(heap randomization (CONFIG_COMPAT_BRK=n) issue
Summary: dev-lisp/clozurecl fails to build(heap randomization (CONFIG_COMPAT_BRK=n) issue
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Common Lisp Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-05 13:55 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2015-11-08 10:00 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (clozurecl-1.4:20100105-094815.log,44.99 KB, text/plain)
2010-01-05 13:55 UTC, Diego Elio Pettenò (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2010-01-05 13:55:04 UTC
Portage 2.1.7.16 (default/linux/x86/10.0, gcc-4.4.2-asneeded, glibc-2.11-r1, 2.6.32.2 i686)
=================================================================
System uname: Linux-2.6.32.2-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.1
Timestamp of tree: Mon, 04 Jan 2010 03:00:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 1.3.7-r1, 2.1.10
dev-lang/python:     2.6.4, 3.1.1-r1
dev-python/pycrypto: 2.1.0
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.4_p6-r1, 1.5-r1, 1.6.3-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openfire/resources/security/ /opt/openjms/config /usr/lib/ccs/conf /usr/lib/fax /usr/lib/tomoyo/conf /usr/share/X11/xkb /usr/share/bufrtables /usr/share/config /usr/share/qpsmtpd/plugins /var/bind /var/lib/hsqldb /var/phxd /var/qmail/alias /var/qmail/control /var/spool/fax/etc /var/spool/torque /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms split-log strict test test-fail-continue unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo"
INSTALL_MASK="  /usr/share/doc  /usr/share/info"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j14"
PKGDIR="/var/spool/portage/packages"
PORTAGE_COMPRESS=""
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/var/cache/portage/tree-tinderbox"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 java5 java6 modules mudflap ncurses nls nostatic nptl nptlonly openmp pam pcre perl pppd python qt3support readline reflection ruby session spl ssl sysfs tcpd unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias auth_digest" ELIBC="glibc" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, LC_ALL, LINGUAS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-01-05 13:55:24 UTC
Created attachment 215289 [details]
Build log
Comment 2 Andrey Grozin gentoo-dev 2010-01-11 16:51:19 UTC
On 2 computers I use (pure ~x86), immediately after the line

;Wrote bootstrapping image: #P"/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/x86-boot32"

I have:
;Wrote heap image: #P"/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/lx86cl.image"
>>> Source compiled.
>>> Test phase [not enabled]: dev-lisp/clozurecl-1.4

>>> Install clozurecl-1.4 into /var/tmp/portage/dev-lisp/clozurecl-1.4/image/ category dev-lisp
>>> Completed installing clozurecl-1.4 into /var/tmp/portage/dev-lisp/clozurecl-1.4/image/

And you have instead:

> Error: Errors (:SIGNALED 6) reloading boot image:
>        ;Loading level-1.lx32fsl

etc. What can be the difference? My emerge --info is very similar to yours. The first difference is the processor: my laptop has pentium-m, my desktop has celeron. Maybe, the ccl binary does not like amd? (this would be a pity). Another difference is the kernel. My laptop runs 2.6.31-tuxonice, and desktop 2.6.32-gentoo. Both with "Disable heap randomization" - lisps often dislike randomization, non-executable stack and heap, and other security measures. Does your kernel have any of these security features enabled?

Several users reported that they use clozurecl successfully. So, it does not fail for everybody. We have to identify the difference.
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-01-11 16:56:39 UTC
I have heap randomization turned on, that might be the first problem.

But the tinderbox has *everything* in the tree merged in so you might want to look at possible automagic dependencies as well.
Comment 4 Tomás Touceda (RETIRED) gentoo-dev 2010-01-11 17:09:02 UTC
(In reply to comment #3)
> I have heap randomization turned on, that might be the first problem.
> 
> But the tinderbox has *everything* in the tree merged in so you might want to
> look at possible automagic dependencies as well.
> 

I can't reproduce this.

Automagic dependencies? From what I've seen nothing from autotools is used, and nothing that seems like an automagic dep either.

I think grozin's approach is the right one, I haven't checked my kernel configuration yet. But here's my emerge --info:

Portage 2.2_rc61 (default/linux/x86/10.0, gcc-4.3.4, glibc-2.11-r1, 2.6.32-gentoo i686)
=================================================================
System uname: Linux-2.6.32-gentoo-i686-Intel-R-_Core-TM-2_Duo_CPU_T5550_@_1.83GHz-with-gentoo-2.0.1
Timestamp of tree: Sat, 09 Jan 2010 17:00:01 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 1.3.7-r1, 2.1.10
dev-lang/python:     2.6.4, 3.1.1-r1
dev-python/pycrypto: 2.1.0
dev-util/cmake:      2.8.0
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1"
LINGUAS="es es_AR"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/portage/layman/kde-testing /usr/local/portage/layman/qting-edge /usr/local/portage/layman/sunrise /usr/local/portage/layman/lisp /usr/local/portage/layman/mozilla /usr/local/portage/layman/science /usr/local/portage/layman/x11"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X aac accessibility acl acpi additions alsa berkdb bzip2 cairo cdr cgi cli clucene consolekit cracklib crypt ctype cups curl cxx dbus divx djvu dri dvd dvdr dvdread encode examples fastcgi ffmpeg fortran fuse gd gdbm gif glib gnome gpm gstreamer gtk hal httpd iconv ieee1394 ipv6 java jpeg kde kqemu lame laptop ldap live mmx mng mod modules moonlight mp3 mp4live mplayer mudflap mysql mysqli ncurses nls nptl nptlonly ogg openal opengl openmp pam pcre pdf perl php player plotutils png pppd python qt3 qt3support qt4 quicktime raptor readline realmedia redland reflection rss samba sdl session spl sql sqlite sqlite3 srt sse sse2 ssl stream svg symlink sysfs tcpd tetex theora tiff truetype unicode v4l v4l2 vorbis webkit wifi win32codecs wxwindows x264 x86 xcb xcomposite xine xorg xvid yp zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="es es_AR" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 5 Stelian Ionescu 2010-01-11 20:12:20 UTC
My guess is that you've compiled the tinderbox kernel wit CONFIG_COMPAT_BRK=n
Clozure needs that
Comment 6 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-01-11 20:22:33 UTC
Good guess, Stelian. I don't have that enabled at all. But I don't see any particular check for that in the ebuild? I'm pretty sure another lisp ebuild has a check for brk settings…
Comment 7 Stelian Ionescu 2010-01-11 21:41:48 UTC
dev-lisp/sbcl only checks that sys-devel/gcc wasn't compiled with +hardened, nothing more.
I wouldn't know how to check for CONFIG_COMPAT_BRK=y other than grepping /proc/config.gz but not everyone enables that(CONFIG_IKCONFIG).
Suggestions ?
Comment 8 Andrey Grozin gentoo-dev 2010-01-14 17:09:01 UTC
It seems unlikely that some installed package can interfere with building clozurecl. The tarball contains a binary lisp compiler; it is used to re-build clozurecl from sources on the user's computer. No make, autoconf, ...

I make the following experiment: prepended
strace -ff -o log
before the line
./${CCL_RUNTIME} -n -b -Q -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)'
in the ebuild. I got 95 log.* files. The process which writes the messages

;Wrote bootstrapping image: #P"/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/x86-boot32"
;Wrote heap image: #P"/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/lx86cl.image"

has the minimum pid. You have the first message, but not the second one - you get an error message instead. The strace log for this pid (near the end) looks like

write(1, "recl-1.4/work/ccl/x86-boot32\"", 29) = 29

then the messages

nanosleep({0, 330000000}, 0xbfc832a0)                     = 0
gettimeofday({1263506318, 449900}, NULL) = 0

are repeated many times, then

nanosleep({0, 330000000}, {0, 281706597}) = ? ERESTART_RESTARTBLOCK (To be restarted)
--- SIGPWR (Power failure) @ 0 (0) ---
rt_sigreturn(0xbfc82d84)                = -1 EINTR (Interrupted system call)
--- SIGILL (Illegal instruction) @ 0 (0) ---
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigreturn(0xbfc82344)                = 10
write(1, "work/ccl/lx86cl.image\"\n", 23) = 23
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost isig icanon echo ...}) = 0
exit_group(0)                           = ?

The real work of writing x86-boot32 and lx86cl.image is done by another processes. The strace log of the first of them looks like

....
open("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/x86-boot32", O_WRONLY|O_CREAT|O_TRU
NC, 0666) = 4
close(4)                                = 0
lstat64("/var", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4", {st_mode=S_IFDIR|0775, st_size=4096, ..
.}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work", {st_mode=S_IFDIR|0700, st_size=409
6, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl", {st_mode=S_IFDIR|0755, st_size
=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/x86-boot32", {st_mode=S_IFREG|06
44, st_size=0, ...}) = 0
stat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/x86-boot32", {st_mode=S_IFREG|064
4, st_size=0, ...}) = 0
mmap2(NULL, 8196, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7416000
mmap2(NULL, 8196, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7413000
lstat64("/var", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4", {st_mode=S_IFDIR|0775, st_size=4096, ..
.}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work", {st_mode=S_IFDIR|0700, st_size=409
6, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/x86-boot32", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
munmap(0xb7416000, 8196)                = 0
munmap(0xb7413000, 8196)                = 0
open("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/x86-boot32", O_WRONLY) = 4
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xb73bf068) = -1 ENOTTY (Inappropriate ioctl for device)
fstat64(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xb73bf068) = -1 ENOTTY (Inappropriate ioctl for device)
fstat64(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
_llseek(4, 0, [0], SEEK_CUR)            = 0
ftruncate(4, 0)                         = 0
_llseek(4, 3968, [3968], SEEK_SET)      = 0
gettimeofday({1263506317, 903352}, NULL) = 0

then

write(4, "nepOILCMegameliF\r\22\372\316\0\0\0\20\0\0\0\20\4\0\0\0"..., 4096) = 4096

and similar write calls are repeated many times, then

close(4)                                = 0
lstat64("/var", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/x86-boot32", {st_mode=S_IFREG|0644, st_size=1175568, ...}) = 0
stat64("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl/x86-boot32", {st_mode=S_IFREG|0644, st_size=1175568, ...}) = 0
write(1, "\n;Wrote bootstrapping image: #P\""..., 63) = 63
gettimeofday({1263506317, 960268}, NULL) = 0
open("/tmp/lisp-tempfzRpvV", O_RDWR|O_CREAT|O_EXCL, 0600) = 4
mmap2(NULL, 8196, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7416000
mmap2(NULL, 8196, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7413000
lstat64("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
lstat64("/tmp/lisp-tempfzRpvV", {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
lstat64("/tmp/lisp-tempfzRpvV", {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
munmap(0xb7416000, 8196)                = 0
munmap(0xb7413000, 8196)                = 0
unlink("/tmp/lisp-tempfzRpvV")          = 0
dup(4)                                  = 9
fstat64(9, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
ioctl(9, SNDCTL_TMR_TIMEBASE or TCGETS, 0xb73bf038) = -1 ENOTTY (Inappropriate ioctl for device)
fstat64(9, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
write(9, "(save-application \"lx86cl.image\""..., 33) = 33
close(9)                                = 0
_llseek(4, 0, [0], SEEK_SET)            = 0
pipe([9, 10])                           = 0
pipe([11, 12])                          = 0
gettimeofday({1263506318, 525}, NULL)   = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
clone(child_stack=0xb70b8384, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb70b8bd8, {entry_number:6, base_addr:0xb70b8b70, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb70b8bd8) = 16812

<skipped>

chdir("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl") = 0
getcwd("/var/tmp/portage/dev-lisp/clozurecl-1.4/work/ccl", 64) = 49
--- SIGILL (Illegal instruction) @ 0 (0) ---
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
tgkill(16714, 16714, SIGPWR)            = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigreturn(0xb73bec24)                = 391454
mprotect(0xb714b000, 65536, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0xb714a000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0xb714a000, 1122304)             = 0
mprotect(0xb70b9000, 65536, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0xb70b9000, 593920)              = 0
modify_ldt(1, {entry_number:1, base_addr:00000000, limit:0, seg_32bit:0, contents:0, read_exec_only:0, limit_in_pages:0, seg_not_present:0, useable:0}, 16) = 0
madvise(0xb725c000, 1437696, MADV_DONTNEED) = 0
_exit(0)                                = ?

Probably, you have something similar, because x86-boot32 has been written. Right? Now the process which writes lx86cl.image (and which, probably, fails on your computer). Its strace looks like

....
open("lx86cl.image", O_WRONLY|O_CREAT, 0644) = 4
fchmod(4, 0644)                         = 0
write(1, "\n", 1)                       = 1
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbf8aa8f8) = -1 EINVAL (Invalid argument)
fstat64(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
--- SIGILL (Illegal instruction) @ 0 (0) ---
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigreturn(0xbf8aa4d4)                = -1220857938
--- SIGILL (Illegal instruction) @ 0 (0) ---
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigreturn(0xbf8aa4d4)                = -1220857904
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
gettimeofday({1263506322, 955742}, NULL) = 0
madvise(0x15f00000, 65536, MADV_DONTNEED) = 0
mmap2(0x15f00000, 65536, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x15f00000
gettimeofday({1263506323, 112947}, NULL) = 0
mprotect(0x1004e000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mmap2(0x1004f000, 4345856, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x1004f000
mprotect(0x10000000, 4665344, PROT_READ|PROT_EXEC) = 0
gettimeofday({1263506323, 216611}, NULL) = 0
madvise(0x15ae0000, 4325376, MADV_DONTNEED) = 0
mmap2(0x15ae0000, 4325376, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x15ae0000
gettimeofday({1263506323, 375483}, NULL) = 0
time(NULL)                              = 1263506323
lseek(4, 0, SEEK_CUR)                   = 0

then many lseek(4,...) and write(4,...), then

fsync(4)             = 0
close(4)                                = 0
exit_group(0)                           = ?

On your computer lx86cl.image has not been written, right? Then, if you do a similar experiment, we can find where the difference in behaviour starts. And, maybe, we can identify which kernel feature (if any) is responsible for the difference.
Comment 9 Pacho Ramos gentoo-dev 2015-11-08 10:00:01 UTC
Is this still valid with 1.10?