Closed Bug 492675 Opened 16 years ago Closed 13 years ago

crash from MyWebSearch toolbar or WOT extension [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ][@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*, nsRuleWalker*)]

Categories

(Core :: Layout, defect, P2)

x86
Windows XP
defect

Tracking

()

RESOLVED FIXED
mozilla2.0
Tracking Status
blocking1.9.1 --- .6+
status1.9.1 --- .6-fixed

People

(Reporter: chofmann, Assigned: dbaron)

References

(Blocks 1 open bug)

Details

(Keywords: crash, topcrash, user-doc-complete, Whiteboard: [crashkill][crashkill-fix][crashkill-outreach])

Crash Data

Attachments

(4 files, 1 obsolete file)

#9 topcrash on firefox 3.5 b4. I can't see where any of the code on the stack has changed in many months or years. url's appear pretty randomly distributed with about 10% on startpages and then wide distribution of sites. here is the stack for tracking until we figure out what to try and look at next. 0 xul.dll nsStyleSet::FileRules layout/style/nsStyleSet.cpp:588 1 xul.dll nsFrameManager::ReResolveStyleContext layout/base/nsFrameManager.cpp:1246 2 xul.dll nsFrameManager::ReResolveStyleContext layout/base/nsFrameManager.cpp:1499 3 xul.dll nsFrameManager::ReResolveStyleContext layout/base/nsFrameManager.cpp:1499 4 xul.dll nsFrameManager::ComputeStyleChangeFor layout/base/nsFrameManager.cpp:1566 5 xul.dll nsCSSFrameConstructor::RestyleElement layout/base/nsCSSFrameConstructor.cpp:9992 6 xul.dll nsCSSFrameConstructor::ProcessOneRestyle layout/base/nsCSSFrameConstructor.cpp:13372 7 xul.dll nsCSSFrameConstructor::ProcessPendingRestyles layout/base/nsCSSFrameConstructor.cpp:13480 8 xul.dll PresShell::DoFlushPendingNotifications layout/base/nsPresShell.cpp:4686 9 xul.dll PresShell::FlushPendingNotifications layout/base/nsPresShell.cpp:4644 10 xul.dll nsCSSFrameConstructor::RestyleEvent::Run layout/base/nsCSSFrameConstructor.cpp:13564 11 xul.dll nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:510 12 xul.dll nsBaseAppShell::Run widget/src/xpwidgets/nsBaseAppShell.cpp:170 13 xul.dll nsAppStartup::Run toolkit/components/startup/src/nsAppStartup.cpp:193 14 nspr4.dll PR_GetEnv 15 firefox.exe wmain toolkit/xre/nsWindowsWMain.cpp:110 16 firefox.exe firefox.exe@0x2197 17 kernel32.dll kernel32.dll@0x16fe6
beta 3 reports show it ranks #24 http://crash-stats.mozilla.com/query/query?do_query=1&product=Firefox&version=Firefox%3A3.1b3&date=&range_value=1&range_unit=weeks&query_search=signature&query_type=exact&query= beta 2 reports show it ranked #38 but we don't have a good way to tell if the crash slides down the ranking as users drop or if its climbing because of some regression in beta4
Most crashes seem to have NPMyWebS.dll in the module list; maybe duplicate of bug 466024? I'd love to debug if somebody has a Windows vm that can be trashed with spyware and then rolled back / deleted.
Blocks: 503562
can we get some eyes on this? QA?
Keywords: qawanted, topcrash
OS: Mac OS X → Windows XP
(In reply to comment #3) > can we get some eyes on this? QA? We can! But if it's caused by malware, it might be hard to reproduce... Also, we should probably get a list of URLs this crashes on as it might be needed to reproduce, even with the .dll file.
From bug 466024 it sounds more like somewhat-aggressive toolbars, not total malware. If somebody has a non-development environment where they can test this stuff I can also make a try server build of something that would crash at a more useful stack... if we can get crash report stacks for try server builds, that is.
Keywords: qawanted
Summary: fx3.5b4 Crash Report [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ] → fx3.5b4 Crash Report [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ] due to MyWebSearch toolbar
Whiteboard: [needs debugging in a throwaway Windows VM]
Blocks: 518287
http://dbaron.org/log/20090922-crashes shows: nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) (79 crashes) 52% (41/79) vs. 3% (243/7100) M3PLUGIN.DLL 52% (41/79) vs. 4% (249/7100) NPMyWebS.dll 51% (40/79) vs. 3% (246/7100) MWSBAR.DLL 48% (38/79) vs. 4% (275/7100) MWSOESTB.DLL 47% (37/79) vs. 3% (223/7100) F3HTMLMU.DLL 29% (23/79) vs. 2% (175/7100) F3HKSTUB.DLL
spybuster and other malware removal sites says they find and remove most of the .dlls associated with MyTotalSearchBar that are on the list in comment 6. http://www.spy-buster.com/spyware-database/MyTotalSearchBar-spyware.htm http://www.bleepingcomputer.com/startups/M3PLUGIN.DLL-23933.html
Need to fix this before we ship Firefox 3.6, either in our code or by blocklisting the toolbars causing it.
Flags: blocking1.9.2+
Priority: -- → P2
Assignee: nobody → dbaron
It's possible the patch in bug 513741 might fix this.
Depends on: 513741
Whiteboard: [needs debugging in a throwaway Windows VM] → [waiting to see whether bug 513741 fixes this | needs debugging in a throwaway Windows VM]
I installed the mywebsearch toolbar to try and test to see if that fixes this, but I haven't gotten it to crash yet. I wonder if a list of URLs on which this crash was observed would help.
No longer depends on: 513741
here are a few on youtube 12 http://www.youtube.com 2 http://www.youtube.com/ 1 http://www.youtube.com/watch?v=rNCPDLoPbd0&NR=1 1 http://www.youtube.com/watch?v=egEdS2QGKCE&feature=related 1 http://www.youtube.com/watch?v=aDTq3I8V0R0&feature=channel 1 http://www.youtube.com/watch?v=WB1iJwIL6OI 1 http://www.youtube.com/watch?v=LDYyv-iLmRY&feature=rec-HM-r2 1 http://www.youtube.com/watch?v=Jdb--Uded5w 1 http://www.youtube.com/watch?v=JHtwwJ4cKtg 1 http://www.youtube.com/watch?gl=GB&feature=related&v=6kTTPir17fk 1 http://www.youtube.com/watch?gl=BR&v=DOZM3L-bkzw 1 http://www.youtube.com/videos?r=1 other crashes with this signature show facebook profile pages, and facebook apps. here are the domains of sites 89 // 46 http://www.facebook.com 44 http://www.google.com 31 about:blank// 31 \N// 19 http://apps.facebook.com 19 about:sessionrestore// 18 http://mail.live.com 18 http://login.live.com 12 http://www.youtube.com 12 http://www.google.co.uk 11 https://www.google.com 10 http://www.alot.com 8 http://www.orkut.com.br 8 http://www.microsoft.com 8 http://www.google.pl 8 http://www.google.com.br [and a very long tail follows] that pretty much maps to general browsing behavior, so I'm not sure we will find any particular site or pate that triggers the crash. tomcat could builds with and without the patch, then grab a days worth of 900 urls associated with this signature and run them on automation if we think that might be a good approach to testing.
I've installed the MyWebSearch toolbar, and still couldn't get any of those URLs to crash, or get anything to crash by playing around with the toolbar's UI a bit. Getting steps to reproduce here would be helpful.
(In reply to comment #11) > > that pretty much maps to general browsing behavior, so I'm not sure we will > find any particular site or pate that triggers the crash. > > tomcat could builds with and without the patch, then grab a days worth of 900 > urls associated with this signature and run them on automation if we think that > might be a good approach to testing. will do !
Keywords: qawanted
This is pretty much unrelated to this bug, except the bug this fixes causes assertions once patch 2 is applied.
Attachment #404106 - Flags: review?(bzbarsky)
This applies on top of bug 492675 and on top of patch 1, and I think should fix this bug, although I'm not sure, since I haven't been able to reproduce this bug.
Attachment #404107 - Flags: review?(bzbarsky)
er, I meant on top of bug 513741
Does patch 2 at least fix *a* bug? Hopefully something that we could create an automated test for?
It should be an alternate fix for bug 507457, such that we could back that fix out and it would still be fixed, but I haven't tested that yet.
(In reply to comment #18) > It should be an alternate fix for bug 507457, such that we could back that fix > out and it would still be fixed, but I haven't tested that yet. It does, in fact, fix bug 507457 with that bug's patch removed.
Attachment #404106 - Flags: review?(bzbarsky) → review+
Attachment #404107 - Flags: review?(bzbarsky) → review+
http://hg.mozilla.org/releases/mozilla-1.9.2/rev/4a4504e6581d http://hg.mozilla.org/releases/mozilla-1.9.2/rev/b5ff73121753 The latter patch had the warning fix that I threw in dropped (since it doesn't apply there), and was no longer on top of bug 513741 (by merging the two patches, since patch 2 here removed what was added there).
Attached patch patch 2 for 1.9.1 branch (obsolete) (deleted) — Splinter Review
The patch as landed on 1.9.2, plus a little simple merging to deal with the differences from http://hg.mozilla.org/mozilla-central/rev/929ccf186103
Attachment #404355 - Flags: approval1.9.1.4?
Attachment #404106 - Flags: approval1.9.1.4?
Attached patch patch 2 for 1.9.1 branch (deleted) — Splinter Review
Oops, made a simple mistake in the merging.
Attachment #404355 - Attachment is obsolete: true
Attachment #404372 - Flags: approval1.9.1.4?
Attachment #404355 - Flags: approval1.9.1.4?
This will not make 1.9.1.4. Do we need both patches for 1.9.1.5 or does the second include the first?
blocking1.9.1: --- → .5+
Attachment #404106 - Flags: approval1.9.1.4? → approval1.9.1.5?
Attachment #404372 - Flags: approval1.9.1.4? → approval1.9.1.5?
Both patches are needed.
Comment on attachment 404106 [details] [diff] [review] patch 1: fix missing SetLevel call Approved for 1.9.1.5, a=dveditz for release-drivers
Attachment #404106 - Flags: approval1.9.1.5? → approval1.9.1.5+
Comment on attachment 404372 [details] [diff] [review] patch 2 for 1.9.1 branch Approved for 1.9.1.5, a=dveditz for release-drivers
Attachment #404372 - Flags: approval1.9.1.5? → approval1.9.1.5+
Whiteboard: [waiting to see whether bug 513741 fixes this | needs debugging in a throwaway Windows VM] → [waiting to see whether bug 513741 fixes this | needs debugging in a throwaway Windows VM][crashkill]
This looks to be FIXED on trunk and 1.9.2, marking.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
We have no idea whether it's fixed and won't know until we ship 3.5.5.
Then again, it's showing up as topcrash #59 for 3.6b1; I'm not sure if that means part of it is fixed and part isn't, or that none of it is fixed.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Whiteboard: [waiting to see whether bug 513741 fixes this | needs debugging in a throwaway Windows VM][crashkill] → [crashkill]
Whiteboard: [crashkill] → [crashkill][crashkill-fix]
Can we get a percentage of crashes that we think this will fix?
re: comment 35 this will fix about 1000 crashes per day incoming on various releases. distribution of all versions where the nsStyleSet::FileRules crash was found on 20091101-crashdata.csv 834 Firefox 3.5.4 193 Firefox 3.5.3 23 Firefox 3.5.2 14 Firefox 3.5 5 Firefox 3.5.1 4 Firefox 3.0.15 2 Firefox 3.6b1 2 Firefox 3.1b3 1 Firefox 3.5b99 1 Firefox 3.5b4 1 Firefox 3.1b1 1 Firefox 3.0.3
(In reply to comment #34) > Then again, it's showing up as topcrash #59 for 3.6b1; I'm not sure if that > means part of it is fixed and part isn't, or that none of it is fixed. Though there have been very few crashes since we actually shipped 3.6b1, though. There were more on the early builds than on the build we actually shipped as beta: http://crash-stats.mozilla.com/report/list?product=Firefox&version=Firefox%3A3.5.4&query_search=signature&query_type=exact&query=&date=&range_value=1&range_unit=weeks&do_query=1&signature=nsStyleSet%3A%3AFileRules%28int%20%28*%29%28nsIStyleRuleProcessor*%2C%20void*%29%2C%20RuleProcessorData*%29
Notes from debugging the minidump: http://crash-stats.mozilla.com/report/index/e964d5e5-efc3-4a37-b99e-c2a0e2091107 It looks like the disassembly is really for the guts of AddImportantRules... actually GetImportantRule inlined within AddImportantRules (with a check for whether the vtable entry matches the expected CSSStyleRuleImpl::GetImportantRule). The 0x1c offset is the mImportantData of a null nsCSSDeclaration. The CSSStyleRuleImpl is 0x53480e0, which seems pretty likely to be a good pointer given that it just passed a test against one of its vtable entries.
(In reply to comment #39) > The 0x1c offset is the mImportantData of a null nsCSSDeclaration. The > CSSStyleRuleImpl is 0x53480e0, which seems pretty likely to be a good pointer > given that it just passed a test against one of its vtable entries. To be clear, mDeclaration->mImportantData is being loaded as part of the inlined HasImportantData call in CSSStyleRuleImpl::GetImportantRule; the fast-path is for when it's null. (However, the crash is because mDeclaration is null.)
(In reply to comment #37) > (In reply to comment #34) > > Then again, it's showing up as topcrash #59 for 3.6b1; I'm not sure if that > > means part of it is fixed and part isn't, or that none of it is fixed. > > Though there have been very few crashes since we actually shipped 3.6b1, > though. There were more on the early builds than on the build we actually > shipped as beta: > We might have hit some threshold of -general 3.6b1 usage, -or some pocket of users joining the beta, -or some new outbreak of the externally driven crash problem that changed the beta volume on this shortly after you made comment 37. we have gone from 1-3 3.6b1 crash per day to 12-31 crashes per day the last few days. 3.6b1 active daily users #crash #tl-sigs #nsStyleSet::FileRules crashes 89,724 20091101-crashdata.csv 1,468 500 2 123,763 20091102-crashdata.csv 1,939 601 3 158,496 20091103-crashdata.csv 2,177 645 3 180,255 20091104-crashdata.csv 2,321 729 1 195,912 20091105-crashdata.csv 5,962 1,364 12 213,475 20091106-crashdata.csv 14,917 2,537 24 198,588 20091107-crashdata.csv 15,187 2,685 31
there is some wrapping on that last comment. left column is adu's on the beta. right column is #nsStyleSet::FileRules crashes
Should we keep blocking 1.9.2 on this? It seems like we don't have a good idea of what could be causing the remaining crashes.
The extension correlations for this crash that look likely to be statistically significant to me, from last night's run at http://people.mozilla.com/crash_analysis/ are: Firefox 3.6b1: nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*, nsRuleWalker*)|EXCEPTION_ACCESS_VIOLATION (34 crashes) 26% (9/34) vs. 3% (331/13234) {a0d7ccb3-214d-498b-b4aa-0e8fda9a7bf7} (WOT, https://addons.mozilla.org/addon/3456) 29% (10/34) vs. 10% (1310/13234) {ABDE892B-13A8-4d1b-88E6-365A6E755758} Firefox 3.5.5: nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*)|EXCEPTION_ACCESS_VIOLATION (808 crashes) 18% (148/808) vs. 2% (1592/79833) {a0d7ccb3-214d-498b-b4aa-0e8fda9a7bf7} (WOT, https://addons.mozilla.org/addon/3456) 23% (186/808) vs. 13% (10240/79833) {635abd67-4fe9-1b23-4f01-e679fa7484c1} (Yahoo! Toolbar, https://addons.mozilla.org/addon/2032) 14% (110/808) vs. 5% (4064/79833) avg@igeared 17% (140/808) vs. 9% (7109/79833) {3f963a5b-e555-4543-90e2-c3908898db71} 14% (110/808) vs. 6% (4947/79833) {E2883E8F-472F-4fb0-9522-AC9BF37916A7} (Adobe Flash Extension, https://addons.mozilla.org/addon/13845) 9% (73/808) vs. 2% (1534/79833) browserhighlighter@ebay.com (The Browser Highlighter, https://addons.mozilla.org/addon/11808) 16% (132/808) vs. 10% (8006/79833) {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d} (Adblock Plus, https://addons.mozilla.org/addon/1865) 13% (101/808) vs. 7% (5375/79833) {B13721C7-F507-4982-B2E5-502A71474FED} (Skype Toolbar for Firefox, https://addons.mozilla.org/addon/4938) https://addons.mozilla.org/addon/3456 is probably the most clearly related.
And the URL list for this crash looks pretty much like a "most visited pages on the Web" list.
anyone know a contact for the web of trust folks?
Whiteboard: [crashkill][crashkill-fix] → [crashkill][crashkill-fix][crashkill-outreach]
How would a contact help?
The WOT extension also seems to be causing crashes in: RuleHash_ClassTable_GetKey ContentEnumFunc RuleHash::EnumerateAllRules(int, nsIAtom*, nsIAtom*, nsAttrValue const*, void (*)(nsICSSStyleRule*, nsCSSSelector*, void*), void*) Those might be related.
(In reply to comment #46) > https://addons.mozilla.org/addon/3456 is probably the most clearly related. That said, the MyWebSearch toolbar is responsible for a larger portion of the crashes (probably 2/3 on 3.6b1 and 1/2 on 3.5.5), but it only shows up in the module correlations and not the addons list. NPMyWebS.dll also shows up in the correlations (I'm looking at 3.5.5) for the three crashes above (though not quite at those percentages).
(In reply to comment #49) > How would a contact help? David, are you saying that this crash cannot be fixed by the addons mentioned here?
Looking at 6 3.5.5 RuleHash_ClassTable_GetKey crashes: The disassembly is really simple: RuleHashTableEntry::mRules is at offset 0x4 RuleValue::mSelector is at offset 0x4 nsCSSSelector::mClassList is at offset 0xc nsAtomList::mAtom is at offset 0x0 http://crash-stats.mozilla.com/report/index/7d8624df-a602-438e-be00-5c43f2091108 The crash is trying to dereference ->mAtom (the dereference at offset 0x0), so mClassList is a bad pointer (0x0f100c11). http://crash-stats.mozilla.com/report/index/509b0d0c-da2e-4162-a9fd-3458d2091108 The crash is trying to dereference ->mAtom (the dereference at offset 0x0), so mClassList is a bad pointer (0x006c0061). (That's "al" in UTF-16.) http://crash-stats.mozilla.com/report/index/643fecb1-b5de-4245-b880-12d262091108 The crash is trying to dereference ->mAtom (the dereference at offset 0x0); this time mClassList is null. And in the FileRules frame we're doing eDocSheet rule processors. http://crash-stats.mozilla.com/report/index/a8b5d21f-2812-467e-ac71-10a802091108 Exactly like the previous one. http://crash-stats.mozilla.com/report/index/c5c5a7ce-3f28-48d5-8371-78adb2091108 Exactly like the previous two. http://crash-stats.mozilla.com/report/index/cc18f999-95f3-4af0-9f2b-ca5fd2091108 The crash is trying to dereference ->mAtom (the dereference at offset 0x0), so mClassList is a bad pointer (0x70697263). (That's "crip" in UTF-8/ASCII.) Now, I'll look at six 3.5.5 ContentEnumFunc crashes: http://crash-stats.mozilla.com/report/index/40a9f15b-4bef-480e-81db-781502091108 Claims to be crashing on the line data->mRuleWalker->Forward(aRule). Presumably that's because nsRuleWalker::Forward and nsRuleNode::Transition are inlined. In particular, it's in a chunk of code representing this bit at the end of nsRuleNode::Transition: // Create the new entry in our list. next = new (mPresContext) nsRuleNode(mPresContext, this, aRule, aLevel, aIsImportantRule); if (!next) { return nsnull; } next->mNextSibling = ChildrenList(); SetChildrenList(next); With nsRuleNode::nsRuleNode inlined into this. And, in particular, the crash is on the line (EIP 0x10074134): NS_IF_ADDREF(aRule) in nsRuleNode::nsRuleNode. aRule (ECX) is 0x0200fc80. aRule's vtable (EDX), however, is null. And, for the record, |this| in nsRuleNode::nsRuleNode (ESI) is 0x022da37c. And mDependentBits was just set from (EDI) to 0x40000000 (i.e., eDocSheet level, not important). And mParent was set to EAX, 0x024bce5c. http://crash-stats.mozilla.com/report/index/72acd167-2dc5-4a36-b8b5-918352091108 In this case, it's SelectorMatchesTree inlined into ContentEnumFunc, and it's the variable |content| (EAX, 0x64b7e80) that has a bad vtable (EDX, 0x400). Probably not related to the crash in this bug. http://crash-stats.mozilla.com/report/index/88bb6665-0eba-4115-a791-071cf2091108 Looks like a bad rule node in the list near the start of nsRuleNode::Transition, in this loop: while (curr && curr->GetKey() != key) { curr = curr->mNextSibling; ++numKids; } Again, not related. http://crash-stats.mozilla.com/report/index/a1da412a-f82c-4954-8fa3-852512091108 Like the one before the previous: a bad vtable on |content|, I think. (0x00001000). http://crash-stats.mozilla.com/report/index/ad97299e-9b71-4be5-9332-6c5da2091108 At a quick glance, this looks like a bad rule node inside the inlined nsRuleNode::Transition (i.e., nsRuleWalker::mCurrentNode ended up bad). http://crash-stats.mozilla.com/report/index/cfa3e704-5245-4d47-9c15-e300d2091108 This one looks like the first of the six (the only other one related to this bug). Like that, the crash is on the line (EIP 0x10074134): NS_IF_ADDREF(aRule) in nsRuleNode::nsRuleNode. aRule (ECX) is 0x02f8ace0. aRule's vtable (EDX), however, is null. And, for the record, |this| in nsRuleNode::nsRuleNode (ESI) is 0x05b1edd0. And mDependentBits was just set from (EDI) to 0x40000000 (i.e., eDocSheet level, not important). And mParent was set to EAX, 0x0547b350. (In reply to comment #52) > (In reply to comment #49) > > How would a contact help? > > David, are you saying that this crash cannot be fixed by the addons mentioned > here? It's probably related to something that those addons are doing, but we don't know what. So, if we had a contact, what would we tell them? I don't currently have anything to say, but if somebody else does, then it could be useful.
Summary: fx3.5b4 Crash Report [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ] due to MyWebSearch toolbar → crash from MyWebSearch toolbar or WOT extension [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ][@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*, nsRuleWalker*)]
Summary: crash from MyWebSearch toolbar or WOT extension [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ][@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*, nsRuleWalker*)] → nsRuleWalker*)] [@nsStyleSet::FileR crash from MyWebSearch toolbar or WOT extension [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ][@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*
Summary: crash from MyWebSearch toolbar or WOT extension [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ][@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData* nsRuleWalker*)] [@nsStyleSet::FileR → crash from MyWebSearch toolbar or WOT extension [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ][@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*, nsRuleWalker*)]
(In reply to comment #49) > How would a contact help? Two things we could ask: (1) Do they have steps to reproduce the crash? (2) Do they have any ideas of what their code might be doing related to CSS rules that might be causing the crash?
Can we ask for a look at (parts of) their source code?
I just took a look at WOT: it's GPL, has no binary components, and does some stuff with the CSS object model (pretty trivial, except they're holding their own cache of style rules).
So the reason I asked about extensions is because I wanted to see whether any of them were using the inspector APIs for messing with style rules. WOT doesn't seem to be doing that... Their css.js code should be pretty safe. They hold DOM rules, but if the underlying style rule dies the DOM rule should just end up with a null mRule and handle that safely; in such cases the nsIStyleRule shouldn't be reachable via rulenodes anyway...
Attachment #411415 - Attachment description: Suspicious MyWebSearch file → MyWebSearch toolbar
So what I can see after running both of those extensions a bit is that WOT overlays the content area with a warning all the time you search for something inside the mywebsearch toolbar or click a button. All those referenced web pages have a poor reputation. Could that be related?
Boris or David, was that information helpful for you?
I don't know. Nothing in the comment 59 file jumped out at me... :(
Attachment #404853 - Attachment description: nsStyleSet::FileRules crashes → nsStyleSet::FileRules crash URLs and stats
Not blocking. We can't repro.
Flags: blocking1.9.2+ → blocking1.9.2-
The RuleProcessor singature seems spread across 3.0* 3.5* 3.6* . The RuleWalker signature seems exclusive to 3.6* chofmann$ grep 'nsStyleSet::FileRules' 20091122* | grep RuleProcessorData | awk -F\t '{print $8}' | sort | uniq -c | sort -nr 915 3.5.5 52 3.5.3 43 3.6b3 19 3.5.4 16 3.5.2 12 3.5 11 3.6b1 9 3.1b3 8 3.5.1 5 3.5b4 4 3.6b2 3 3.0.15 2 3.1b2 1 3.7a1pre 1 3.5b99 1 3.0.4 chofmann$ grep 'nsStyleSet::FileRules' 20091122* | grep RuleWalker| awk -F\t '{print $8}' | sort | uniq -c | sort -nr 43 3.6b3 11 3.6b1 4 3.6b2 1 3.7a1pre
so if I read things right the RuleWalker crashes are only 3.6x and the RuleWalker crashes are the ones strongly correlated to MyWebSearch toolbar 58% (22/38) vs. 2% (244/11946) NPMyWebS.dll 58% (22/38) vs. 2% (244/11946) M3PLUGIN.DLL 58% (22/38) vs. 2% (236/11946) MWSBAR.DLL 55% (21/38) vs. 3% (375/11946) MWSOESTB.DLL 55% (21/38) vs. 2% (229/11946) F3HTMLMU.DLL 42% (16/38) vs. 2% (280/11946) F3HKSTUB.DLL Then blocking these might be an option to reduce the 3.6x side of these crashes. Sounds like spybuster and maybe other anti-virus packages might be disabling or removing. http://www.spy-buster.com/spyware-database/MyTotalSearchBar-spyware.htm http://www.dslreports.com/forum/remark,15313228 says NPMyWebS.dll gets put in plugins Program Files\Mozilla Firefox\plugins\NPMyWebS.dll Some more research is probably needed to figure out the exact blocking strategy and test and confirm it. maybe that could get sorted out by an addition to the blocklist and another 36beta. Sounds like Henrik as an installation of the toolbar set up to test a block entry. renom to see if we want to try the MyWebSearch toolbar block to help 3.6 to reduce at least a few of these crashes; although this wouldn't address other bugs that might be getting tickled by addons/plugins poking at CSS rule code.
Flags: blocking1.9.2- → blocking1.9.2?
or maybe we should just spin of another bug for the suggestion in comment 66
Yes, please file a separate bug for extension blocks.
We'd rather not block these extensions, since we've looked at their code and determined they're not doing anything wrong. We could suggest alternative ways for these extensions to work (as a workaround), but blocking wouldn't be nice.
Blocking based on the fact that this was fixed for 1.9.1.6 - can we get it ported to 1.9.2 and central?
Flags: blocking1.9.2? → blocking1.9.2+
This landed on m-c and 1.9.2 (comment 20 and comment 21). See also comment #34: > Then again, it's showing up as topcrash #59 for 3.6b1; I'm not sure if that > means part of it is fixed and part isn't, or that none of it is fixed.
The patch in question landed on all relevant branches, but didn't fix the bug. I think the patches in bug 522595 might either fix this or move the crash to a different location that might tell us more information. But I don't think this should block.
Flags: blocking1.9.2+ → blocking1.9.2-
the signature nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*, nsRuleWalker*) is showing up as new/morfed inearly beta testing of firefox 3.5.6 http://people.mozilla.com/~jst/new-crashes/Firefox/latest/3.5.6-3.5.html
(In reply to comment #72) > I think the patches in bug 522595 might either fix this or move the crash to a > different location that might tell us more information. These patches landed on mozilla-central today.
There haven't been any nsStyleSet::FileRules crashes from mozilla-central builds since those patches landed, or, for that matter, any crashes in any nsStyleSet methods. The histogram prior to landing was: 0 Dec 2 2 Dec 3 0 Dec 4 2 Dec 5 0 Dec 6 1 Dec 7 1 Dec 8 (though that crash was recorded a week after the build date) 0 Dec 9 0 Dec 10
Depends on: 522595
Once bug 536379 has baked on trunk, I think we should consider taking bug 522595 and bug 536379 for a 1.9.2.* release.
I have a merge of both of those bugs to 1.9.2 in my 1.9.2 patch queue at http://hg.mozilla.org/users/dbaron_mozilla.com/patches-1.9.2/ (I'm currently waiting on try server results from that merge.)
This is the output of "hg outgoing -p" with the patch queue for what I think we'd need to land to fix this. It passes tests on try (modulo random orange in make check on Windows).
Attachment #419722 - Flags: approval1.9.2.1?
Comment on attachment 419722 [details] patch queue containing relevant parts of bug 522595 and bug 536379 This is in the top 100 crashes, but not the top 20. Do we still fell it's worth the risk? The reason I ask is that this is a pretty big patch, and that usually causes driver concern.
Attachment #419722 - Flags: approval1.9.2.2? → approval1.9.2.2-
Crash Signature: [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ] [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*, nsRuleWalker*)]
Severity: normal → critical
Crash Signature: [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ] [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*, nsRuleWalker*)] → [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*) ] [@ nsStyleSet::FileRules(int (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*, nsRuleWalker*)]
Keywords: crash
All of these appear to be on 3.0, 3.5 and 3.6. Resolving as works for me.
Status: REOPENED → RESOLVED
Closed: 15 years ago13 years ago
Resolution: --- → WORKSFORME
Resolution: WORKSFORME → FIXED
Target Milestone: --- → mozilla2.0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: