Summary: | X hangs on startup with latest kernel (2.6.29@intel-drm-next merge) | ||
---|---|---|---|
Product: | DRI | Reporter: | Florian Mickler <florian> |
Component: | DRM/Intel | Assignee: | Eric Anholt <eric> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | critical | ||
Priority: | medium | CC: | eric |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Description
Florian Mickler
2009-03-31 17:06:21 UTC
Created attachment 24419 [details]
xorg log (with the offending commit reverted)
Created attachment 24420 [details] kernel config you can get the kernel-patches from bug#20803, no need to attach them here again... instead here is my kernel config How about dmesg and Xorg.0.log when the failure has happened? Created attachment 24440 [details]
dmesg > dmesg_hanging_X shortly after /etc/init.d/xdm start (the gentoo gdm startscript)
ah yes... it is more like spinning... totally forgot to look into dmesg :)
Created attachment 24441 [details]
the xorg log (don't know exactly if before or after kill -9 X, am in a hurry)
Created attachment 24442 [details]
watch -n 0.2 ' cat /proc/`pidof X`/stack' showed only these variations
i am on x86_64 btw Created attachment 24516 [details]
filtered /var/log/messages, for bootup-messages
so i finally have a little bit time... the dmesg i appended wasn't the big win i think? :)
i just found 1.5gig of /var/log/messages files.. (and i wondered what my laptop did all the time after bootup.. turns out it was kerneloops-daemon searching through my 1.5gb log-file *g*)
after filtering it through:
sed -r 's/\[\s+(.+)\]/[\1]/' messages | cut -d' ' -f7- | uniq -c
the resulting file is 43mb big and the timestamps are stripped (obviously)
if you were interested in the bootup-messages of a failure case... here it is.
on a side note:
i think that log suggests that there is somewhere a race condition in the kernel's printk's ?
there are also some traces's in there...
Created attachment 24597 [details] [review] this makes X start up and work, but logfiles get spammed nontheless This causes libdrm to abort the do{} while() loop which it got stuck in before... and it somehow works with this (but spamming the dmesg nonetheless) what do you make out of this? p.s. there are probably other callsites which should assign -EFAULT to ret if copy_to_user failed , Created attachment 24614 [details] [review] this makes everything working for me again hi, this works for me and i think it makes the code (a little bit) clearer. hope you agree. perhaps you should doublecheck the error-returns i used for copy_from_user and copy_to_user. there was also one __copy* function which seemed to be performance-critical and i left it alone, marking with a comment what we are returning. Thx, Florian p.s.: yay my first patch since this is fixed since 2.6.30-rc2 and 2.6.30 is released, i think this can be closed as fixed... |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.