Closed Bug 78102 Opened 25 years ago Closed 5 years ago

Attempt to decrement focus controller's suppression when no suppression active!

Categories

(Core :: DOM: Core & HTML, defect, P5)

defect

Tracking

()

RESOLVED INACTIVE
mozilla1.1alpha

People

(Reporter: timeless, Unassigned)

References

()

Details

(Whiteboard: [developer-dogfood])

###!!! ASSERTION: Attempt to decrement focus controller's suppression when no suppression active!: 'PR_FALSE', file /tmp/mozilla/dom/src/base/nsFocusController.cpp, line 411 ###!!! Break: at file /tmp/mozilla/dom/src/base/nsFocusController.cpp, line 411 SunOS 5.7 Generic_106541-15 sun4u sparc SUNW,Ultra-2 mozilla cvs build for xlib from this morning. This happens a few seconds after i type a url into the address line and press enter. {steps to reproduce: build xlib mozilla, run mozilla, enter url into location bar} Opening file cookperm.txt failed Opening file cookperm.txt failed Disabling View Source StyleSheet Creating a new nsIToolkit! Enabling Quirk StyleSheet / 8x{ ###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', file /tmp/mozilla/gfx /src/xlib/nsImageXlib.cpp, line 1093 ###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093 } <your assertion here> This does not happen if i use file>open location.
This is hyatt's realm -- hyatt, I think somebody's not playing nice with you. Either that or you just shouldn't be asserting here.
Assignee: dr → hyatt
Severity: normal → minor
Component: DOM Core → DOM Other
OS: Windows 2000 → Solaris
Hardware: PC → Sun
Status: NEW → ASSIGNED
Target Milestone: --- → Future
Blocks: 79119
We get this same assertion repeatedly on OS/2
cc urlbar people, although since both instances have a urlbar widget it doesn't make sense. cc a window person, although it'd be more reasonable to cc if the assert happened in the other case.
Updating QA contact to Shivakiran Tummala.
QA Contact: desale → stummala
This one happens CONSTANTLY on OS/2. It makes debug builds unusable. Do we have any idea what this is? Adding saari to the list since he knows focus issues.
come to think of it, this happens constantly on my 092w32branch build. the bad thing is if i'm typing i can accidentally trigger abort... someone claimed this might be the reason for most of the focus issues (windows popping to front) according to them the assert appears when windows would normally pop to front. of course w32debug instead of them popping to front, i get an assert for them that pops to front -- fun. I suppose we should change this to all/all ...
I can get this reasonably consistently on Windows. Type in www.yahoo.com in the URL bar, then immediately switch to another window. Assert. We REALLY need to fix this or get rid of this assert.
Severity: minor → major
OS: Solaris → All
Hardware: Sun → All
Summary: [xlib] Attempt to decrement focus controller's suppression when no suppression active! → Attempt to decrement focus controller's suppression when no suppression active!
Whiteboard: [developer-dogfood]
Target Milestone: Future → ---
I think this has been fixed, but over to the focus team for verification.
Assignee: hyatt → saari
Status: ASSIGNED → NEW
Can anyone please point me to the "fix" if there is one ? Xlib toolkit still suffers from this problem (output from a 2001-09-19-08-trunk Xlib toolkit build): -- snip -- Disabling Quirk StyleSheet Enabling Quirk StyleSheet ###!!! ASSERTION: Attempt to decrement focus controller's suppression when no suppression active! : 'PR_FALSE', file ../../../../../../src/2001-09-19-08-trunk/mozilla/dom/src/base/nsFocusController.cpp, line 416 ###!!! Break: at file ../../../../../../src/2001-09-19-08-trunk/mozilla/dom/src/base/nsFocusController.cpp, line 416 Document http://www.mozilla.org/ loaded successfully -- snip --
I have more info on this at least in the OS/2 case. My test is simply starting Mozilla and going to Yahoo. What I noticed in this case is that OS/2 gets three focus messages that Windows doesn't for Activation Suppression. An increment and two decrements. The Activation Suppression increment is coming from: nsWebShellWindow::HandleEvent for an NS_GOTFOCUS message Both Activation Suppression decrements are coming from: nsEventStateManager::PreHandleEvent for an NS_ACTIVATE message. The while loop at: http://lxr.mozilla.org/seamonkey/source/content/events/src/nsEventStateManager.c pp#630 Is being executed twice causing both decrements. So there are two issues. 1. Why are we getting Activation Suppression that windows isn't? 2. Why are we getting two of the same activation? I'm copying hyatt because according to the DEBUG_ stuff, he did a lot of this stuff.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9.9
this might be gone w/ the landing of 122462, can someone who can repro this try again w/ a trunk build?
Target Milestone: mozilla0.9.9 → mozilla1.1
Still happens on OS/2 - those changes are definitely there.
Still happens with Xlib toolkit, too... ;-(
I just rewrote the OS/2 focus code so it follows EXACTLY the same messaging as Windows and it fixed this assert as well as many other focus issues. My recommendation is that any platform experiencing this problem use the windows build to do a log of a very specific focus case (mine was just bringing up the browse and closing it) Once I got the OS/2 browser matching those messages exactly, every other testcase I tried worked.
Test case from DOM HTML 1 test suite Does not ASSERT http://dom-ts.bclary.com/build/ecmascript/level1/html/files/applet.html Does ASSERT http://dom-ts.bclary.com/build/ecmascript/level1/html/files/applet.xhtml Does Assert http://dom-ts.bclary.com/build/ecmascript/level1/html/files/applet.xml ###!!! ASSERTION: Attempt to decrement focus controller's suppression when no suppression active! : 'PR_FALSE', file c:/work/mozilla_source/trunk/mozilla/dom/src/base/nsFocusController.cpp, line 457 stack NTDLL! 77f75a58() nsDebugImpl::Assertion(nsDebugImpl * const 0x002e6d80, const char * 0x016cbc10, const char * 0x016cbc00, const char * 0x016cbbb8, int 457) line 272 nsDebug::Assertion(const char * 0x016cbc10, const char * 0x016cbc00, const char * 0x016cbbb8, int 457) line 109 nsFocusController::SetSuppressFocus(nsFocusController * const 0x03924758, int 0, const char * 0x015fdc64) line 457 + 35 bytes PresShell::UnsuppressAndInvalidate() line 4830 PresShell::ProcessReflowCommands(int 1) line 6421 ReflowEvent::HandleEvent() line 6178 HandlePLEvent(ReflowEvent * 0x03a231a0) line 6192 PL_HandleEvent(PLEvent * 0x03a231a0) line 673 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x009bd7e8) line 608 + 9 bytes _md_EventReceiverProc(HWND__ * 0x00040110, unsigned int 49376, unsigned int 0, long 10213352) line 1414 + 9 bytes USER32! 77d43a50() USER32! 77d43b1f() USER32! 77d43d79() USER32! 77d43ddf() nsAppShellService::Run(nsAppShellService * const 0x00a59db8) line 524 main1(int 1, char * * 0x002e2638, nsISupports * 0x0099f2f0) line 1303 + 32 bytes main(int 1, char * * 0x002e2638) line 1716 + 37 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 77e814c7()
Blocks: 233952
Assignee: saari → nobody
Status: ASSIGNED → NEW
QA Contact: stummala → general
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046 Move all DOM bugs that haven’t been updated in more than 3 years and has no one currently assigned to P5. If you have questions, please contact :mdaly.
Priority: -- → P5
Component: DOM → DOM: Core & HTML
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.