Bug 78433 - [GTK] Mutation Observers build is broken
Summary: [GTK] Mutation Observers build is broken
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-12 02:15 PST by Philippe Normand
Modified: 2012-02-14 00:32 PST (History)
4 users (show)

See Also:


Attachments
Patch (7.22 KB, patch)
2012-02-13 08:27 PST, ChangSeok Oh
no flags Details | Formatted Diff | Diff
Patch (5.83 KB, patch)
2012-02-13 08:39 PST, ChangSeok Oh
no flags Details | Formatted Diff | Diff
Patch (6.08 KB, patch)
2012-02-13 09:00 PST, ChangSeok Oh
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 2012-02-12 02:15:40 PST
Some files are missing in the Makefile.


../../Source/WebCore/bindings/js/JSMutationCallbackCustom.cpp:35:32: error: JSMutationCallback.h: No such file or directory
../../Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:35:38: error: JSWebKitMutationObserver.h: No such file or directory
Comment 1 Philippe Normand 2012-02-12 02:17:23 PST
I disabled it for GTK in r107504. Please next time before enabling a feature on all ports make sure it builds there or watch for the bots fallout.
Comment 2 Philippe Normand 2012-02-12 02:33:00 PST
Gustavo, can you please trigger clean builds in your EWS and bot?
64-bit bots are rolling but I need to clean my EWS :/
Comment 3 ChangSeok Oh 2012-02-12 23:18:42 PST
Hello. I think I have a proper patch to fix this.
Would you mind if I submit this? :)
Comment 4 Philippe Normand 2012-02-12 23:51:36 PST
(In reply to comment #3)
> Hello. I think I have a proper patch to fix this.
> Would you mind if I submit this? :)

Please go ahead!
Don't forget to unskip the tests that should pass after this feature is enabled :)
Comment 5 ChangSeok Oh 2012-02-13 08:27:03 PST
Created attachment 126775 [details]
Patch
Comment 6 Martin Robinson 2012-02-13 08:30:34 PST
Comment on attachment 126775 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=126775&action=review

> configure.ac:656
> +                             [enable DOM mutation observer support [default=yes]]),
> +              [],[enable_mutation_observers="yes"])

You probably shouldn't make this change. It's one thing to turn a new feature on for the bots, it another to have everyone who compiles WebKitGTK+ using this new feature.
Comment 7 Philippe Normand 2012-02-13 08:31:56 PST
Comment on attachment 126775 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=126775&action=review

>> configure.ac:656
>> +              [],[enable_mutation_observers="yes"])
> 
> You probably shouldn't make this change. It's one thing to turn a new feature on for the bots, it another to have everyone who compiles WebKitGTK+ using this new feature.

I agree, the initial patch that switched the feature on in build-webkit didn't do so in configure.ac
Comment 8 ChangSeok Oh 2012-02-13 08:35:26 PST
Comment on attachment 126775 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=126775&action=review

>>> configure.ac:656
>>> +              [],[enable_mutation_observers="yes"])
>> 
>> You probably shouldn't make this change. It's one thing to turn a new feature on for the bots, it another to have everyone who compiles WebKitGTK+ using this new feature.
> 
> I agree, the initial patch that switched the feature on in build-webkit didn't do so in configure.ac

O.K Let me update immediately :)
Comment 9 ChangSeok Oh 2012-02-13 08:39:56 PST
Created attachment 126778 [details]
Patch
Comment 10 Martin Robinson 2012-02-13 08:43:11 PST
Comment on attachment 126778 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=126778&action=review

> LayoutTests/platform/gtk/Skipped:1619
> +# Needed FileSystem API enabled at the same time.
> +fast/mutation/filesystem-callback-delivery.html

Do you think you can move this test up with the other block tests about the FileSystem API?
Comment 11 Philippe Normand 2012-02-13 08:46:35 PST
(In reply to comment #10)
> (From update of attachment 126778 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=126778&action=review
> 
> > LayoutTests/platform/gtk/Skipped:1619
> > +# Needed FileSystem API enabled at the same time.
> > +fast/mutation/filesystem-callback-delivery.html
> 
> Do you think you can move this test up with the other block tests about the FileSystem API?

Can we also wait EWS before landing this?
Comment 12 Philippe Normand 2012-02-13 08:52:35 PST
(In reply to comment #11)
> (In reply to comment #10)
> > (From update of attachment 126778 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=126778&action=review
> > 
> > > LayoutTests/platform/gtk/Skipped:1619
> > > +# Needed FileSystem API enabled at the same time.
> > > +fast/mutation/filesystem-callback-delivery.html
> > 
> > Do you think you can move this test up with the other block tests about the FileSystem API?
> 
> Can we also wait EWS before landing this?

Green, go!
Comment 13 ChangSeok Oh 2012-02-13 08:54:58 PST
Comment on attachment 126778 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=126778&action=review

>>> LayoutTests/platform/gtk/Skipped:1619
>>> +fast/mutation/filesystem-callback-delivery.html
>> 
>> Do you think you can move this test up with the other block tests about the FileSystem API?
> 
> Can we also wait EWS before landing this?

I tried to build with FileSystem API but  unhappily there is also an issue like following.
>make: *** No rule to make target `../../Source/WebCore/fileapi/WebKitFlags.idl', needed by `DerivedSources/WebCore/supplemental_dependency.tmp'
So I opened http://webkit.org/b/78479 for it.
Comment 14 ChangSeok Oh 2012-02-13 09:00:32 PST
Created attachment 126781 [details]
Patch
Comment 15 Adam Klein 2012-02-13 10:47:48 PST
(In reply to comment #1)
> I disabled it for GTK in r107504. Please next time before enabling a feature on all ports make sure it builds there or watch for the bots fallout.

Sorry for the breakage, my patch was passing on EWS, which I thought would be sufficient for GTK.  For future reference, is there some difference between GTK EWS and the build bot?
Comment 16 WebKit Review Bot 2012-02-13 20:04:05 PST
Comment on attachment 126781 [details]
Patch

Clearing flags on attachment: 126781

Committed r107662: <http://trac.webkit.org/changeset/107662>
Comment 17 WebKit Review Bot 2012-02-13 20:04:11 PST
All reviewed patches have been landed.  Closing bug.
Comment 18 Philippe Normand 2012-02-14 00:19:34 PST
(In reply to comment #17)
> All reviewed patches have been landed.  Closing bug.

Is a clean build needed?

  CXXLD  Programs/WebKitTestRunner
../../Source/WebCore/dom/Element.cpp:2045: error: undefined reference to 'WebCore::MutationRecord::createAttributes(WTF::PassRefPtr<WebCore::Node>, WebCore::QualifiedName const&, WTF::AtomicString const&)'
../../Source/WebCore/dom/Element.cpp:2045: error: undefined reference to 'WebCore::MutationObserverInterestGroup::enqueueMutationRecord(WTF::PassRefPtr<WebCore::MutationRecord>)'
../../Source/WebCore/dom/MutationObserverInterestGroup.h:70: error: undefined reference to 'WebCore::MutationObserverInterestGroup::createIfNeeded(WebCore::Node*, WebCore::WebKitMutationObserver::MutationType, WTF::AtomicString const&, unsigned char)'
../../Source/JavaScriptCore/wtf/OwnPtrCommon.h:54: error: undefined reference to 'WebCore::MutationObserverRegistration::~MutationObserverRegistration()'
../../Source/WebCore/dom/Node.cpp:2624: error: undefined reference to 'WebCore::MutationObserverRegistration::shouldReceiveMutationFrom(WebCore::Node*, WebCore::WebKitMutationObserver::MutationType, WTF::AtomicString const&)'
../../Source/WebCore/dom/Node.cpp:2637: error: undefined reference to 'WebCore::MutationObserverRegistration::shouldReceiveMutationFrom(WebCore::Node*, WebCore::WebKitMutationObserver::MutationType, WTF::AtomicString const&)'
../../Source/WebCore/dom/Node.cpp:2662: error: undefined reference to 'WebCore::MutationObserverRegistration::create(WTF::PassRefPtr<WebCore::WebKitMutationObserver>, WebCore::Node*)'
../../Source/WebCore/dom/Node.cpp:2708: error: undefined reference to 'WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach(WTF::PassRefPtr<WebCore::Node>)'
../../Source/WebCore/dom/Node.cpp:2713: error: undefined reference to 'WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach(WTF::PassRefPtr<WebCore::Node>)'
../../Source/WebCore/dom/ChildListMutationScope.h:52: error: undefined reference to 'WebCore::ChildListMutationScope::MutationAccumulationRouter::instance()'
../../Source/WebCore/dom/ChildListMutationScope.h:52: error: undefined reference to 'WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel(WebCore::Node*)'
../../Source/WebCore/dom/ChildListMutationScope.h:58: error: undefined reference to 'WebCore::ChildListMutationScope::MutationAccumulationRouter::instance()'
../../Source/WebCore/dom/ChildListMutationScope.h:58: error: undefined reference to 'WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel(WebCore::Node*)'
../../Source/JavaScriptCore/wtf/RefCounted.h:183: error: undefined reference to 'WebCore::WebKitMutationObserver::~WebKitMutationObserver()'
../../Source/WebCore/bindings/js/JSMainThreadExecState.cpp:37: error: undefined reference to 'WebCore::WebKitMutationObserver::deliverAllMutations()'
../../Source/WebCore/css/StylePropertySet.cpp:113: error: undefined reference to 'WebCore::MutationObserverInterestGroup::isOldValueRequested()'
../../Source/WebCore/css/StylePropertySet.cpp:114: error: undefined reference to 'WebCore::MutationRecord::createAttributes(WTF::PassRefPtr<WebCore::Node>, WebCore::QualifiedName const&, WTF::AtomicString const&)'
../../Source/WebCore/css/StylePropertySet.cpp:126: error: undefined reference to 'WebCore::MutationObserverInterestGroup::enqueueMutationRecord(WTF::PassRefPtr<WebCore::MutationRecord>)'
../../Source/WebCore/dom/CharacterData.cpp:196: error: undefined reference to 'WebCore::MutationRecord::createCharacterData(WTF::PassRefPtr<WebCore::Node>, WTF::String const&)'
../../Source/WebCore/dom/CharacterData.cpp:196: error: undefined reference to 'WebCore::MutationObserverInterestGroup::enqueueMutationRecord(WTF::PassRefPtr<WebCore::MutationRecord>)'
../../Source/WebCore/dom/MutationObserverInterestGroup.h:62: error: undefined reference to 'WebCore::MutationObserverInterestGroup::createIfNeeded(WebCore::Node*, WebCore::WebKitMutationObserver::MutationType, WTF::AtomicString const&, unsigned char)'
../../Source/WebCore/dom/ChildListMutationScope.h:64: error: undefined reference to 'WebCore::ChildListMutationScope::MutationAccumulationRouter::instance()'
../../Source/WebCore/dom/ChildListMutationScope.h:64: error: undefined reference to 'WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded(WebCore::Node*, WebCore::Node*)'
../../Source/WebCore/dom/ChildListMutationScope.h:70: error: undefined reference to 'WebCore::ChildListMutationScope::MutationAccumulationRouter::instance()'
../../Source/WebCore/dom/ChildListMutationScope.h:70: error: undefined reference to 'WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild(WebCore::Node*, WebCore::Node*)'
DerivedSources/WebCore/JSWebKitMutationObserver.cpp:81: error: undefined reference to 'WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver(JSC::ExecState*)'
DerivedSources/WebCore/JSWebKitMutationObserver.cpp:176: error: undefined reference to 'WebCore::JSWebKitMutationObserver::observe(JSC::ExecState*)'
DerivedSources/WebCore/JSWebKitMutationObserver.cpp:187: error: undefined reference to 'WebCore::WebKitMutationObserver::disconnect()'
collect2: ld returned 1 exit status
Comment 19 Philippe Normand 2012-02-14 00:24:34 PST
(In reply to comment #15)
> (In reply to comment #1)
> > I disabled it for GTK in r107504. Please next time before enabling a feature on all ports make sure it builds there or watch for the bots fallout.
> 
> Sorry for the breakage, my patch was passing on EWS, which I thought would be sufficient for GTK.  For future reference, is there some difference between GTK EWS and the build bot?

Not really. Since build-webkit locally installs most of the build dependencies before compiling WebKit it should be fine.

Sometimes though, bots require a clean build after some Makefile(s) update(s). I don't know what happens with that patch, it broke the build again even though the EWS was green.... :(
Comment 20 Philippe Normand 2012-02-14 00:32:18 PST
(In reply to comment #19)
> (In reply to comment #15)
> > (In reply to comment #1)
> > > I disabled it for GTK in r107504. Please next time before enabling a feature on all ports make sure it builds there or watch for the bots fallout.
> > 
> > Sorry for the breakage, my patch was passing on EWS, which I thought would be sufficient for GTK.  For future reference, is there some difference between GTK EWS and the build bot?
> 
> Not really. Since build-webkit locally installs most of the build dependencies before compiling WebKit it should be fine.
> 
> Sometimes though, bots require a clean build after some Makefile(s) update(s). I don't know what happens with that patch, it broke the build again even though the EWS was green.... :(

A clean build is needed. 64-bit bots should be fine now. Gustavo, 32-bit clean-build-request :P