[05:11] <tjaalton> RAOF: so, 1.13 is not in -proposed yet?
[05:13] <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:14] <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:15] <tjaalton> magcius?-)
[05:15] <RAOF> Yeah
[05:16] <RAOF> Are you back from your holiday?
[05:16] <tjaalton> yup :( :)
[05:17] <tjaalton> just when it got hot
[05:18] <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:19] <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:20] <tjaalton> it has been quite rainy and cool most of the july
[07:42] <mlankhorst> morning
[08:08] <mlankhorst> oh new intel drivers
[08:14] <mlankhorst> RAOF: how's uploading going? I just pushed intel 20.2 update
[08:14] <akheron> hey
[08:15] <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:16] <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:17] <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:18] <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:19] <akheron> ok, let's try
[08:23] <akheron> yeah, now running in valgrind
[08:24] <mlankhorst> it's more useful if you install xserver-xorg-core-dbg and xserver-xorg-input-(evdev,synaptics)-dbgsym
[08:25] <akheron> what apt source I need for the -dbgsym packages?
[08:25] <mlankhorst> https://wiki.ubuntu.com/DebuggingProgramCrash/ see Debug Symbol Packages
[08:26] <akheron> ah yeah, without those the stack traces show ???
[08:27] <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:28] <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:29] <mlankhorst> same for libdrm
[08:29] <akheron> yeah, both seem to show up
[08:30] <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:32] <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:33] <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:40] <akheron> hmm, I still get ???'s from intel_drv.so
[08:41] <mlankhorst> xserver-xorg-video-intel-dbg ?
[08:51] <mlankhorst> and maybe libdrm.*-dbg
[09:53] <akheron> mlankhorst: nope, I still get ???'s
[10:41] <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:42] <mlankhorst> hm you're right, i wanted to sync evdev but they didn't want the patches, so no longer valid
[10:44] <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:45] <RAOF> Yeah.
[10:46] <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:47] <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:48] <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:50] <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:51] <RAOF> HEh.
[10:52] <mlankhorst> everything more clear now? :)
[10:53] <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:54] <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:55] <mlankhorst> it's different if I just update -ati or -all
[11:00] <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:03] <RAOF> Yeah. Now that's cleared up, I'll punch through it (tomorrow)
[11:03] <mlankhorst> great :)
[11:06] <mlankhorst> oh looks like new libXrandr landed too
[11:45] <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:46] <akheron> there are 52 invalid writes in the valgrind log :/
[11:55] <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:56] <akheron> :)
[11:57] <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:58] <akheron> mlankhorst: https://gist.github.com/3206429
[11:59] <mlankhorst> what version of synaptics are you using?
[12:01] <akheron> mlankhorst: xserver-xorg-input-synaptics      1.6.2-1ubuntu1~precise1
[12:02] <mlankhorst> cnd: Arghhhhh synaptics is corrupting in that log again, updatetouchstate out of bounds, this time in the other direction
[12:04] <akheron> so this is a somewhat known prob?
[12:04] <mlankhorst> I don't know, I can silence some warnings
[12:06] <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:07] <akheron> mlankhorst: ok, no hurry
[12:07] <akheron> I've had this issue for a long time
[12:08] <akheron> only now it started irritating me enough to look at it :)
[12:09] <mlankhorst> ok how good are you with packaging? can send you a patch or updated package to test
[12:09] <akheron> dpkg-buildpackage :)
[12:10] <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:11] <mlankhorst> http://people.canonical.com/~mlankhorst/229-strip-mode-pointer.patch this will shut up some warnings at least
[12:12] <mlankhorst> if I backported it correctly, but I suspect it will not fix things enough
[12:16] <akheron> I'll have a try
[12:16] <akheron> thanks
[12:18] <mlankhorst> how long has this been happening though, new breakage or old?
[12:18] <mlankhorst> well, before july or after?
[12:44] <akheron> mlankhorst: before
[12:44] <akheron> I got this machine on february, and first used debian with gnome 3
[12:45] <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:46] <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:52] <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:53] <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:54] <mlankhorst> you're helping a lot of others, I can't seem to reproduce it :)
[13:04] <akheron> now running 2:1.11.4-0ubuntu10.7~ppa :)
[13:05] <mlankhorst> what if you touch keypad during suspend, ?
[13:05] <mlankhorst> well, during start or end of suspend
[13:20] <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:21] <mlankhorst> akheron: can you give a valgrind log from that and then patch synaptics?
[13:22] <akheron> mlankhorst: that's the valgrind log I gave you
[13:24] <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:25] <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:26] <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:27] <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:28] <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:29] <cnd> hmm
[13:31] <mlankhorst> and upstream was unaffected, let me see if I can find the packages I was using again
[13:59] <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, 
[14:00] <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:01] <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:03] <mlankhorst> but spriteinfo was freed at that point, so that seems to be what it's dereferencing
[14:05] <mlankhorst> are grabs supposed to be possible on disabled devices?
[14:24] <cnd> seems odd
[14:27] <cnd> I wish I could help out more, but I'm fighting a huge fire elsewhere right now :(
[14:31] <mlankhorst> yeah it's the gimp crash
[14:46] <mlankhorst> blindly looking through diff, isfloating seems to have added a check for !IsMaster(dev) upstream
[14:50] <mlankhorst> other than that, tons of code churn from c99 initializers :/
[15:17] <mlankhorst> ok admitting defeat, I don't understand the input stack :)
[18:21] <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:22] <akheron> what crash?
[18:22] <mlankhorst> bug #1021517
[18:24] <akheron> uh
[18:25] <mlankhorst> akheron: the fun of having a weird stack :/
[18:28] <akheron> well, if there's anything I can do... or should I switch to quantal? :)
[18:29] <akheron> would it help if I patched synaptics now?
[18:34] <mlankhorst> it might :)
[18:34] <mlankhorst> would at least enable more debug info
[18:46] <akheron> mlankhorst: 
[18:47] <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:48] <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:53] <akheron> mlankhorst: ok, got it to work
[18:54] <akheron> but how to build the .ddeb now?
[18:54] <mlankhorst> -nc
[19:00] <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:01] <mlankhorst> ah well just remove that line 
[19:08] <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:09] <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