RESOLVED FIXED 108612
[WK2][Win] MessageID.h related changes broke the build
https://bugs.webkit.org/show_bug.cgi?id=108612
Summary [WK2][Win] MessageID.h related changes broke the build
Zoltan Arvai
Reported 2013-02-01 04:07:53 PST
In range of r141459 and r141528 there were several changes in CoreIPC that broke Qt windows build. Probably its related to r141465, r141472, r141528 and 141538. http://build.webkit.org/builders/Qt%20Windows%2032-bit%20Release/builds/61228/steps/compile-webkit/logs/stdio C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(99) : error C2039: 'unregisterAndCloseHandle' : is not a member of 'WTF::RefPtr<T>' with [ T=WorkQueue ] C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(102) : error C2039: 'unregisterAndCloseHandle' : is not a member of 'WTF::RefPtr<T>' with [ T=WorkQueue ] C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(171) : error C2065: 'MessageID' : undeclared identifier C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(171) : error C2070: ''unknown-type'': illegal sizeof operand C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(174) : error C3861: 'MessageID': identifier not found C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(263) : error C2039: 'registerHandle' : is not a member of 'WTF::RefPtr<T>' with [ T=WorkQueue ] C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(264) : error C2039: 'registerHandle' : is not a member of 'WTF::RefPtr<T>' with [ T=WorkQueue ] C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(267) : error C2039: 'dispatch' : is not a member of 'WTF::RefPtr<T>' with [ T=WorkQueue ] C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(280) : error C2065: 'MessageID' : undeclared identifier C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(280) : error C2146: syntax error : missing ')' before identifier 'messageID' C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(280) : error C2761: 'bool CoreIPC::Connection::sendOutgoingMessage(WTF::PassOwnPtr<T>)' : member function redeclaration not allowed with [ T=CoreIPC::MessageEncoder ] C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(280) : error C2059: syntax error : ')' C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(281) : error C2143: syntax error : missing ';' before '{' C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\Source\WebKit2\Platform\CoreIPC\win\ConnectionWin.cpp(281) : error C2447: '{' : missing function header (old-style formal list?)
Attachments
first attempt to fix (2.97 KB, patch)
2013-02-01 04:12 PST, Zoltan Arvai
no flags
Prospective patch for WorkQueueWin.cpp (1.87 KB, patch)
2013-02-01 04:47 PST, Simon Hausmann
no flags
patch for landing (5.90 KB, patch)
2013-02-01 06:30 PST, Zoltan Arvai
no flags
patch for landing (5.90 KB, patch)
2013-02-01 07:19 PST, Zoltan Arvai
no flags
patch for landing (5.91 KB, patch)
2013-02-01 07:27 PST, Zoltan Arvai
andersca: review-
patch (7.29 KB, patch)
2013-02-05 09:54 PST, Zoltan Arvai
andersca: review-
corrected patch (7.28 KB, patch)
2013-02-05 11:41 PST, Zoltan Arvai
no flags
Zoltan Arvai
Comment 1 2013-02-01 04:12:22 PST
Created attachment 186005 [details] first attempt to fix Trying to fix the build, more modifications needed as i see.
Zoltan Arvai
Comment 2 2013-02-01 04:17:14 PST
With the patch I got some other error messages: C:\WebKitBuildSlave\proba\WebKit\Source\WebKit2\Platform\win\WorkQueueWin.cpp(147) : error C2065: 'm_isValidMutex' : undeclared identifier C:\WebKitBuildSlave\proba\WebKit\Source\WebKit2\Platform\win\WorkQueueWin.cpp(148) : error C2065: 'm_isValid' : undeclared identifier let's see....
Simon Hausmann
Comment 3 2013-02-01 04:41:58 PST
Comment on attachment 186005 [details] first attempt to fix View in context: https://bugs.webkit.org/attachment.cgi?id=186005&action=review > Source/WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp:172 > OwnPtr<MessageDecoder> decoder = MessageDecoder::create(DataReference(m_readBuffer.data(), realBufferSize)); I think you can just get rid of realBufferSize and use m_readBuffer.size() directly here. Without the ASSERT there I guess the comment doesn't add any value neither?
Simon Hausmann
Comment 4 2013-02-01 04:47:39 PST
Created attachment 186011 [details] Prospective patch for WorkQueueWin.cpp (In reply to comment #2) > With the patch I got some other error messages: > > C:\WebKitBuildSlave\proba\WebKit\Source\WebKit2\Platform\win\WorkQueueWin.cpp(147) : error C2065: 'm_isValidMutex' : undeclared identifier > C:\WebKitBuildSlave\proba\WebKit\Source\WebKit2\Platform\win\WorkQueueWin.cpp(148) : error C2065: 'm_isValid' : undeclared identifier > > let's see.... The attached patch should fix that part, I think.
Zoltan Arvai
Comment 5 2013-02-01 06:12:13 PST
Build is seems fine with MSVC. I'll create the aggregated patch for buildfix soon :)
Zoltan Arvai
Comment 6 2013-02-01 06:30:38 PST
Created attachment 186031 [details] patch for landing Aggregated patch, builds with MSVC.
Simon Hausmann
Comment 7 2013-02-01 07:14:18 PST
Comment on attachment 186031 [details] patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=186031&action=review > Source/WebKit2/ChangeLog:2 > + [Qt][Win] Fix build after MessageID.h related changes. Newline missing before this line?
Zoltan Arvai
Comment 8 2013-02-01 07:19:45 PST
Created attachment 186039 [details] patch for landing corrected patch, sorry
Simon Hausmann
Comment 9 2013-02-01 07:21:23 PST
This patch doesn't touch any Qt specific files, so replacing [Qt] in the bug title with [WK2] :)
Zoltan Arvai
Comment 10 2013-02-01 07:27:38 PST
Created attachment 186043 [details] patch for landing And sorry again. Replacing Qt with WK2 in changelog, too. I see Qt everywhere :)
Anders Carlsson
Comment 11 2013-02-01 09:53:03 PST
Comment on attachment 186043 [details] patch for landing I think it's better if WorkItemWin just used a RefPtr instead of manually reffing and dereffing.
Zoltan Arvai
Comment 12 2013-02-04 07:33:30 PST
Is that possible, that the current WorkQueueWin.cpp implementation has the required RefPtr functionality and doing ref - deref was not necessary in the last patch? http://trac.webkit.org/browser/trunk/Source/WebKit2/Platform/win/WorkQueueWin.cpp
Anders Carlsson
Comment 13 2013-02-04 10:12:24 PST
(In reply to comment #12) > Is that possible, that the current WorkQueueWin.cpp implementation has the required RefPtr functionality and doing ref - deref was not necessary in the last patch? > > http://trac.webkit.org/browser/trunk/Source/WebKit2/Platform/win/WorkQueueWin.cpp No, that is not possible: class WorkItemWin : public ThreadSafeRefCounted<WorkItemWin> { public: static PassRefPtr<WorkItemWin> create(const Function<void()>&, WorkQueue*); virtual ~WorkItemWin(); Function<void()>& function() { return m_function; } WorkQueue* queue() const { return m_queue; } protected: WorkItemWin(const Function<void()>&, WorkQueue*); private: Function<void()> m_function; WorkQueue* m_queue; }; m_queue needs to be a RefPtr.
Zoltan Arvai
Comment 14 2013-02-05 09:54:20 PST
Created attachment 186649 [details] patch Build fix for QtWin using RefPtr. Including fix for changes in r141619 (based on r141632 Qt fix).
Anders Carlsson
Comment 15 2013-02-05 10:43:59 PST
Comment on attachment 186649 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=186649&action=review > Source/WebKit2/Platform/WorkQueue.h:106 > + PassRefPtr<WorkQueue> queue() const { return m_queue; } This should just return a raw pointer. Patch looks good otherwise!
Zoltan Arvai
Comment 16 2013-02-05 11:41:17 PST
Created attachment 186667 [details] corrected patch Correcting raw pointer return. Thanks.
Build Bot
Comment 17 2013-02-05 15:35:11 PST
Comment on attachment 186667 [details] corrected patch Attachment 186667 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/16378790
Zoltan Arvai
Comment 18 2013-02-06 02:20:08 PST
Is the Win EWS broken? "Updating working directory Failed to run "['Tools/Scripts/update-webkit']" exit_code: 1"
Csaba Osztrogonác
Comment 19 2013-02-06 02:25:04 PST
(In reply to comment #18) > Is the Win EWS broken? > "Updating working directory > Failed to run "['Tools/Scripts/update-webkit']" exit_code: 1" Who cares the Apple Win EWS here? Your patch touches only WK2 files, but WK2 isn't supported by Apple Windows port. This change can affect only Qt-WK2 Windows port.
WebKit Review Bot
Comment 20 2013-02-06 08:22:34 PST
Comment on attachment 186667 [details] corrected patch Clearing flags on attachment: 186667 Committed r142002: <http://trac.webkit.org/changeset/142002>
WebKit Review Bot
Comment 21 2013-02-06 08:22:40 PST
All reviewed patches have been landed. Closing bug.
Gyuyoung Kim
Comment 22 2013-02-07 23:48:29 PST
*** Bug 108985 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.