Messages in this thread Patch in this message | | | Date | Tue, 25 Mar 2008 20:07:14 +0000 | From | Ken Moffat <> | Subject | Regression (gdm no longer shuts down) - 2.4.24.x and 2.6.25 |
| |
Hi,
on one of my boxes, I've got a problem with gdm and kernels newer than 2.6.24 (tested on 2.6.24.2, 2.6.24.4). If I try to restart or shut down from gdm, the window disappears but the X background remains and the box stays in runlevel 5 until I switch to a tty and shut it down (as root) or give it a 3-fingered salute to reboot.
The same with 2.6.25-rc6-git8.
The only oddity in the logs is a large block of Mar 24 13:49:29 bluesbreaker gdm[2554]: Handling user message: 'GET_CONFIG greeter/SetPosition :0' Mar 24 13:49:29 bluesbreaker gdmlogin[2995]: Got response: 'OK false' Mar 24 13:49:29 bluesbreaker gdmlogin[2995]: Sending command: 'CLOSE' Mar 24 13:49:29 bluesbreaker gdm[2554]: Handling user message: 'CLOSE' Mar 24 13:49:29 bluesbreaker gdm[2562]: gdm_slave_wait_for_login: In loop Mar 24 13:49:35 bluesbreaker gdm[2562]: gdm_slave_wait_for_login: end verify for '' Mar 24 13:49:35 bluesbreaker gdm[2562]: gdm_slave_wait_for_login: No login/Bad login Mar 24 13:49:35 bluesbreaker gdm[2562]: gdm_slave_wait_for_login: In loop Mar 24 13:49:35 bluesbreaker gdm[2562]: gdm_slave_wait_for_login: end verify for '' Mar 24 13:49:35 bluesbreaker gdm[2562]: gdm_slave_wait_for_login: No login/Bad login Mar 24 13:49:35 bluesbreaker gdm[2562]: gdm_slave_wait_for_login: In loop ... about 165 repeats of these 3 lines, it seems to stop the messages on its own, then I ran shutdown and got the normal
Mar 24 13:50:02 bluesbreaker shutdown[3000]: shutting down for system halt Mar 24 13:50:02 bluesbreaker init: Switching to runlevel: 0 Mar 24 13:50:08 bluesbreaker logger: /etc/rc.d/init.d/rc called with arg 0 Mar 24 13:50:08 bluesbreaker logger: /etc/rc.d/rc0.d/K01cups called with arg stop and so forth.
Yes, I've got a lot of debugging in there, I used this box to find out why gdm-2.20 gave me a messy shutdown, and left it in after I reverted to gdm-2.18.
This only happens with 64-bit kernels, I've been using it as i686 without any issues.
While trying to debug this, I reverted the two drm patches from 2.6.24.1 (in 2.6.24.4) and normal behaviour was restored. I forgot to change the extraversion, which meant my modules were overwritten. When I later went back to the "bad 2.6.24.4" it shut down correctly. Examination showed i2c_viapro was the key - if I rmmod it in 2.6.24.x, gdm works correctly. For the record, my 32-bit config is very different, but does include i2c_viapro as a module.
So, I started to think it might be an i2c problem. But with 2.6.25-rc6-git8 I can't get gdm to work correctly, neither by reverting the patches, nor with rmmod, so for the moment I'm in the dark. My notes say that I managed to fix it one time on -rc6-git8, by 'rmmod i2c_viapro' before logging out, but all subsequent attempts to repeat this have failed.
FWIW, the via ISA bridge is a 1106:3227 (VIA_8237, also described as VT8237R in i2c-viapro).
Going back to 2.6.24.4 and reverting only the following patch, normal behaviour is restored:
diff --git a/drivers/char/drm/drm_vm.c b/drivers/char/drm/drm_vm.c index e8d50af..ef5e6b1 100644 --- a/drivers/char/drm/drm_vm.c +++ b/drivers/char/drm/drm_vm.c @@ -506,6 +506,7 @@ static int drm_mmap_dma(struct file *filp, struct vm_area_struct *vma) vma->vm_ops = &drm_vm_dma_ops; vma->vm_flags |= VM_RESERVED; /* Don't swap */ + vma->vm_flags |= VM_DONTEXPAND; vma->vm_file = filp; /* Needed for drm_vm_open() */ drm_vm_open_locked(vma); @@ -655,6 +656,7 @@ static int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma) return -EINVAL; /* This should never happen. */ } vma->vm_flags |= VM_RESERVED; /* Don't swap */ + vma->vm_flags |= VM_DONTEXPAND; vma->vm_file = filp; /* Needed for drm_vm_open() */ drm_vm_open_locked(vma); I haven't been following 2.6.25 closely, but I assume that what got applied to 2.6.24-stable was only part of the change to 2.6.25, and perhaps some other part of it is affecting me ?
.config.gz for 2.6.25-rc6-git8 is attached.
Ken -- das eine Mal als Tragödie, das andere Mal als Farce [unhandled content-type:application/x-gunzip] | |