tjaalton | RAOF: so, 1.13 is not in -proposed yet? | 05:11 |
---|---|---|
RAOF | tjaalton: No; I got part-way through and then stalled on fixing up -ati. I didn't want to upload until I'd tested that it at least brings up a server on -ati, -intel, and -nouveau. | 05:13 |
tjaalton | ok, cool. I have -intel to test on | 05:14 |
tjaalton | though I bet you do as well :) | 05:14 |
RAOF | And this morning someone wanted help fixing up pointer barriers for Fedora! I couldn't possibly go past helping them out a bit so I don't have to :) | 05:14 |
tjaalton | magcius?-) | 05:15 |
RAOF | Yeah | 05:15 |
RAOF | Are you back from your holiday? | 05:16 |
tjaalton | yup :( :) | 05:16 |
tjaalton | just when it got hot | 05:17 |
tjaalton | (lowest during the night was 22C) | 05:18 |
RAOF | Oooh, urgh. | 05:18 |
RAOF | That is incorrect. | 05:18 |
RAOF | You should tell the weather to try again; this time, it failed. | 05:18 |
tjaalton | hehe, yeah | 05:19 |
tjaalton | well, there are still the weekends fully packed with activities, so there's time to get some of the "lost weather" back | 05:19 |
tjaalton | it has been quite rainy and cool most of the july | 05:20 |
mlankhorst | morning | 07:42 |
mlankhorst | oh new intel drivers | 08:08 |
mlankhorst | RAOF: how's uploading going? I just pushed intel 20.2 update | 08:14 |
akheron | hey | 08:14 |
akheron | I'm trying to find out why my X server crashes every now and then when waking from suspend | 08:15 |
mlankhorst | heya | 08:15 |
mlankhorst | f | 08:15 |
mlankhorst | oops | 08:15 |
akheron | I've got one crash dump that shows it segfaults on free() in Xi/xiproperty.c, in function XIDeleteAllDeviceProperties | 08:16 |
mlankhorst | that usually means memory corruption, can you try running X with valgrind? | 08:16 |
akheron | mlankhorst: sure, how? | 08:16 |
mlankhorst | sec | 08:16 |
mlankhorst | create a script /etc/X11/X2 with these contents | 08:17 |
mlankhorst | #!/bin/bash | 08:17 |
mlankhorst | exec /usr/bin/valgrind --track-origins=yes --leak-resolution=high --malloc-fill=ef --free-fill=df /usr/bin/Xorg "$@" -verbose 10 &>>/home/yourusername/xorg-valgrind.log | 08:17 |
mlankhorst | make it executable | 08:17 |
mlankhorst | then remake the /etc/X11/X symlink, point it to /etc/X11/X2 | 08:18 |
mlankhorst | then just restart lightdm :) | 08:18 |
mlankhorst | to restore, sudo ln -sf /usr/bin/Xorg /etc/X11/X | 08:18 |
akheron | ok, let's try | 08:19 |
akheron | yeah, now running in valgrind | 08:23 |
mlankhorst | it's more useful if you install xserver-xorg-core-dbg and xserver-xorg-input-(evdev,synaptics)-dbgsym | 08:24 |
akheron | what apt source I need for the -dbgsym packages? | 08:25 |
mlankhorst | https://wiki.ubuntu.com/DebuggingProgramCrash/ see Debug Symbol Packages | 08:25 |
akheron | ah yeah, without those the stack traces show ??? | 08:26 |
mlankhorst | yeah for quantal I made -dbg packages so you would no longer need to enable that repo to debug most of X :) | 08:27 |
akheron | heh | 08:27 |
akheron | will I need a dbgsym package for the intel driver too? | 08:28 |
akheron | intel_drv.so | 08:28 |
mlankhorst | if it shows up it would help | 08:28 |
mlankhorst | same for libdrm | 08:29 |
akheron | yeah, both seem to show up | 08:29 |
akheron | this will take some time, as the crahs doesn't occur every time when waking from suspend | 08:30 |
akheron | usually once every two days | 08:30 |
akheron | or so | 08:30 |
tjaalton | what do you mean by a 'crash'? | 08:32 |
tjaalton | you get the login screen? | 08:32 |
akheron | tjaalton: yes | 08:32 |
tjaalton | ok | 08:32 |
akheron | actually I'm not sure if it's always when waking from suspend | 08:33 |
akheron | sometimes the machine won't suspend and I get a login screen, so it happens when going to suspend | 08:33 |
akheron | hmm, I still get ???'s from intel_drv.so | 08:40 |
mlankhorst | xserver-xorg-video-intel-dbg ? | 08:41 |
mlankhorst | and maybe libdrm.*-dbg | 08:51 |
akheron | mlankhorst: nope, I still get ???'s | 09:53 |
RAOF | mlankhorst: I'm a bit confused by -ati and -evdev, but mostly evdev. What happened to 0005-fix-horiz-scrolling.patch 0006-axis-label-overrun.patch? They got added to a commit? And the git log is confusing; it's not a pre-sync to debian-experimental - there are still significant differences. | 10:41 |
mlankhorst | hm you're right, i wanted to sync evdev but they didn't want the patches, so no longer valid | 10:42 |
RAOF | Yeah. | 10:44 |
RAOF | It's probably also worth dropping the explicit depends on xserver-xorg-core; we don't need them. | 10:44 |
mlankhorst | RAOF: well I mesed up on evdev, first patch has to be manually unapplied with patch -Rp1, then you get the stable release again, to build against | 10:44 |
RAOF | mlankhorst: Hm, ok. | 10:44 |
mlankhorst | build system will reapply the patch | 10:44 |
mlankhorst | ati.. let me check | 10:44 |
RAOF | Yeah. | 10:45 |
RAOF | ati doesn't have an orig.tar.gz; there's no xf86-video-ati 6.99.99 release (right?), so it should have a ~git version so we can bump it if we want to grab a newer snapshot. | 10:46 |
mlankhorst | yeah | 10:46 |
RAOF | Also, I was also confused by the rationale; you said you grabbed a newer snapshot for some UMS fixes, but this is a kms-only release? | 10:47 |
mlankhorst | erm I meant it removes UMS, but there were some X server fixes after that that we need for building against x1.13 | 10:48 |
RAOF | Aaah. Ok, that makes sense. | 10:48 |
mlankhorst | but yeah I didn't know yet if I wanted to do another pull or not so I just set version to a stub | 10:50 |
RAOF | HEh. | 10:51 |
mlankhorst | everything more clear now? :) | 10:52 |
RAOF | So, another general comment - when pre-merging from Debian, it's nice if you include the (possibly incomplete) Debian changelog (complete with UNRELEASED), then add the Ubuntu changelog on top. | 10:53 |
RAOF | Yeah, everything more clear now. You could have committed the version number at the time you committed, though. There's no reason you can't change the version if you decide you need a newer pull ;) | 10:53 |
mlankhorst | aye but at that time I still had to update 25-ish other drivers, decided it was more easier not to handle everything as special if I could | 10:54 |
RAOF | Fair enough. | 10:54 |
mlankhorst | it's different if I just update -ati or -all | 10:55 |
mlankhorst | but I would rather have the new stack soon, I want to do a new push of the x-1.13 ppa, but for precise renamed, to test the mechanics I want to propose | 11:00 |
RAOF | Yeah. Now that's cleared up, I'll punch through it (tomorrow) | 11:03 |
mlankhorst | great :) | 11:03 |
mlankhorst | oh looks like new libXrandr landed too | 11:06 |
akheron | mlankhorst: now it crashed | 11:45 |
akheron | valgrind: m_mallocfree.c:288 (get_bszB_as_is): Assertion 'bszB_lo == bszB_hi' failed. | 11:45 |
akheron | valgrind: Heap block lo/hi size mismatch: lo = 80, hi = 0. | 11:45 |
akheron | This is probably caused by your program erroneously writing past the | 11:45 |
akheron | end of a heap block and corrupting heap metadata. If you fix any | 11:45 |
akheron | invalid writes reported by Memcheck, this assertion failure will | 11:45 |
akheron | probably go away. Please try that before reporting this as a bug. | 11:45 |
akheron | there are 52 invalid writes in the valgrind log :/ | 11:46 |
mlankhorst | Wow, you managed to crash valgrind with invalid memory access? Amazing! | 11:55 |
mlankhorst | I genuinely didn't know you could do that :0 | 11:55 |
akheron | :) | 11:56 |
akheron | the crash always happens after this log line: | 11:57 |
akheron | (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found | 11:57 |
mlankhorst | just dump the full log somewhere | 11:57 |
akheron | mlankhorst: https://gist.github.com/3206429 | 11:58 |
mlankhorst | what version of synaptics are you using? | 11:59 |
akheron | mlankhorst: xserver-xorg-input-synaptics 1.6.2-1ubuntu1~precise1 | 12:01 |
mlankhorst | cnd: Arghhhhh synaptics is corrupting in that log again, updatetouchstate out of bounds, this time in the other direction | 12:02 |
akheron | so this is a somewhat known prob? | 12:04 |
mlankhorst | I don't know, I can silence some warnings | 12:04 |
mlankhorst | one of the valgrind warnings there is known at least but I didn't isolate it to causing a crash, give me a sec | 12:06 |
akheron | mlankhorst: ok, no hurry | 12:07 |
akheron | I've had this issue for a long time | 12:07 |
akheron | only now it started irritating me enough to look at it :) | 12:08 |
mlankhorst | ok how good are you with packaging? can send you a patch or updated package to test | 12:09 |
akheron | dpkg-buildpackage :) | 12:09 |
akheron | so yes, I believe I can build and install a package | 12:10 |
akheron | if you send a patch | 12:10 |
mlankhorst | ok sure | 12:10 |
mlankhorst | http://people.canonical.com/~mlankhorst/229-strip-mode-pointer.patch this will shut up some warnings at least | 12:11 |
mlankhorst | if I backported it correctly, but I suspect it will not fix things enough | 12:12 |
akheron | I'll have a try | 12:16 |
akheron | thanks | 12:16 |
mlankhorst | how long has this been happening though, new breakage or old? | 12:18 |
mlankhorst | well, before july or after? | 12:18 |
akheron | mlankhorst: before | 12:44 |
akheron | I got this machine on february, and first used debian with gnome 3 | 12:44 |
akheron | it had odd bugs (with synaptics) so I decided to try ubuntu | 12:45 |
akheron | and ubuntu crashes :) | 12:45 |
akheron | I installed it maybe two months ago, and the problem has been there all the time | 12:45 |
mlankhorst | ok | 12:46 |
akheron | the package is building now, btw | 12:46 |
mlankhorst | else I was thinking the security update but I guess we could rule it out then | 12:46 |
akheron | mlankhorst: yah, certainly not the last update | 12:52 |
akheron | *yeah | 12:52 |
mlankhorst | if it still crashes one more time, which is likely, please update synaptics http://people.canonical.com/~mlankhorst/synaptics-dbg.patch , but I want to rule this issue out first :) | 12:52 |
akheron | mlankhorst: ok | 12:53 |
mlankhorst | a lot of valgrind errors should be gone at least | 12:53 |
akheron | too bad the only way to reproduce seems to be to suspend and resume 20 times... | 12:53 |
mlankhorst | you're helping a lot of others, I can't seem to reproduce it :) | 12:54 |
akheron | now running 2:1.11.4-0ubuntu10.7~ppa :) | 13:04 |
mlankhorst | what if you touch keypad during suspend, ? | 13:05 |
mlankhorst | well, during start or end of suspend | 13:05 |
akheron | mlankhorst: that sometimes makes it crash | 13:20 |
akheron | but I'm not sure | 13:20 |
akheron | the last time, for example, it crashed about 5 sec after fully waking up | 13:20 |
mlankhorst | akheron: can you give a valgrind log from that and then patch synaptics? | 13:21 |
akheron | mlankhorst: that's the valgrind log I gave you | 13:22 |
mlankhorst | erm I just want to see if other errors are gone now :) | 13:24 |
akheron | mlankhorst: and now with the xserver-xorg patch, I still get the same invalid writes in UpdateTouchState | 13:24 |
akheron | ah | 13:24 |
akheron | I'll post a new log, though i didn't crash yet | 13:25 |
akheron | a sec | 13:25 |
mlankhorst | well the nice thing about the Xorg valgrind hook is that it records all attempts previously | 13:25 |
mlankhorst | so it doesn't wipe the log on X server restart | 13:26 |
cnd | mlankhorst: remember we reverted a patch in precise | 13:26 |
cnd | without those patches we will get touch update corruption I think | 13:26 |
mlankhorst | ok | 13:27 |
akheron | mlankhorst: https://gist.github.com/3206891 | 13:27 |
akheron | in this one, I suspended & resumed once | 13:27 |
mlankhorst | sigh looks like I have to figure out that failure, then | 13:27 |
akheron | the errors are there but no crash yet | 13:27 |
akheron | now I'll gotta go | 13:28 |
akheron | will try the synaptics patch late today or tomorow | 13:28 |
mlankhorst | cnd: Sigh so really the only way to fix it is to find out why the whole patch series crashes on the backported input stack? | 13:28 |
cnd | yeah | 13:28 |
mlankhorst | it's a simple null pointer dereference, but how it gets there makes no sense to me | 13:28 |
cnd | hmm | 13:29 |
mlankhorst | and upstream was unaffected, let me see if I can find the packages I was using again | 13:31 |
mlankhorst | cnd: this was why it didn't make sense to me btw | 13:59 |
mlankhorst | (0x009508d0 in ActivateKeyboardGrab (keybd=0x21d2fd10, grab=0x220cfd80, time=..., passive=0) at ../../dix/events.c:1616 | 13:59 |
mlankhorst | (gdb) print *keybd | 13:59 |
mlankhorst | $1 = {public = {devicePrivate = 0x21c918a8, processInputProc = 0xa4cda0 <ProcessKeyboardEvent>, realInputProc = 0xa4cda0 <ProcessKeyboardEvent>, | 13:59 |
mlankhorst | enqueueInputProc = 0x947bf0 <EnqueueEvent>, on = 0}, next = 0x0, startup = 1, deviceProc = 0x649aa0, inited = 1, enabled = 0, coreEvents = 4, | 13:59 |
mlankhorst | deviceGrab = {grabTime = {months = 0, milliseconds = 1328245}, fromPassiveGrab = 0, implicitGrab = 0, activeGrab = 0x21d28ad8, grab = 0x0, | 13:59 |
mlankhorst | activatingKey = 0 '\000', ActivateGrab = 0x950750 <ActivateKeyboardGrab>, DeactivateGrab = 0x950570 <DeactivateKeyboardGrab>, sync = {frozen = 0, | 13:59 |
mlankhorst | state = 0, other = 0x0, event = 0x21d30270}}, type = 3, xinput_type = 96, name = 0x21d304a8 "SynPS/2 Synaptics TouchPad", id = 14, key = 0x0, | 13:59 |
mlankhorst | valuator = 0x21d30ad8, touch = 0x21d326c8, button = 0x21d30580, focus = 0x0, proximity = 0x0, kbdfeed = 0x0, ptrfeed = 0x21d32568, intfeed = 0x0, | 13:59 |
mlankhorst | stringfeed = 0x0, bell = 0x0, leds = 0x0, xkb_interest = 0x0, config_info = 0x21d304c8 "udev:/sys/devices/platform/i8042/serio1/input/input7/event7", | 13:59 |
mlankhorst | unused_classes = 0x0, saved_master_id = 0, devPrivates = 0x21d2ff78, unwrapProc = 0xa4ac50 <xkbUnwrapProc>, spriteInfo = 0x21d2ff5c, master = 0x21bbfed0, | 13:59 |
mlankhorst | lastSlave = 0x0, last = {valuators = {683, 384, 0 <repeats 34 times>}, numValuators = 4, slave = 0x0, scroll = 0x21d30bf0, num_touches = 2, | 14:00 |
mlankhorst | touches = 0x21d32c10}, properties = {properties = 0x21d34a10, handlers = 0x21d34a48}, transform = {m = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}}, | 14:00 |
mlankhorst | why is it in processkeyboardevent for a touchpad? | 14:01 |
cnd | don't know off the top of my head | 14:01 |
cnd | but it may be correct | 14:01 |
cnd | as odd as that sounds | 14:01 |
mlankhorst | ok | 14:01 |
mlankhorst | but spriteinfo was freed at that point, so that seems to be what it's dereferencing | 14:03 |
mlankhorst | are grabs supposed to be possible on disabled devices? | 14:05 |
cnd | seems odd | 14:24 |
cnd | I wish I could help out more, but I'm fighting a huge fire elsewhere right now :( | 14:27 |
mlankhorst | yeah it's the gimp crash | 14:31 |
mlankhorst | blindly looking through diff, isfloating seems to have added a check for !IsMaster(dev) upstream | 14:46 |
mlankhorst | other than that, tons of code churn from c99 initializers :/ | 14:50 |
mlankhorst | ok admitting defeat, I don't understand the input stack :) | 15:17 |
=== shadeslayer is now known as shadeslayer_ | ||
=== shadeslayer_ is now known as shadeslayer | ||
akheron | mlankhorst: so I have no hope? :) | 18:21 |
mlankhorst | akheron: you do, you could go back to previous server-xorg 10.5 | 18:21 |
mlankhorst | but there's a crash you can trigger in that case | 18:21 |
akheron | what crash? | 18:22 |
mlankhorst | bug #1021517 | 18:22 |
ubottu | Launchpad bug 1021517 in xorg-server (Ubuntu Precise) "Xorg-server crashes reproducible with GIMP usage" [High,Fix released] https://launchpad.net/bugs/1021517 | 18:22 |
akheron | uh | 18:24 |
mlankhorst | akheron: the fun of having a weird stack :/ | 18:25 |
akheron | well, if there's anything I can do... or should I switch to quantal? :) | 18:28 |
akheron | would it help if I patched synaptics now? | 18:29 |
mlankhorst | it might :) | 18:34 |
mlankhorst | would at least enable more debug info | 18:34 |
akheron | mlankhorst: | 18:46 |
akheron | ../../src/synaptics.c: In function 'UpdateTouchState': | 18:47 |
akheron | ../../src/synaptics.c:3126:35: error: 'struct SynapticsHwState' has no member named 'num_slots' | 18:47 |
akheron | ../../src/synaptics.c:3127:69: error: 'struct SynapticsHwState' has no member named 'open_slots' | 18:47 |
mlankhorst | probably wrong member then, it should be clear from the code which one shouldbe used there but its end of workday and I have a headache :) | 18:48 |
akheron | heh | 18:48 |
akheron | mlankhorst: ok, got it to work | 18:53 |
akheron | but how to build the .ddeb now? | 18:54 |
mlankhorst | -nc | 18:54 |
akheron | now it crashes | 19:00 |
akheron | (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found | 19:00 |
akheron | BUG: triggered 'if (priv->num_active_touches >= hw->num_mt_mask)' | 19:00 |
akheron | BUG: ../../src/synaptics.c:3120 in UpdateTouchState() | 19:00 |
mlankhorst | thought BUG_WARN was meant to be non-fatal | 19:00 |
akheron | and then a segfault without printing the "Dumping slot state" message or anything else | 19:00 |
mlankhorst | ah well just remove that line | 19:01 |
akheron | mlankhorst: | 19:08 |
akheron | (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found | 19:08 |
akheron | (EE) synaptics: SynPS/2 Synaptics TouchPad: Dumping slot state: | 19:08 |
akheron | Backtrace: | 19:08 |
akheron | ==24744== | 19:08 |
akheron | ==24744== Process terminating with default action of signal 11 (SIGSEGV) | 19:08 |
akheron | ==24744== General Protection Fault | 19:08 |
akheron | ==24744== at 0x67BD801: __fprintf_chk (fprintf_chk.c:28) | 19:08 |
akheron | :> | 19:08 |
mlankhorst | oh right | 19:08 |
mlankhorst | valgrind doesn't like that kind of thing | 19:09 |
mlankhorst | right just leave it be for now, I'll get back to you :) | 19:09 |
akheron | ok | 19:09 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!