[Bug 2004039] Re: libunwind 1.6.2-0 assumes 4k page sizes and crashes on systems with bigger page sizes
Tobias Heider
2004039 at bugs.launchpad.net
Mon Feb 13 09:55:11 UTC 2023
I have installed libunwind=1.6.2-0ubuntu1.1 on my 16K page arm machine
and verified that the xorg crash is indeed fixed with this version. To
make sure it also does not negatively affect other hardware
configurations I also tested on my amd64 desktop and found that
everything still works without regressions after the update.
To test the functionality of the library I installed libunwind-dev=1.6.2-0ubuntu1.1 and ran the libunwind examples from https://github.com/daniel-thompson/libunwind-examples
The results look good:
$USER:~/libunwind-examples$ ./unwind-local
0x55d35d0d644c: (cmp+0xe)
0x7f927ac3d33c: (bsearch+0x5c)
0x55d35d0d61fc: (main+0x5c)
0x7f927ac23510: (__libc_init_first+0x90)
0x7f927ac235c9: (__libc_start_main+0x89)
0x55d35d0d6245: (_start+0x25)
** Tags removed: verification-needed-kinetic
** Tags added: verification-done-kinetic
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to libunwind in Ubuntu.
https://bugs.launchpad.net/bugs/2004039
Title:
libunwind 1.6.2-0 assumes 4k page sizes and crashes on systems with
bigger page sizes
Status in libunwind package in Ubuntu:
Fix Released
Status in libunwind source package in Kinetic:
Fix Committed
Bug description:
[ Impact ]
* On kernels with page size > 4K Xorg (and presumably other applications
relying on libunwind) crashes on startup. This affects anyone
running the official arm64 generic-64k kernel or custom non 4k kernels
(as used by e.g. apple silicon).
The exact error I am seeing in the logs is:
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: (EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x188) [0xaaab456ca998]
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: (EE) unw_get_proc_info failed: no unwind info found [-10]
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: (EE)
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: (EE) Segmentation fault at address 0x0
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: (EE)
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: Fatal server error:
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: (EE) Caught signal 11 (Segmentation fault). Server aborting
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: (EE)
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: (EE)
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: Please consult the The X.Org Foundation support
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: at http://wiki.x.org
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: for help.
Jan 30 11:16:20 ubuntu /usr/libexec/gdm-x-session[3199]: (EE)
I have not found a workaround other than using wayland (which has other
limitations). To reproduce use a kernel configured with a page size of
16K (CONFIG_ARM64_16K_PAGES=y or CONFIG_ARM64_64K_PAGES=y or) and try
to start "Ubuntu on Xorg" in gdm.
[ Test Plan ]
* Make sure Xorg doesn't crash on 4K, 16K and 64K kernels.
[ Where problems could occur ]
* We will have to make sure the fixed version still works with 4k
kernels. The patch is already widely in use so the risk seems low if
we test properly.
[ Other Info ]
* The lunar version ships the bug fix synced from debian
* Debian bug: https://bugs.debian.org/cgi-
bin/bugreport.cgi?bug=1026217
* Upstream fix:
https://github.com/libunwind/libunwind/commit/e85b65cec757ef589f28957d0c6c21c498a03bdf
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libunwind/+bug/2004039/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list