Bug 140517 - [Win] Debug assertion when attempting to change style on button with multiple style references
Summary: [Win] Debug assertion when attempting to change style on button with multiple...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC All
: P2 Normal
Assignee: Hyungwook Lee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-15 15:23 PST by Brent Fulgham
Modified: 2015-05-08 08:14 PDT (History)
5 users (show)

See Also:


Attachments
patch (1.45 KB, patch)
2015-05-07 05:46 PDT, Hyungwook Lee
no flags Details | Formatted Diff | Diff
patch (1.20 KB, patch)
2015-05-08 01:48 PDT, Hyungwook Lee
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brent Fulgham 2015-01-15 15:23:45 PST
The layout test 'fast/forms/button-first-line-first-letter.html' is failing because of the following assertion:

void RenderButton::setupInnerStyle(RenderStyle* innerStyle) 
{
    ASSERT(innerStyle->refCount() == 1);

The stack trace is as follows:

 	WTF.dll!WTFCrash() Line 321	C++
>	WebKit.dll!WebCore::RenderButton::setupInnerStyle(WebCore::RenderStyle * innerStyle) Line 135	C++
 	WebKit.dll!WebCore::RenderButton::styleDidChange(WebCore::StyleDifference diff, const WebCore::RenderStyle * oldStyle) Line 115	C++
 	WebKit.dll!WebCore::RenderElement::setStyle(WTF::Ref<WebCore::RenderStyle> && style) Line 443	C++
 	WebKit.dll!WebCore::RenderElement::setAnimatableStyle(WTF::Ref<WebCore::RenderStyle> && style) Line 296	C++
 	WebKit.dll!WebCore::Style::resolveLocal(WebCore::Element & current, WebCore::RenderStyle & inheritedStyle, WebCore::Style::RenderTreePosition & renderTreePosition, WebCore::Style::Change inheritedChange) Line 764	C++
 	WebKit.dll!WebCore::Style::resolveTree(WebCore::Element & current, WebCore::RenderStyle & inheritedStyle, WebCore::Style::RenderTreePosition & renderTreePosition, WebCore::Style::Change change) Line 918	C++
 	WebKit.dll!WebCore::Style::resolveTree(WebCore::Element & current, WebCore::RenderStyle & inheritedStyle, WebCore::Style::RenderTreePosition & renderTreePosition, WebCore::Style::Change change) Line 955	C++
 	WebKit.dll!WebCore::Style::resolveTree(WebCore::Element & current, WebCore::RenderStyle & inheritedStyle, WebCore::Style::RenderTreePosition & renderTreePosition, WebCore::Style::Change change) Line 955	C++
 	WebKit.dll!WebCore::Style::resolveTree(WebCore::Document & document, WebCore::Style::Change change) Line 995	C++
 	WebKit.dll!WebCore::Document::recalcStyle(WebCore::Style::Change change) Line 1767	C++
 	WebKit.dll!WebFrame::invalidate() Line 1081	C++
 	WebKit.dll!WebView::notifyPreferencesChanged(IWebNotification * notification) Line 5065	C++
 	WebKit.dll!WebView::onNotify(IWebNotification * notification) Line 4705	C++
 	WebKit.dll!WebNotificationCenter::postNotificationInternal(IWebNotification * notification, wchar_t * notificationName, IUnknown * anObject) Line 131	C++
 	WebKit.dll!WebNotificationCenter::postNotificationName(wchar_t * notificationName, IUnknown * anObject, IPropertyBag * userInfo) Line 187	C++
 	WebKit.dll!WebPreferences::postPreferencesChangesNotification() Line 148	C++
 	WebKit.dll!WebPreferences::setBoolValue(const char * key, int value) Line 420	C++
 	WebKit.dll!WebPreferences::setDeveloperExtrasEnabled(int enabled) Line 1427	C++
 	DumpRenderTree.dll!TestRunner::setDeveloperExtrasEnabled(bool enabled) Line 1024	C++
 	DumpRenderTree.dll!runTest(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & inputLine) Line 1156	C++
 	DumpRenderTree.dll!main(int argc, const char * * argv) Line 1476	C++
 	DumpRenderTree.dll!dllLauncherEntryPoint(int argc, const char * * argv) Line 1506	C++
 	DumpRenderTree.exe!main(int argc, const char * * argv) Line 239	C++
 	[External Code]
Comment 1 Hyungwook Lee 2015-04-20 01:33:08 PDT
I've started look at this issue.
Comment 2 Hyungwook Lee 2015-05-07 05:46:44 PDT
Created attachment 252589 [details]
patch
Comment 3 Brent Fulgham 2015-05-07 11:18:13 PDT
We should make sure to remove the TestExpectation exception for 'fast/forms/buttons-first-line-first-letter.html' when this lands.

Thanks for figuring this out!
Comment 4 Gyuyoung Kim 2015-05-07 19:15:27 PDT
Comment on attachment 252589 [details]
patch

As Brent said, we need to unskip "fast/forms/buttons-first-line-first-letter.html" if it can be passed after landing this patch.
Comment 5 WebKit Commit Bot 2015-05-07 23:14:25 PDT
Comment on attachment 252589 [details]
patch

Clearing flags on attachment: 252589

Committed r183981: <http://trac.webkit.org/changeset/183981>
Comment 6 WebKit Commit Bot 2015-05-07 23:14:30 PDT
All reviewed patches have been landed.  Closing bug.
Comment 7 Hyungwook Lee 2015-05-08 01:48:27 PDT
Created attachment 252701 [details]
patch

Patch for unskiping fast/forms/button-first-line-first-letter.html test case in LayoutTests/platform/win/TestExpectations
Comment 8 Hyungwook Lee 2015-05-08 01:50:07 PDT
reopen for unskiping fast/forms/button-first-line-first-letter.html test case.
Comment 9 Brent Fulgham 2015-05-08 07:21:03 PDT
Comment on attachment 252701 [details]
patch

R=me
Comment 10 WebKit Commit Bot 2015-05-08 08:14:13 PDT
Comment on attachment 252701 [details]
patch

Clearing flags on attachment: 252701

Committed r183994: <http://trac.webkit.org/changeset/183994>
Comment 11 WebKit Commit Bot 2015-05-08 08:14:18 PDT
All reviewed patches have been landed.  Closing bug.