FS#33229 - [xorg-server] virtualbox X hangs on start in Arch guest install after updating to glibc-2.17
Attached to Project:
Arch Linux
Opened by Josh Braun (wideaperture) - Friday, 28 December 2012, 19:47 GMT
Last edited by Jan de Groot (JGC) - Monday, 18 February 2013, 15:58 GMT
Opened by Josh Braun (wideaperture) - Friday, 28 December 2012, 19:47 GMT
Last edited by Jan de Groot (JGC) - Monday, 18 February 2013, 15:58 GMT
|
Details
Description:
Updating to the package versions listed in the next section causes X to hang when started. I am running Arch in VirtualBox 4.2.6 on an OS X 10.7.5 host. The latest version of virtualbox-guest-utils (4.2.6-1) and virtualbox-guest-modules (4.2.6-3) are installed through the Arch repository. The system boots just fine, but my Gnome desktop won't launch. The screen goes black and hangs, the resolution never changes either. I'm using "~/.xinitrc:exec gnome-session" and 'startx' to launch the desktop environment, rather than gdm. At least one other user has experienced a similar issue: https://bbs.archlinux.org/viewtopic.php?pid=1211131 Additional info: * package version(s): Rolling back these four packages to previous versions after the update fixed the issue, so I'm assuming the conflict has to do with them and another element of the desktop environment (X, Guest Additions, or possibly Gnome): binutils-2.23.1-2 gcc-4.7.2-3 gcc-libs-4.7.2-3 glibc-2.17-1 Here are the other relevant packages... Installed Virtualbox Guest Additions packages: virtualbox-guest-utils (4.2.6-1) virtualbox-guest-modules (4.2.6-3) Installed Xorg packages: xorg-xsetroot 1.1.0-3 xorg-xset 1.2.2-1 xorg-xrefresh 1.0.4-3 xorg-xrdb 1.0.9-2 xorg-xrandr 1.3.5-1 xorg-xmodmap 1.0.7-1 xorg-xkbcomp 1.2.4-1 xorg-xinput 1.6.0-1 xorg-xinit 1.3.2-3 xorg-xhost 1.0.5-1 xorg-xgamma 1.0.5-1 xorg-xcmsdb 1.0.4-1 xorg-xclock 1.0.6-1 xorg-xbacklight 1.2.0-1 xorg-xauth 1.0.7-1 xorg-twm 1.0.7-1 xorg-setxkbmap 1.3.0-1 xorg-sessreg 1.0.7-1 xorg-server-utils 7.6-3 xorg-server-common 1.13.1-1 xorg-server 1.13.1-1 xorg-mkfontscale 1.1.0-1 xorg-mkfontdir 1.0.7-1 xorg-luit 1.1.1-1 xorg-iceauth 1.0.5-1 xorg-fonts-misc 1.0.1-2 xorg-fonts-encodings 1.0.4-3 xorg-fonts-alias 1.0.2-2 xorg-font-utils 7.6-3 xorg-font-util 1.3.0-1 xorg-bdftopcf 1.0.3-2 xf86-input-evdev 2.7.3-2 Lastly, while I'm pretty sure X is hanging before it ever gets around to starting a gnome session, here are the version numbers of my gnome packages just in case they're relevant: yelp 3.6.2-1 xdg-user-dirs-gtk 0.9-1 polkit-gnome 0.105-1 notification-daemon 0.7.6-1 network-manager-applet 0.9.6.4-1 nautilus 3.6.3-1 mutter 3.6.2-1 metacity 2.34.13-1 libsoup-gnome 2.40.2-1 libsoup 2.40.2-1 libreoffice-gnome 3.6.4-3 libgsf 1.14.25-1 libgnomeui 2.24.5-1 libgnomekbd 3.6.0-1 libgnomecanvas 2.30.3-2 libgnome-media-profiles 3.0.0-3 libgnome-keyring 3.6.0-1 libgnome-data 2.32.1-3 libgnome 2.32.1-3 icon-naming-utils 0.8.90-2 gtksourceview3 3.6.1-1 gnome-video-effects 0.4.0-2 gnome-vfs 2.24.4-6 gnome-user-docs 3.6.2-1 gnome-tweak-tool 3.6.1-1 gnome-themes-standard 3.6.2-1 gnome-terminal 3.6.0-1 gnome-speech 0.4.25-2 gnome-shell 3.6.2-1 gnome-settings-daemon 3.6.3-2 gnome-session 3.6.2-1 gnome-screensaver 3.6.1-1 gnome-panel 3.6.2-1 gnome-online-accounts 3.6.2-1 gnome-mime-data 2.18.0-6 gnome-menus 3.6.1-1 gnome-keyring 3.6.2-1 gnome-icon-theme-symbolic 3.6.2-1 gnome-icon-theme-extras 3.6.2-1 gnome-icon-theme 3.6.2-1 gnome-desktop 1:3.6.2-1 gnome-control-center 3.6.3-3 gnome-bluetooth 3.6.1-1 gnome-backgrounds 3.6.0-1 gjs 1.34.0-1 gdm 3.6.2-1 epiphany 3.6.1-1 caribou 0.4.4.2-1 brasero 3.6.1-1 * config and/or log files etc. Xorg.0.log: http://pastie.org/5589544 System update excerpt from pacman.log: http://pastie.org/5589541 Steps to reproduce: Update to the following packages in a VirtualBox Arch installation running the gnome desktop environment and VirtualBox Guest Additions (other relevant version numbers above): binutils-2.23.1-2 gcc-4.7.2-3 gcc-libs-4.7.2-3 glibc-2.17-1 |
This task depends upon
Closed by Jan de Groot (JGC)
Monday, 18 February 2013, 15:58 GMT
Reason for closing: Fixed
Additional comments about closing: The suggested patch has been implemented. Upstream has not responded to the bugreport so far, but besides an extra line of code, this patch is harmless.
Monday, 18 February 2013, 15:58 GMT
Reason for closing: Fixed
Additional comments about closing: The suggested patch has been implemented. Upstream has not responded to the bugreport so far, but besides an extra line of code, this patch is harmless.
the culprit seems to be the packages "virtualbox-guest-modules 4.2.6-3" and "virtualbox-guest-utils 4.2.6-1" who seem not compatible with the last version of glibc ( 2.17-1 ),
I disable the virtualbox modules in /etc/modules-load.d/ and disable the virtualbox service with systemctl, then I can now start KDE,
a rebuild of these packages may fix the problem
https://bbs.archlinux.org/viewtopic.php?pid=1211058#p1211058 (original)
https://bbs.archlinux.org/viewtopic.php?pid=1211086#p1211086
https://bbs.archlinux.org/viewtopic.php?pid=1211170#p1211170
https://bbs.archlinux.org/viewtopic.php?pid=1211157#p1211157 (Potomac; same user as above)
https://bbs.archlinux.org/viewtopic.php?pid=1211340#p1211340
https://bbs.archlinux.org/viewtopic.php?pid=1212090#p1212090
You're in the best position to test that theory, though it's highly dubious that this would be a problem. If a rebuild fixes this, I'd almost say that glibc is broken for not maintaining backwards compat.
I use lxde with the lxdm service enabled.
Maybe the bug is in the new version of glibc?
Edited to add:
I recompiled virtualbox-guest-utils and virtualbox-guest-modules from ABS while using glibc 2.17-1 and the problem remains unsolved.
Does the bug is reported upstream ?
I've only posted it here, as I was unsure whether the underlying issue was with Arch, glibc, X, or VirtualBox Guest Additions.
I guess you can specify this parameter because you are the owner of this ticket
If someone wants to prove me wrong, bisect the glibc commit that causes the issue and I will look at it. At this stage, I will not be doing so...
The offender commit is c78ab0947353c8f46d23857ebf3fb4a70ed581d9 (Cleanup code duplication in malloc on fallback to use another arena...)
I will try to revert only this commit in version 2.17
commit c40ea3d9a3be8645441967cddf14645b84af5f2c
Date: Tue Jan 8 19:32:00 2013 +0100
Then revert: git revert c78ab0947353c8f46d23857ebf3fb4a70ed581d9
git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: malloc/arena.c
# modified: malloc/malloc.c
===> Virtualbox is working without problem :-)
Now I will try to understand why, and what is going on with this commit.
I am not an expert, if anybody can take a look and/or try without the offender commit to confirm my tests, thanks
The offender commit can be seen here: http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=c78ab0947353c8f46d23857ebf3fb4a70ed581d9;hp=01f49f59cebf782c663698a0fa6f15453409d42b
@@ -3225,22 +3173,10 @@ __libc_calloc(size_t n, size_t elem_size)
I do not have time "today" (in France this is already tomorrow 00:20) to build a clean package
http://pkgbuild.com/~allan/glibc-2.17-1.1-i686.pkg.tar.xz
http://pkgbuild.com/~allan/glibc-2.17-1.1-i686.pkg.tar.xz worked fine for me.
Tested on Guest Arch Linux with vboxguest, vboxsf and vboxvideo modules loaded.
http://pkgbuild.com/~allan/glibc-2.17-1.2-i686.pkg.tar.xz
http://pkgbuild.com/~allan/glibc-2.17-1.3-i686.pkg.tar.xz
http://pkgbuild.com/~allan/glibc-2.17-1.3-i686.pkg.tar.xz -> Bad
http://pkgbuild.com/~allan/glibc-2.17-1.4-i686.pkg.tar.xz
http://pkgbuild.com/~allan/glibc-2.17-1.5-i686.pkg.tar.xz
http://pkgbuild.com/~allan/glibc-2.17-1.5-i686.pkg.tar.xz -> Bad
@@ -2858,23 +2858,10 @@ __libc_malloc(size_t bytes)
http://pkgbuild.com/~allan/glibc-2.17-1.6-i686.pkg.tar.xz
(1) Removed 'IgnorePkg binutils gcc gcc-libs glibc' from pacman.conf
(2) Ran pacman -Syu to upgrade to the latest repository versions of the above (all other packages were already up to date).
(3) Downloaded the glibc package you provided.
(3) Ran 'pacman -U /path/to/new/glibc/package' to overwrite repository version of the glibc package.
(4) Rebooted.
(5) Launched successfully into Gnome from the command line. Did the same with Awesome WM for good measure.
I hope we find a proper solution to this rare issue soon.
@@ -2858,23 +2858,10 @@ __libc_malloc(size_t bytes)
and added a
if (__builtin_expect(ar_ptr != NULL, 1)) {
where one gets added in the patch. Now I have no idea...
Host: Mac OS X 10.8.2
VirtualBox 4.2.6 r82870 (at the time of writing the current version)
Arch Linux 3.6.11-1-ARCH #1 SMP PREEMPT Tue Dec 18 12:58:46 CET 2012 i686 GNU/Linux
before i did a "pacman -Syu" and the Arch Linux system did crash / hang on X11; after this i booted in Runlevel 3 and
updated the glibc package with the version above and now the system starts correctly :-)
Also I found that there are some (other) stability problems with vboxvideo in the latest versions of ubuntu and fedora that use xorg 1.13, and at least in lubuntu 12.10 it's disabled by default.
Look for example at this thread: https://forums.virtualbox.org/viewtopic.php?f=3&t=51727&start=30
Host: Windows 7 Enterprise x64
Virtualbox 4.1.8 r75467
Virtualbox-guest-utils 4.2.6-1
Arch Linux 3.6.11-1-ARCH
https://projects.archlinux.org/svntogit/community.git/commit/trunk?h=packages/virtualbox-modules&id=52f1dcf3
Jan 21 15:46:44 localhost kernel: [ 2.923713] vboxvideo: disagrees about version of symbol drm_pci_init
Jan 21 15:46:44 localhost kernel: [ 2.923717] vboxvideo: Unknown symbol drm_pci_init (err -22)
Jan 21 15:46:44 localhost kernel: [ 2.923722] vboxvideo: disagrees about version of symbol drm_vblank_init
Jan 21 15:46:44 localhost kernel: [ 2.923724] vboxvideo: Unknown symbol drm_vblank_init (err -22)
Jan 21 15:46:44 localhost kernel: [ 2.923726] vboxvideo: disagrees about version of symbol drm_pci_exit
Jan 21 15:46:44 localhost kernel: [ 2.923727] vboxvideo: Unknown symbol drm_pci_exit (err -22)
Jan 21 15:46:44 localhost [ 2.945356] systemd[1]: systemd-modules-load.service: main process exited, code=exited, status=1/FAILURE
Jan 21 15:46:44 localhost [ 2.951883] systemd[1]: Unit systemd-modules-load.service entered failed state
for me this version is not really a fix
@Allan Did you have any advice to track this bug, my computer is now fixed and I can run some test, I was thinking by using the valgrind tools, advise ?
https://www.virtualbox.org/ticket/11356
Take a look at comment 8 in particular.
I am going to compile the library with symbol to obtain a better back trace
Edit, Trace with symbol : http://pastebin.com/iJzw4edM
Add : "framebuffer.base = NULL;" into glxdri.c at line 974
The bug is inside xorg-server, patch here: http://pastebin.com/Dt6wvdAp
[ 5.435378] vboxvideo: disagrees about version of symbol drm_pci_init
[ 5.435385] vboxvideo: Unknown symbol drm_pci_init (err -22)
[ 5.435394] vboxvideo: disagrees about version of symbol drm_vblank_init
[ 5.435396] vboxvideo: Unknown symbol drm_vblank_init (err -22)
[ 5.435402] vboxvideo: disagrees about version of symbol drm_pci_exit
[ 5.435404] vboxvideo: Unknown symbol drm_pci_exit (err -22)
For the bug inside xorg-server, do we really need to wait upstream to fix it ?
If anyone think of a better correction ? Mine does have any impact, it just initialized to NULL a local variable...
bug 33598. The bad news is that this bug is back—now that the video module is loading, it's resuming its spitting contest with xserver.As I needed a working vbox for myself I have build and uploaded signed packages with this patch applied: https://users.archlinux.de/~pierre/tmp/ It's possible this will get fixed in the repos as well soon.