Re: powerpc: userspace processes crash on abort() from libc.so.6
Shivaprasad G Bhat <[email protected]>
| Newsgroups | gmane.linux.ports.ppc.embedded |
|---|---|
| Message-ID | <d8edbbfc-4910-4c0b-b104-2fe51756ecc7__16809.9842894421$1787840211$gmane$org@linux.ibm.com> |
Hi Shrikanth, On 8/27/26 5:08 PM, Shrikanth Hegde wrote: > Hi Shivaprasad. > > On 8/27/26 11:13 AM, Shivaprasad G Bhat wrote: >> >> Hi All, Thomas, >> >> On my PPC64 machine, I see the below systemd crash orginating from >> abort() during boot on top of the tree. Complete dmesg can be seen >> here [1] >> abort (libc.so.6 + 0x29484) >> __libc_message_impl (libc.so.6 + 0x9e00c) >> __libc_fatal (libc.so.6 + 0x9e06c) >> start_thread (libc.so.6 + 0xadffc) >> __clone (libc.so.6 + 0x152d68) >> __clone (libc.so.6 + 0x152d68) >> create_thread.constprop.0 (libc.so.6 + 0xad9c8) >> >> The git bisect pointed me to commit 3424d8c18a7da "(Merge tag 'core- >> entry-2026-08-17' of git://git.kernel.org/pub/scm/linux/kernel/git/ >> tip/tip)" >> >> Please find the kernel config used to build the kernel at [2]. >> >> I have tried applying the pending fixes from Mukesh [3] and Ritesh [4] >> for the currently outstanding issues and still see the problem. >> >> The system is running Fedora 42, with glibc-2.41-7.fc42.ppc64le. The >> complete list of toolchain and packages can be found here [5] >> >> Thanks and Regards, >> Shivaprasad >> >> References: >> 1 - https://gist.github.com/ >> shivaprasadbhat/6f166374bab12b4f4c1cd4ac829e562c >> 2 - https://gist.github.com/shivaprasadbhat/ >> aa499468e124015eec5932fb13e88e05 >> 3 - https://lore.kernel.org/linuxppc-dev/ >> [email protected]/#t >> 4 - https://lore.kernel.org/linuxppc-dev/20260820134718.2176411-1- >> [email protected]/ >> 5 - https://gist.github.com/shivaprasadbhat/ >> ae56ca849c3009e8642a6313dc465ea7 >> >> ========= >> Backtrace from dmesg: >> [ 22.039343][ T1833] systemd-coredump[1833]: Module libsystemd- >> shared-257.6-1.fc42.so from rpm systemd-257.6-1.fc42.ppc64le >> [ 22.039378][ T1833] systemd-coredump[1833]: Stack trace of thread >> 1828: >> [ 22.039378][ T1833] systemd-coredump[1833]: Stack trace of thread >> 1828: >> [ 22.039401][ T1833] systemd-coredump[1833]: #0 0x00007fffa4c29484 >> abort (libc.so.6 + 0x29484) >> [ 22.039401][ T1833] systemd-coredump[1833]: #0 0x00007fffa4c29484 >> abort (libc.so.6 + 0x29484) >> [ 22.039429][ T1833] systemd-coredump[1833]: #1 0x00007fffa4c9e00c >> __libc_message_impl (libc.so.6 + 0x9e00c) >> [ 22.039429][ T1833] systemd-coredump[1833]: #1 0x00007fffa4c9e00c >> __libc_message_impl (libc.so.6 + 0x9e00c) >> [ 22.039461][ T1833] systemd-coredump[1833]: #2 0x00007fffa4c9e06c >> __libc_fatal (libc.so.6 + 0x9e06c) >> [ 22.039461][ T1833] systemd-coredump[1833]: #2 0x00007fffa4c9e06c >> __libc_fatal (libc.so.6 + 0x9e06c) >> [ 22.039491][ T1833] systemd-coredump[1833]: #3 0x00007fffa4cadffc >> start_thread (libc.so.6 + 0xadffc) >> [ 22.039491][ T1833] systemd-coredump[1833]: #3 0x00007fffa4cadffc >> start_thread (libc.so.6 + 0xadffc) >> [ 22.039521][ T1833] systemd-coredump[1833]: #4 0x00007fffa4d52d68 >> __clone (libc.so.6 + 0x152d68) >> [ 22.039521][ T1833] systemd-coredump[1833]: #4 0x00007fffa4d52d68 >> __clone (libc.so.6 + 0x152d68) >> [ 22.039551][ T1833] systemd-coredump[1833]: #5 0x00007fffa4d52d68 >> __clone (libc.so.6 + 0x152d68) >> [ 22.039551][ T1833] systemd-coredump[1833]: #5 0x00007fffa4d52d68 >> __clone (libc.so.6 + 0x152d68) >> [ 22.039580][ T1833] systemd-coredump[1833]: #6 0x00007fffa4cad9c8 >> create_thread.constprop.0 (libc.so.6 + 0xad9c8) >> [ 22.039580][ T1833] systemd-coredump[1833]: #6 0x00007fffa4cad9c8 >> create_thread.constprop.0 (libc.so.6 + 0xad9c8) >> [ 22.039614][ T1833] systemd-coredump[1833]: #7 0x00000000003af858 >> n/a (n/a + 0x0) >> [ 22.039614][ T1833] systemd-coredump[1833]: #7 0x00000000003af858 >> n/a (n/a + 0x0) >> [ 22.039639][ T1833] systemd-coredump[1833]: ELF object binary >> architecture: PowerPC64 >> [ 22.039639][ T1833] systemd-coredump[1833]: ELF object binary >> architecture: PowerPC64 >> [ 22.042109][ T1] systemd[1]: systemd-journald.service: Scheduled >> restart job, restart counter is at 1. > > I was looking at merge patch and It is possible that TIF_SYSCALL_RET is > still set when it is returned > and maybe causing a mismatch. > > Does below help? > --- > > --- a/arch/powerpc/kernel/syscall.c > +++ b/arch/powerpc/kernel/syscall.c > @@ -19,8 +19,10 @@ notrace long system_call_exception(struct pt_regs > *regs, unsigned long r0) > long ret; > syscall_fn f; > > - if (unlikely(!syscall_enter_from_user_mode_randomize_stack(regs, > &r0))) > + if (unlikely(!syscall_enter_from_user_mode_randomize_stack(regs, > &r0))) { > + clear_thread_flag(TIF_SYSCALL_RET); Yes. This worked. Thanks, Shivaprasad> return syscall_get_error(current, regs); > + } > > if (unlikely(test_and_clear_thread_flag(TIF_SYSCALL_RET))) > return syscall_get_error(current, regs);