[17:12] <artnay> chrisccoulson: ping
[17:13] <artnay> chrisccoulson: bug 1010466
[17:13] <ubot2> Launchpad bug 1010466 in firefox "dropdown boxes on sites stop working" [Undecided,Incomplete] https://launchpad.net/bugs/1010466
[17:15] <chrisccoulson> hi artnay
[17:15] <artnay> I gave you the info - #16
[17:16] <chrisccoulson> artnay, excellent, thanks
[17:16] <chrisccoulson> did you see comment #15 too? :)
[17:17] <artnay> ah, no. just read it
[17:17] <artnay> I also get "/build/buildd/firefox-13.0+build1/build-tree/mozilla/widget/gtk2/nsWindow.cpp: No such file or directory"
[17:17] <chrisccoulson> although, it would be best to do that at the same time as comment #14 as well, and use xprop whilst firefox is still paused in gdb
[17:17] <chrisccoulson> i want to see if _NET_WM_USER_TIME matches up with either of these numbers :)
[17:18] <chrisccoulson> and also, if there is a _NET_STARTUP_ID property
[17:19] <artnay> just a sec
[17:27] <artnay> chrisccoulson: https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1010466/comments/17
[17:27] <ubot2> Launchpad bug 1010466 in firefox "dropdown boxes on sites stop working" [Undecided,Incomplete]
[17:29] <artnay> hope it helps. just ping me back if you need more info, I'll focus on the football for a moment
[17:29] <chrisccoulson> artnay, thanks. which window did you click on with xprop btw? it doesn't look quite what i expected
[17:35] <chrisccoulson> ah, i've got another hunch now :)
[17:35] <chrisccoulson> but i need to pop out first, so i'll be back in a bit
[17:52] <artnay> chrisccoulson: it was FX
[18:13] <chrisccoulson> artnay, did you say you were using gnome-shell?
[18:15] <artnay> chrisccoulson: I normally use KDE + Chromium. saw this bug on #-desktop, started Unity 2D (as at least two reporters were running that) and then tried to reproduce on FX and the rest is history.
[18:16] <chrisccoulson> ah, ok. i'll try switching back to unity 2d for a moment
[18:16] <chrisccoulson> 1 second
[18:18] <chrisccoulson> ah, unity 2d sets DESKTOP_STARTUP_ID in the environment of launched applications, which normal unity doesn't
[18:19] <chrisccoulson> and that exposes a code path where we overwrite the timestamp for the GdkDisplay in firefox
[18:19] <chrisccoulson> now to see if there's a way to overwrite it with a broken timestamp :)
[18:19] <artnay> chrisccoulson: I think at least one reporter was running shell, too.
[18:20] <chrisccoulson> artnay, that makes sense. that also sets DESKTOP_STARTUP_ID :)
[18:39] <chrisccoulson> artnay, could you try something else for me please?
[18:39] <chrisccoulson> could you try running again in gdb, but this time breaking on gdk_x11_window_set_user_time
[18:40] <chrisccoulson> and when it stops for the first time, could you look at the timestamp and then set up a conditional breakpoint that's a little bit further in the future (depending on how long it normally takes to reproduce)
[18:41] <chrisccoulson> you can do that with "condition 1 timestamp>1000000", where "1" is the number of the breakpoint for gdk_x11_window_set_user_time, and the other number is some time in the future
[18:42] <chrisccoulson> which you'd need to set to something more appropriate :)
[18:46] <chrisccoulson> you could probably set the time to 0x20000000 actually, as the value that breaks it always seems to be higher than that. and you shouldn't hit that for real until you've had X running for more than 6 days :)
[19:10] <artnay> chrisccoulson: doesn't seem to work, FX window always seems to lose focus after setting breakpoint or something. see http://i.imgur.com/2zTQ5.png
[19:11] <artnay> immediately after I click the FX window, it comes unresponsive, all the tabs are gone (because of double window title bar), menus seem to appear behind the window etc.
[19:12] <chrisccoulson> artnay, is that because gdb has hit the breakpoint?
[19:12] <artnay> chrisccoulson: could be, I don't know
[19:12] <FernandoMiguel> hi
[19:12] <chrisccoulson> artnay, yeah, it looks like it in the screenshot
[19:12] <chrisccoulson> artnay, did you set up the conditional part of the breakpoint?
[19:13] <chrisccoulson> hi FernandoMiguel
[19:14] <artnay> chrisccoulson: I thought I was supposed to do that after setting the first breakpoint which is at 0x7ffff02b0850
[19:14] <artnay> condition 0x7ffff02b0850 timestamp>0x20000000
[19:14] <chrisccoulson> artnay, ah, 0x7ffff02b0850 should just be 1 :)
[19:14] <chrisccoulson> it's the actual integer number that gdb gives the breakpoint
[19:15] <chrisccoulson> i can see "Breakpoint 1" in the background of your screenshot
[19:15] <artnay> and that's always 1 since I haven't set any other breakpoints
[19:15] <chrisccoulson> artnay, yeah, it's sequential
[19:16] <chrisccoulson> artnay, once you've fixed that, could you also set a breakpoint on GrabPointerError again?
[19:16] <chrisccoulson> what i hope is that you hit breakpoint 1 before breakpoint 2 :)
[19:21] <artnay> chrisccoulson: here's what I get by setting the condition: No symbol "timestamp" in current context.
[19:21] <chrisccoulson> hmmmm :/
[19:22] <chrisccoulson> artnay, ah, do you have debug symbols for gtk and gdk installed?
[19:22] <artnay> probably not, let me see if I have enough GBs for those on this laptop
[19:23] <chrisccoulson> artnay, ok, if not, the package you need is libgtk2.0-0-dbg
[19:23] <chrisccoulson> sorry it's such a pain
[19:23] <chrisccoulson> your time is really appreciated though :)
[19:24] <artnay> chrisccoulson: we're watching football and drinking beer at the same time so this won't "take my time" :-)
[19:25] <chrisccoulson> heh :)
[19:41] <artnay> chrisccoulson: you were right, I hit the first breakpoint: https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1010466/comments/18
[19:41] <ubot2> Launchpad bug 1010466 in firefox "dropdown boxes on sites stop working" [Undecided,Incomplete]
[19:42] <chrisccoulson> artnay, that's what i hoped would happen. do you still have it stopped in gdb?
[19:42] <chrisccoulson> i could do with looking at the call trace when it hits this condition
[19:44] <artnay> chrisccoulson: no, I quit. another try won't hurt, though.
[19:45] <chrisccoulson> artnay, if you could, that would be great. then when it stops, please type "bt" :)
[20:03] <artnay> chrisccoulson: https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1010466/comments/19
[20:03] <ubot2> Launchpad bug 1010466 in firefox "dropdown boxes on sites stop working" [Undecided,Incomplete]
[20:03] <chrisccoulson> artnay, excellent, thanks
[20:04] <chrisccoulson> so, this actually looks like a dormant gtk (or even, X) bug, which has been exposed because of a recent change in how timestamps for pointer grabs are handled in firefox
[20:05] <micahg> ooh, seems like this is the root of the issues I'm seeing in thunderbird as well :)
[20:05] <chrisccoulson> the overwriting of the timestamp with the broken value all happens inside gdk
[20:09] <chrisccoulson> artnay, how quickly is it to reproduce the problem for you btw?
[20:10] <artnay> chrisccoulson: instant by using the "view source" method
[20:10] <chrisccoulson> artnay, ok, that's good. i was going to ask you try one more thing, because i'm interested as well at looking at the actual X protocol data
[20:11] <chrisccoulson> but i don't want to ask that if it's going to take a long time
[20:11] <chrisccoulson> it involves using xtrace, which can be a little slow :)
[20:11] <artnay> this also causes FX's awesome bar not to work, right click not working etc.
[20:11] <chrisccoulson> yeah, i'd expect that to be the case
[20:11] <artnay> could be useful to mention that in the first post/topic to avoid duplicate reports
[20:12] <chrisccoulson> yeah, maybe
[20:12] <chrisccoulson> have you used xtrace before?
[20:13] <artnay> chrisccoulson: no I haven't. just installed it and now looking at man
[20:14] <chrisccoulson> thanks
[20:14] <chrisccoulson> artnay, basically, it allows you to proxy X protocol requests through it, so that it can log them
[20:16] <chrisccoulson> basically, you use it like "xtrace -k -d:0 -D:9 > xtrace.log", where ":0" is the number of your current display ("DISPLAY" in your environment)
[20:16] <chrisccoulson> and then you run firefox with "DISPLAY=:9 firefox"
[20:17] <chrisccoulson> it generates quite a significant amount of data, so you'll probably want to compress the resulting log file
[20:17] <artnay> sure, hopefully some "X pert" will go through it then :-)
[20:17] <chrisccoulson> and because it logs all X protocol data, it means that it logs keystrokes as well, so don't go typing any passwords in to firefox with it running ;)
[20:17] <artnay> sure
[20:18] <chrisccoulson> it will be useful to see if this timestamp comes from X (in which case, it could be a window manager bug), or whether an event filter inside firefox or gdk breaks it
[20:20] <chrisccoulson> artnay, this also explains why using the window close button breaks it, but the keyboard shortcut works
[20:20] <chrisccoulson> as the keyboard shortcut doesn't rely on this event from the window manager :)
[20:34] <artnay> uh, oh... almost 7 MB and I forgot to compress it - https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1010466/comments/20
[20:34] <ubot2> Launchpad bug 1010466 in firefox "dropdown boxes on sites stop working" [Undecided,Incomplete]
[20:35] <chrisccoulson> heh, that's ok
[20:35] <chrisccoulson> thanks :)
[20:35] <chrisccoulson> it might take me a little while to decipher it
[21:08] <chrisccoulson> artnay, ok, that was quite useful. the issue is here:
[21:08] <chrisccoulson> 002:>:314e: Event (generated) ClientMessage(33) format=0x20 window=0x044006ab type=0x15e("WM_PROTOCOLS") data=0x5c,0x01,0x00,0x00,0x65,0xa6,0xd7,0x4f,0x3e,0x9e,0xac,0xe9,0xa0,0x9d,0xf7,0x00,0xb0,0x39,0xf7,0x00;
[21:08] <chrisccoulson> that's a "WM_DELETE_WINDOW" message with the wrong timestamp :)
[21:08] <chrisccoulson> 0x4fd7a665 (or 372.2 hours)
[21:09] <chrisccoulson> so, it's a window manager bug :)
[21:10] <chrisccoulson> artnay, i'll try and figure out a workaround in firefox for that, and hopefully have another patch for you to try out :)
[21:20] <artnay> chrisccoulson: sure and thanks for your instructions. I'll gladly try the patch as long as it doesn't mean compiling firefox :-)
[21:23] <micahg> artnay: what WM are you using out of curiosity?
[21:23] <artnay> micahg: currently unity 2d/metacity
[21:23] <micahg> hrm, that's what I'm using, weird
[21:25] <artnay> micahg: and something I should have mentioned ages ago... I also have ricotz's testing ppa and gnome 3 ppa because of gnome-shell
[21:25] <artnay> some gtk/gdk/metacity package from there might have caused this
[21:29] <artnay> or then not, apport doesn't seem to mention any 3rd party repos in the original report and its dupes
[21:30] <artnay> micahg: did you try the "view source" method?
[21:32] <micahg> artnay: "view source" method?
[21:33] <micahg> http://www.corsair.com/us/learn_n_explore/ works fine for me in a clean profile
[21:37] <artnay> micahg: open some tabs, right click on a page and select view source (or ctrl+u), then close the "view source" window using ctrl+w
[21:37] <artnay> micahg: make sure FX and "view source" windows are maximized
[21:38] <artnay> now view source again but instead of closing the window by pressing ctrl+w, close it by clicking X in menu bar
[21:40] <artnay> now try to do a right click on any page/tab, or try to give some input in awesome bar (e.g. launchpad.net which should show you a lot of pages :-)
[21:41] <artnay> it's 100 % reproducible for me even on a new/guest user account when using unity 2D, doesn't happen in 3D
[21:42] <micahg> artnay: awesome :)
[21:42] <artnay> micahg: so it "works"? :-)
[21:43] <micahg> yeah, no right click
[22:24] <chrisccoulson> oh, it only works when the window is maximised?
[22:24] <chrisccoulson> in that case, the event doesn't come from the window manager. it comes from the unity panel
[22:41] <chrisccoulson> oh my
[22:42] <chrisccoulson> the unity 2d panel sets the current system time as the timestamp
[22:42] <chrisccoulson> seriously
[23:40] <chrisccoulson> artnay, i've just uploaded a version of unity-2d to my PPA which should fix it now