Last Comment Bug 672103 - Inability to open menus or context menus under Cygwin/X
: Inability to open menus or context menus under Cygwin/X
Status: RESOLVED FIXED
[inbound]
: regression
Product: Core
Classification: Components
Component: Event Handling (show other bugs)
: Trunk
: x86 Linux
: -- normal (vote)
: mozilla8
Assigned To: Karl Tomlinson (:karlt)
:
Mentors:
Depends on:
Blocks: 624329
  Show dependency treegraph
 
Reported: 2011-07-17 01:33 PDT by Randell Jesup [:jesup]
Modified: 2013-12-27 14:37 PST (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
-


Attachments
Log with backout patch in place (already-built debug build) (31.75 KB, text/plain)
2011-07-29 05:52 PDT, Randell Jesup [:jesup]
no flags Details
Log with backout patch removed (newer build) (30.11 KB, text/plain)
2011-07-29 07:28 PDT, Randell Jesup [:jesup]
no flags Details
Log of debug build without backout (30.52 KB, text/plain)
2011-07-29 08:11 PDT, Randell Jesup [:jesup]
no flags Details
revert removal of early return, to avoid unwanted rollup on spurious ConfigureNotify (1.52 KB, patch)
2011-08-04 16:48 PDT, Karl Tomlinson (:karlt)
roc: review+
Details | Diff | Splinter Review

Description Randell Jesup [:jesup] 2011-07-17 01:33:05 PDT
Sometime between "hg update -d 2011-07-11" and changeset 2ff6999222c2 (on 2011-7-12) my m-c build started failing to be able to open any window menus or open context menus.  Tried both clobber and removing the entire obj directory to rule out a build issue.

OS: Ubuntu 8.04
Running via remote X

Options:
. $topsrcdir/browser/config/mozconfig
ac_add_options --disable-debug
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@-opt
# mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@-debug

mk_add_options AUTOCONF=autoconf2.13
mk_add_options MOZ_MAKE_FLAGS="-s -j4"
ac_add_options --enable-jprof
ac_add_options --disable-strip
ac_add_options --with-ccache=/usr/local/bin/ccache
ac_add_options --enable-debugger-info-modules
ac_add_options --enable-optimize="-g -O3 -fno-omit-frame-pointer" 

Bisecting.
Comment 1 Randell Jesup [:jesup] 2011-07-17 07:23:26 PDT
Done with bisect, changeset http://hg.mozilla.org/mozilla-central/pushloghtml?changeset=d6e1995bcdd6

The first bad revision is:
changeset:   72599:d6e1995bcdd6
user:        Karl Tomlinson <karlt+@karlt.net>
date:        Fri Jul 08 15:14:27 2011 +1200
files:       widget/src/gtk2/nsWindow.cpp
description:
b=624329 skip NS_MOVE dispatch on ConfigureNotify on override-redirect windows to work around nsXULPopupManager::PopupMoved moving the context menus again r=roc

Makes some sense since it touches GTK window code

Note: remote X is to a WinXP machine running X under cygwin.  Wouldn't be shocked if some other remote-X setups are affected as well.

regression -> karlt
Comment 2 Randell Jesup [:jesup] 2011-07-17 08:38:06 PDT
Confirmed that backout of that changeset makes tip function correctly.
Comment 3 Randell Jesup [:jesup] 2011-07-17 21:40:45 PDT
Let me know if you want me to try a patch or get more info.
Comment 4 Boris Zbarsky [:bz] (TPAC) 2011-07-18 11:29:27 PDT
Seems like something we should track for 8 to make sure we don't ship this!
Comment 5 Randell Jesup [:jesup] 2011-07-26 15:16:38 PDT
If we want this for 8, we need to get traction on it!!!
Joe?  Karl?
I have to run my builds with a backout patch...
Comment 6 Joe Drew (not getting mail) 2011-07-26 17:15:28 PDT
Karl's been on vacation until today. so hasn't had an opportunity to look into it :)
Comment 7 Karl Tomlinson (:karlt) 2011-07-28 23:16:21 PDT
Can you confirm I understand the setup correctly, please?

Firefox is running on the Ubuntu system.
The display is an X server running under cygwin.
What window manager is running on the X server?

I'm not familiar with X servers running under cygwin.  I assume it must be some kind of special server.  Can you point me at info on that?

Can you attach a log of a minimal session reproducing the problem in a debug build (or force the logging in an opt build) with NSPR_LOG_MODULES=Widget:5,WidgetFocus:5 in the environment, please?
Comment 8 Karl Tomlinson (:karlt) 2011-07-28 23:24:46 PDT
(In reply to comment #7)
> I'm not familiar with X servers running under cygwin.  I assume it must be
> some kind of special server.  Can you point me at info on that?

http://x.cygwin.com/

Are you using Multi-Window mode?
Do you get different behavior in other modes?
Comment 9 Randell Jesup [:jesup] 2011-07-29 05:45:05 PDT
Correct:
Firefox is running on Ubuntu
Display is X server on cygwin
I'm running multi-window mode (X windows rehosted as Win32 windows)
I have not tried other modes.
About Cygwin/X says Version 1.8.2; build date 2010-08-06

I'm rebuilding my debug build without the backout.  I'll attach a log *with* the backout now for comparison.
Comment 10 Randell Jesup [:jesup] 2011-07-29 05:52:20 PDT
Created attachment 549350 [details]
Log with backout patch in place (already-built debug build)
Comment 11 Randell Jesup [:jesup] 2011-07-29 07:28:11 PDT
Created attachment 549364 [details]
Log with backout patch removed (newer build)

This shows the problem.  Startup, click File, right-click in content, exit.

Note: the first log was an existing debug build I had (with the backout I believe); it was probably a week or so old.  This is a fairly fresh pull, with the backout popped off.

I'll pop the backout back on and do a new log to replace the earlier one.
Comment 12 Randell Jesup [:jesup] 2011-07-29 08:11:00 PDT
Created attachment 549379 [details]
Log of debug build without backout

Log without the backout, otherwise same source/build.
Comment 13 Karl Tomlinson (:karlt) 2011-07-31 17:18:20 PDT
Thanks, Randell.

Looks like there are some spurious ConfigureNotify events that we wouldn't get from a "real" X server.

You were probably being saved by this early return skipping check_for_rollup:
http://hg.mozilla.org/mozilla-central/rev/d6e1995bcdd6#l1.81
That was working, even though it was comparing apples and oranges, for second and subsequent duplicate configure events because mBounds is getting set incorrectly later in the function.
Comment 14 Karl Tomlinson (:karlt) 2011-08-04 16:48:14 PDT
Created attachment 550889 [details] [diff] [review]
revert removal of early return, to avoid unwanted rollup on spurious ConfigureNotify

Can you confirm that this resolves the problem for you, please, Randell?
Comment 15 Randell Jesup [:jesup] 2011-08-05 11:34:22 PDT
Verified that this patch fixes the problem; thanks!
Comment 17 Kyle Huey [:khuey] (Exited; not receiving bugmail, email if necessary) 2011-08-08 05:51:22 PDT
http://hg.mozilla.org/mozilla-central/rev/186d7066e1e0
Comment 18 Asa Dotzler [:asa] 2011-08-25 14:48:50 PDT
not going to track this for our releases since this is not a common supported use case.

Note You need to log in before you can comment on or make changes to this bug.