gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] maxima build fails using gcl


From: Camm Maguire
Subject: Re: [Gcl-devel] maxima build fails using gcl
Date: Mon, 23 Jan 2012 09:52:02 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Greetings!

Karsten Trulsen <address@hidden> writes:

> Hello,
>
> I followed your advice, and installed the precompiled amd64 Debian
> linux binary from gcl_2.6.7-98_amd64.deb
>> GCL (GNU Common Lisp)  2.6.7 ANSI    Jan 20 2012 22:39:17
> Then I compiled maxima using this precompiled gcl, with exactly the
> same error message as before:
>> ;      - Loading binary file "binary-gcl/compar.o"
>> Loading binary-gcl/compar.o
>> Error in FUNCALL [or a callee]: The assertion !clear_protect_memory(memory) 
>> on line 574 of sfaslelf.c in function fasload failed
>
> I am on Red Hat Enterprise Linux (RHEL) version 6.  The compilation of
> maxima with gcl worked before, but stopped working when RHEL was
> upgraded from version 5 to version 6.
>

OK this is a clear sign of a kernel memory protection or library address
mapping "feature".  In your log, brk is returning without error
indicating that the memory range should be within the .data segment of
the running process.  EACESS makes no sense after this, IMHO.  It might
be useful to fire up gcl and report the contents of /proc/<pid>/maps,
and perhaps also search your logs (under /var/log) for kernel exception
messages.  Perhaps ask with Red Hat?  The key observation is that
memory allocated with brk cannot be set with execute permissions beyond
a certain range (looks like 0x4000000 and above).

> Best regards,
> Karsten
>
>
> Den 20. jan. 2012 20:50, skrev Camm Maguire:
>> Greetings, and thanks!
>>
>> The relevant bits are:
>>
>> [pid 30971] mprotect(0xf0b000, 22028288, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf0b000, 22028288, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfd8000, 32767, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfdf000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfcc000, 45055, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfeb000, 20479, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf7d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6c000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf75000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf8e000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xffd000, 20479, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfef000, 32767, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf8f000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfd6000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfe2000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf40000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf80000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf82000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xffb000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf85000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfe8000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xff6000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf76000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfe5000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xffa000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x100c000, 28671, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf91000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf73000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1006000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1007000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf7d000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x102e000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1016000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1013000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1031000, 40959, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x101b000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x103c000, 86015, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1089000, 73727, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1055000, 163839, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x102b000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x103a000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x100c000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfe8000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10c7000, 65535, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1025000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1406000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x102d000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x103c000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf7c000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfd6000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x13e5000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1050000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfe4000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf8c000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf8e000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf3b000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf3a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf98000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf93000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6e000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1005000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1015000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1004000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1024000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1054000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xff9000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xff9000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1054000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf40000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1089000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x107f000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x102a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x107e000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x107f000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1002000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf6a000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xfea000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x107c000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1021000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x100b000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1084000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x101d000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x101d000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1082000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf42000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10db000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf7b000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10db000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf69000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf40000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf68000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1087000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf68000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf3e000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1020000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf68000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x101e000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf68000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf68000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10ec000, 20479, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10f0000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10fb000, 20479, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10de000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10e4000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10f3000, 20479, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1027000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10a3000, 20479, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x109f000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0xf68000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10ea000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10dd000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1025000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10ff000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10a1000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x109d000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1084000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1101000, 36863, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x116b000, 159743, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1141000, 86015, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1155000, 28671, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10af000, 65535, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10d6000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10e7000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x115b000, 45055, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1109000, 110591, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10e4000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1135000, 36863, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1191000, 53247, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x11c9000, 61439, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x119d000, 32767, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1165000, 24575, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x11e1000, 98303, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x11d7000, 32767, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1126000, 40959, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x11de000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x11ae000, 20479, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x11b7000, 45055, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x11f8000, 45055, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x11c2000, 24575, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x120a000, 45055, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x125c000, 49151, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1243000, 86015, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1288000, 61439, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1299000, 61439, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10be000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1267000, 69631, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1230000, 28671, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10bf000, 20479, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10e1000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10aa000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1284000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1214000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10c3000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1281000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10eb000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1257000, 20479, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1088000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x109a000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x102a000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x11a7000, 24575, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10a7000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1209000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10f9000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1209000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x12c7000, 57343, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x12b8000, 53247, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x12f8000, 45055, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x12d5000, 90111, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x13b5000, 159743, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x12f5000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x112f000, 8191, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1130000, 20479, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1342000, 65535, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x130d000, 86015, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10f7000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1130000, 4095, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1216000, 40959, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1277000, 40959, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x13db000, 40959, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10db000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x10c3000, 16383, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1240000, 12287, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x1321000, 49151, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
>> [pid 32129] mprotect(0x474d000, 147455, PROT_READ|PROT_WRITE|PROT_EXEC) = -1 
>> EACCES (Permission denied)
>>
>>  From the mprotect manpage:
>>
>>         EACCES The  memory  cannot be given the specified access.  This can 
>> happen, for example, if you mmap(2) a file to which you have read-only
>>                access, then ask mprotect() to mark it PROT_WRITE.
>>
>>
>> My guess is that your kernel has security settings against executing
>> code in certain regions.  SElinux?  Did this work before?  Can you run
>> the precompiled amd64 Debian linux binary?
>>
>> Take care,
>>
>> Karsten Trulsen<address@hidden>  writes:
>>
>>> Dear Camm Maguire,
>>>
>>> First, I downloaded gcl from cvs after release 2.6.7-97, and built it
>>> successfully on:
>>> Linux vesta.uio.no 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST
>>> 2011 x86_64 GNU/Linux
>>> using:
>>> gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)
>>>
>>> Then I ran both configure and make of maxima-5.26.0 using the following:
>>>> echo "configure maxima" 2>&1 | tee -a ../../logfile.maxima
>>>> strace -f ./configure --prefix=$INSTALL
>>>> --with-gcl=$HOME/local/bin/gcl 2>&1 | tee -a ../../logfile.maxima
>>>> echo "make maxima" 2>&1 | tee -a ../../logfile.maxima
>>>> strace -f make 2>&1 | tee -a ../../logfile.maxima
>>>
>>> The logfile can be downloaded from here:
>>> http://folk.uio.no/karstent/logfile.maxima
>>> Its size is 81576181 bytes!
>>>
>>> Best regards,
>>> Karsten
>>>
>>>
>>> On 01/18/2012 07:56 PM, Camm Maguire wrote:
>>>> Greetings!  I cannot reproduce this on a Debian unstable (sid) amd64
>>>> machine, gcc 4.6.2.
>>>>
>>>> The only way this can happen is for mprotect to fail.  I can update the
>>>> error message to give more info, but you can also run the build under
>>>> strace -f and see the mprotect errno setting if this is repeatable.
>>>>
>>>>   From the manpage:
>>>>
>>>> ERRORS
>>>>          EACCES The  memory  cannot be given the specified access.  This 
>>>> can happen, for example, if you mmap(2) a file to which you have read-only
>>>>                 access, then ask mprotect() to mark it PROT_WRITE.
>>>>
>>>>          EINVAL addr is not a valid pointer, or not a multiple of the 
>>>> system page size.
>>>>
>>>>          ENOMEM Internal kernel structures could not be allocated.
>>>>
>>>>          ENOMEM Addresses in the range [addr, addr+len] are invalid for 
>>>> the address space of the process, or specify one or more pages that are not
>>>>                 mapped.  (Before kernel 2.4.19, the error EFAULT was 
>>>> incorrectly produced for these cases.)
>>>>
>>>> My guess is ENOMEM.
>>>>
>>>> Please keep me posted.
>>>>
>>>> Take care,
>>>>
>>>> Karsten Trulsen<address@hidden>   writes:
>>>>
>>>>> Dear Camm Maguire,
>>>>>
>>>>> Attempt to compile maxima-5.26.0 with the latest gcl (downloaded from
>>>>> CVS after release 2.6.7-96) is not successful.  The building of gcl
>>>>> apparently goes well, I reproduce some configuration details:
>>>>>
>>>>>> checking build system type... x86_64-unknown-linux-gnu
>>>>>> checking host system type... x86_64-unknown-linux-gnu
>>>>>> host=x86_64-unknown-linux-gnu
>>>>>>
>>>>>> use=amd64-linux
>>>>>>
>>>>>> Linux-2.6.32-220.el6.x86_64
>>>>> However, during the building of maxima, there is an error when dealing 
>>>>> with
>>>>>
>>>>>
>>>>>> ;      - Compiling source file
>>>>>> ;        
>>>>>> "/work/karstent/testinstall/maxima/maxima-5.26.0/src/compar.lisp"
>>>>>> Compiling 
>>>>>> /work/karstent/testinstall/maxima/maxima-5.26.0/src/compar.lisp.
>>>>>> End of Pass 1.
>>>>>>
>>>>>> ;; Note: Tail-recursive call of HAS-INT-SYMBOLS was replaced by 
>>>>>> iteration.
>>>>>> ;; Note: Tail-recursive call of LIST-MEQP was replaced by iteration.
>>>>>> ;; Note: Tail-recursive call of CONSTP was replaced by iteration.
>>>>>> ;; Note: Tail-recursive call of SIGN was replaced by iteration.
>>>>>> ;; Note: Tail-recursive call of NONINTEGERP was replaced by iteration.
>>>>>> ;; Note: Tail-recursive call of EVOD was replaced by iteration.
>>>>>> End of Pass 2.
>>>>>> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
>>>>>> Finished compiling binary-gcl/compar.o.
>>>>>>
>>>>>> ;      - Loading binary file "binary-gcl/compar.o"
>>>>>> Loading binary-gcl/compar.o
>>>>>> Error in FUNCALL [or a callee]: The assertion 
>>>>>> !clear_protect_memory(memory) on line 574 of sfaslelf.c in function 
>>>>>> fasload failed
>>>>> I am sorry if this error report does not satisfy formal requirements,
>>>>> I am not even sure if the error should be sent to gcl or maxima.
>>>>>
>>>>> Best regards,
>>>>> Karsten Trulsen
>
>
>
>
>

-- 
Camm Maguire                                        address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah



reply via email to

[Prev in Thread] Current Thread [Next in Thread]