Re: Debian installer for ppc64 and related packages are broken by crashing binaries

Damien Stewart <[email protected]>
Newsgroups gmane.linux.debian.ports.powerpc
Message-ID <[email protected]>
Hello.

> I suspect that this is a library problem, as more than systemd is 
> affected, and the bottom 16 bit of the lr are suspiciously similar -- 
> this is one library that is mapped into different processes at 
> different addresses (but with at least page granularity). 

When doing a chroot to the installed partition it was functional but I 
found using apt or other tools in the list crashed. When booting it 
directly it immediately crashed on systemd and could go no further.

> Yes, these are normal as far as I know. Installer packages are never 
> manually chosen (so the Description isn't needed) and are installed 
> from a consistent set (so the Architecture isn't needed). The 
> Pre-Depends errors are likely from the debootstrap run -- in principle 
> a Pre-Depends on an Essential package should be treated like a Depends 
> here, but this is one of these problems that aren't really worth solving. 

I expected that to be the case. To the untrained eye it may look a bit 
sloppy all these issues installing packages and seeming errors popping 
up. But it is a complicated process that's constantly evolving with each 
update of the install process.

>     Mar 11 17:13:54 kernel: journalctl[8546]: illegal instruction (4)
>     at 3fff95032000 nip 3fff95032000 lr 3fff95033234 code 1 Mar 11
>     17:13:54 kernel: journalctl[8546]: code: XXXXXXXX XXXXXXXX
>     XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Mar 11
>     17:13:54 kernel: journalctl[8546]: code: XXXXXXXX XXXXXXXX
>     XXXXXXXX XXXXXXXX <7f454c46> 02020100 00000000 00000000
>     Mar 11 17:13:54 in-target: Illegal instruction 
>
> That's an ELF header -- the program counter is at the beginning of a 
> mapped binary, not at the beginning of the code contained in it. My 
> suspicion is that someone makes an assumption that function pointers 
> are the same size as normal pointers. The C library generally does 
> this right, but there are various plugins loaded from there like NSS 
> and PAM modules.
> Simon 

You're right. I just realised the "7f" was the leading byte in the ELF 
header. Like an obvious riddle with an answer hidden in plain sight. I 
can't get used to lower hex produced by C format. But the X's around 
don't help either. I read something about hiding machine code in crash 
dumps for security so thought it may crossed out for that reason. So 
this makes me think if a conflict in ABI is involved? Like a mismatch 
between function descriptor and function pointer.

Further tests suggest a kernel conflict. I tested booting it with a long 
term kernel 5.10.235 and it was able to boot. I was unable to login as 
it rejected my password so possibly the password setup from installer 
corrupted. But I am able to chroot to it and fix that as well as update 
and install packages.



-- My regards, Damien Stewart.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.