Ok, I've done mklibpop and poplink_cmnd and got a fresh
pop/pop/newpop11. Running it still puts me in an endless loop with no
pop11 prompt.
If I run it under strace I see in the output (with extra linebreaks
inserted)
personality(0xffffffff) = 0 (PER_LINUX)
personality(PER_LINUX|ADDR_NO_RANDOMIZE|READ_IMPLIES_EXEC) = 0
(PER_LINUX)
personality(0xffffffff) = 0x440000
(PER_LINUX|ADDR_NO_RANDOMIZE|
READ_IMPLIES_EXEC)
readlink("/proc/self/exe", "/usr/local/poplog/k5.8/poplog_ba"..., 4096)
= 51
execve("/usr/local/poplog/k5.8/poplog_base/pop/pop/newpop11",
["newpop11"], 0x7f
fd0a2a3f98 /* 66 vars */) = 0
Further on, there is
personality(0xffffffff) = 0x40000
(PER_LINUX|ADDR_NO_RANDOMIZE)
personality(PER_LINUX|ADDR_NO_RANDOMIZE|READ_IMPLIES_EXEC) = 0x40000
(PER_LINUX|
ADDR_NO_RANDOMIZE)
personality(0xffffffff) = 0x440000
(PER_LINUX|ADDR_NO_RANDOMIZE|
READ_IMPLIES_EXEC)
readlink("/proc/self/exe", "/usr/local/poplog/k5.8/poplog_ba"..., 4096)
= 51
execve("/usr/local/poplog/k5.8/poplog_base/pop/pop/newpop11",
["newpop11"], 0x7f
ffffffd998 /* 66 vars */) = 0
and everything appears to repeat indefinitely.
Steve
On Fri, 7 May 2021, hebisch-at-math.uni.wroc.pl |pop-forum| wrote:
On Fri, May 07, 2021 at 02:01:11PM -0400, [email protected] wrote:
I don't know a way to rebuild on a machine that has no working version of
pop11 at all, which is the position on my Ubuntu LTS with kernel 5.8.
If you have good build tree (with .o files) then running 'mklibpop' in
pop/extern/lib and then 'poplink_cmnd' in pop/pop with proper environment
(say via 'poplog.sh' script) should do.
So I tried rebuilding, with the patch, on Scientific Linux 7. C programs
that I compile myself on the Scientic Linux machine run on the Ubuntu one
when all relevant libraries are present.
On SL, I get a new basepop11 which works as expected there. When I transfer
the new basepop11 to Ubuntu and try to run it, it loops, using 100% of cpu,
and never gives a system prompt. If I run it under gdb, I get an infinite
succession of lines
process 733915 is executing new program: /home/steve/basepop11
all with the same process number.
It's not a matter of total incompatibility between SL and Ubuntu, because I
also have access to an Ubuntu LTS system that is still on kernel 5.4, and
the new basepop11 is ok there. Any suggestions for what to do differently
or tests I should run?
Could you try strace? Running
./poplog.sh strace -o p_trace pop11
gives me pop11 prompt. When I exit from poplog there is log of
system calls in p_trace. What matters are lines around personality.
In my case I see:
personality(0xffffffff /* PER_??? */) = 4194304
personality(0x440000 /* PER_??? */) = 4194304
personality(0xffffffff /* PER_??? */) = 4456448
readlink("/proc/self/exe", "/mnt/lv3/kompi0/poplog/pp6.pp3y/"..., 4096) = 45
execve("/mnt/lv3/kompi0/poplog/pp6.pp3y/pop/pop/pop11", ["pop11"], [/* 71 vars
*/]) = 0
and later
personality(0xffffffff /* PER_??? */) = 4456448
The calls with 0xffffffff as argument ask for current personality, we
need last value which in hex is 0x440000. On my system default is
0x400000 (decimal 4194304).
--
Waldek Hebisch