Addressbar autocomplete flaky

Bug #315907 reported by Eric Appleman
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mozilla Firefox
Invalid
Medium
X.Org X server
Fix Released
Medium
firefox (Ubuntu)
Invalid
Undecided
Unassigned
Declined for Jaunty by Steve Langasek

Bug Description

Binary package hint: mozilla-firefox

Wonderbar autocomplete doesn't work at first unless you right click in the browser.

Revision history for this message
In , Eric Anholt (eric-anholt) wrote :

I see 1) as well, and have been for about 2-3 weeks I'd say. Meant to bisect, but I suck.

Revision history for this message
In , Lmage11 (lmage11) wrote :

Yeah, I suck too. :-/

I wish it was possible to integrate git-bisect with portage. I'd be much more willing to do it. As it is, however, if you want a bisect from me I think you'll have to wait until I have some free time to figure out how the hell I would even do a bisect without overriding portage in an overly damaging way.

Revision history for this message
In , Lmage11 (lmage11) wrote :

Errm, I meant "I don't actually have any proof that these two problems are related other than that principle (can't remember who it's named after) that says that many problems are usually caused by just a few coding errors". Sorry for the noise.

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

On Sun, Dec 14, 2008 at 07:39:10PM -0800, <email address hidden> wrote:
> 1. In Firefox, sometimes moving the mouse over a link only changes the cursor
> for the fraction of a second in which the cursor is actually moving. When the
> cursor is not moving and it's on a link, it just uses the normal cursor image.
> This doesn't always happen, and I don't know what triggers it.

verified, reproducable. running firefox through xmond reveals that it's
usually some order of:

<- MotionEvent [event=0xABCD]
-> ChangeWindowAttributes [link cursor]
-> TranslateCoordinates [0xABCD, 0, 0]
some more of the TC request, then some create pixmap/copy area/free pixmap
-> ChangeWindowAttributes [normal cursor]
-> TranslateCoordinates [0xABCD, 0, 0]

I have no idea why or what that is supposed to do. First one to bisect wins.

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

Still bisecting, last BAD version tested:

commit f3edc1fb0210149f35eab4e413700b5c4ac48214
Author: Keith Packard <email address hidden>
Date: Tue Nov 25 23:15:35 2008 -0800

    New version of dolt

I haven't found a good version yet. So if you want to start bisecting, start
with a commit earlier than that.

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

Seems to be caused by the new enter/leave model added with the patches 5e48f5e2dd2dec7cfd1fa40b61e25123dfca515e through to 3e6da1636093d7dc98baac40544c0b0fb7fd8aec.

Making this a 1.6 blocker.

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

Created an attachment (id=21191)
0001-dix-don-t-set-the-child-window-for-non-virtual-Ente.patch

This patch should fix the issue. Problem was a wrong implementation of the protocol spec. The thing that triggered it was a LeaveNotify event with detail NotifyInferior that had the child window set to a value other than None. This again triggered something internal in firefox and it would keep changing the cursor window back to the normal one instead of the link cursor.

Reproduceble testcase: open firefox, move into main window, then move up into menu bar, back into main window and hover over a link. The cursor immediately changes back to the normal cursor.

The patch sets the "child" field to None for all events with NotifyInferior. Only NotifyVirtual may have the "child" field set to a window.

Revision history for this message
In , Lmage11 (lmage11) wrote :

From the (admittedly limited) testing I've done with this patch, I think I can confirm that it fixes both of my issues. Thanks!

Revision history for this message
In , Keith Packard (keithp) wrote :

Reading through the protocol spec reminds me that all LeaveNotify events are generated before any EnterNotify events for the same action. The comments in enterleave.c don't make it clear if this holds for the new model.

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

It holds for the new model, but only in a localised fashion. The extreme case
for a nonlinear move from A-B may cause three different Enter/Leave runs.
The pointer simultaneously appears to move from A to child(A), Ancestor(A,B)
to Parent(B) and child(B) to B.

For each of the three, the LeaveNotifies are sent before the EnterNotifies.

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :
Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

Changing title to describe the bug better.

Revision history for this message
In , Fdo (fdo) wrote :

ACK on the patch fixing things for me.

Revision history for this message
In , Lmage11 (lmage11) wrote :

Is a fix for this going to be committed anytime soon...?

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

(In reply to comment #14)
> Is a fix for this going to be committed anytime soon...?

We're still waiting for the focus model to be implemented fully. It's mostly there, but I'm missing a few corner cases. This patch is just a quickfix that doesn't fix the root cause of the problem.

Revision history for this message
In , Eric Appleman (erappleman) wrote :

This bug also affects the autocomplete function of the Firefox address bar.

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

Created an attachment (id=21665)
0001-dix-re-implement-enter-leave-model.patch

This is the reimplemented enter/leave model that fixes this bug. I haven't found any issues with it yet, so please give this a good test and report back. I intend to push this ASAP.

Revision history for this message
In , Fdo (fdo) wrote :

I presume this patch is for master rather than the 1.6 branch? It certainly doesn't apply cleanly on my 1.6 clone. Should this be ported to 1.6 for inclusion there? (I need the previous patch so I presume this is to be the case?) Should I just try and merge it manually or should I also cherry-pick the master changes to enterleave?

Essentially this patch does not apply to 1.6. due to the changes in:

commit aba1cbaadcde50a7a25f8aee06b66eec67a9145e
Author: Peter Hutterer <email address hidden>
Date: Fri Nov 28 09:19:49 2008 +1000

    dix: No DeviceEnterLeave events in server 1.6

Reverting the enterleave.c changes of this commit makes this patch apply cleanly, but the whole commit itself does not revert cleanly (and I have no idea of the consequences of reverting it anyway!!).

Thanks for any info you can supply to allow me to test this further :)

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

> I presume this patch is for master rather than the 1.6 branch?

correct. I haven't started the backport to 1.6 yet, but it should be 'trivial'.
Basically anything that does DeviceEnterLeaveEvents needs to be removed.
You're probably best of applying the patch to master and then cherry-picking
it over, git-am will refuse to apply it.

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :
Revision history for this message
In , Eric Appleman (erappleman) wrote :

I think I may have found a related bug regarding autocomplete:

https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/315907

Revision history for this message
In , Fdo (fdo) wrote :

(In reply to comment #21)
> I think I may have found a related bug regarding autocomplete:
>
> https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/315907
>

While the description is a bit light and I'm not 100% sure I'd doing it right, I cannot seem to replicate this issue using the xserver-1.6-enterleave branch. I startup firefox and I can use the bar to search in my history without any problems.

Revision history for this message
In , Eric Appleman (erappleman) wrote :

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121711 Ubuntu/9.04 (jaunty) Firefox/3.0.5
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121711 Ubuntu/9.04 (jaunty) Firefox/3.0.5

Wonderbar autocomplete doesn't work at first unless you right click in the browser

Reproducible: Always

Steps to Reproduce:
1. Start Firefox
2. Try to type a URL
3. Autocomplete will not work

Revision history for this message
Eric Appleman (erappleman) wrote :

Binary package hint: mozilla-firefox

Wonderbar autocomplete doesn't work at first unless you right click in the browser.

Revision history for this message
Eric Appleman (erappleman) wrote :

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121711 Ubuntu/9.04 (jaunty) Firefox/3.0.5 - Build ID: 2008111616

Revision history for this message
In , Eric Appleman (erappleman) wrote :

I'd also like to change the reproducibility to sporadic.

Changed in xorg-server:
importance: Undecided → Unknown
status: New → Unknown
Revision history for this message
In , Highmind63 (highmind63) wrote :

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
What is wonderbar, an extension? Autocomplete in the location bar (aka awesomebar) works fine for me. Can you try safe mode http://support.mozilla.com/en-US/kb/Safe+Mode

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

Patches available for 1.6 now, see
http://lists.freedesktop.org/archives/xorg/2009-January/042308.html

And I'm so bold to claim this is fixed now.

Changed in firefox:
status: Unknown → New
Changed in xorg-server:
status: Unknown → Fix Released
Revision history for this message
In , Mak77 (mak77) wrote :

WFM too

Changed in firefox:
status: New → Invalid
Revision history for this message
John Vivirito (gnomefreak) wrote :

Firefox 2.0 is no longer supported from us nor upstream.
This has been closed upstream due to not being able to reproduce. Feel free to comment on the upstream bug and someone will open it if the information you provide is enough to open it. Closing for now since this is not something that we will fix.

Changed in firefox:
status: New → Invalid
Revision history for this message
drink (martin-espinoza) wrote :

I don't get it, this bug was closed because it's a firefox 2 bug, but the report says it's a firefox 3 bug. I'm having the problem right now, in firefox 3. I can't tell where I am supposed to go now.

Revision history for this message
John Vivirito (gnomefreak) wrote :

Drink please read the upper part of bug. This was fixed in Xorg not firefox, This is a bug in firefox most likely locale problem since noone can reproduce it so the fix we made was in Xorg.

Changed in xorg-server:
importance: Unknown → Medium
Changed in firefox:
importance: Unknown → Medium
Changed in xorg-server:
importance: Medium → Unknown
Changed in xorg-server:
importance: Unknown → Medium
Revision history for this message
stenzn (stenzn) wrote :

I just recently (in the past few months) started experiencing what appears to be the same issue in maverick on both Firefox 4.0.1 AND 3.6.17, and right-clicking did indeed make it work again- otherwise nothing seemed to. It's very sporadic, but once it does it, it doesn't seem to work again (until a restart?) I generally leave Firefox open, but sometimes close it every day or so to free up memory while I'm doing something else (since I leave a ton of tabs open).

This machine was a fresh install of maverick back when it was released, and xorg and whatnot is the default setup.

I know this is closed and invalid for FF and marked as fixed for xorg... but just wondering if anybody else is still seeing this.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.