WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
37253
[Qt]
r57240
broke Qt build (gcc bug)
https://bugs.webkit.org/show_bug.cgi?id=37253
Summary
[Qt]r57240 broke Qt build (gcc bug)
Csaba Osztrogonác
Reported
2010-04-08 00:57:39 PDT
After
http://trac.webkit.org/changeset/57240
Qt build broke, exactly gcc stucked in an infinite loop (with 100% CPU load) when building WebCore/platform/graphics/FontFamily.cpp original command: g++ -c -m32 -pipe -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -ffunction-sections -fdata-sections -O2 -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -fPIC -DBUILDING_QT__=1 -DWTF_USE_ACCELERATED_COMPOSITING -DNDEBUG -DQT_MAKEDLL -DHAVE_STDINT_H -DBUILD_WEBKIT -DBUILDING_QT__ -DBUILDING_JavaScriptCore -DBUILDING_WTF -DENABLE_VIDEO=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_DATABASE=1 -DENABLE_EVENTSOURCE=1 -DENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DOM_STORAGE=1 -DENABLE_ICONDATABASE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_SQLITE=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_FILTERS=1 -DENABLE_XPATH=1 -DENABLE_WCSS=0 -DENABLE_WML=0 -DENABLE_SHARED_WORKERS=1 -DENABLE_WORKERS=1 -DENABLE_XHTMLMP=0 -DENABLE_DATAGRID=0 -DENABLE_RUBY=1 -DENABLE_SANDBOX=1 -DENABLE_PROGRESS_TAG=1 -DENABLE_BLOB_SLICE=0 -DENABLE_3D_RENDERING=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_ANIMATION=1 -DENABLE_SVG_AS_IMAGE=1 -DENABLE_SVG_USE=1 -DENABLE_DATALIST=1 -DENABLE_TILED_BACKING_STORE=1 -DENABLE_NETSCAPE_PLUGIN_API=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_XSLT=1 -DENABLE_TOUCH_EVENTS=1 -DXP_UNIX -DQT_NO_DEBUG -DQT_XMLPATTERNS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.6.0/mkspecs/linux-g++-32 -I../../../WebCore -I/usr/local/Trolltech/Qt-4.6.0/include/QtCore -I/usr/local/Trolltech/Qt-4.6.0/include/QtNetwork -I/usr/local/Trolltech/Qt-4.6.0/include/QtGui -I/usr/local/Trolltech/Qt-4.6.0/include/QtXmlPatterns -I/usr/local/Trolltech/Qt-4.6.0/include -I../../../WebCore/bridge/qt -I../../../WebCore/page/qt -I../../../WebCore/platform/graphics/qt -I../../../WebCore/platform/network/qt -I../../../WebCore/platform/qt -I../../../WebKit/qt/Api -I../../../WebKit/qt/WebCoreSupport -I../../../WebCore -I../../../WebCore/accessibility -I../../../WebCore/bindings/js -I../../../WebCore/bridge -I../../../WebCore/bridge/c -I../../../WebCore/bridge/jsc -I../../../WebCore/css -I../../../WebCore/dom -I../../../WebCore/dom/default -I../../../WebCore/editing -I../../../WebCore/history -I../../../WebCore/html -I../../../WebCore/html/canvas -I../../../WebCore/inspector -I../../../WebCore/loader -I../../../WebCore/loader/appcache -I../../../WebCore/loader/archive -I../../../WebCore/loader/icon -I../../../WebCore/notifications -I../../../WebCore/page -I../../../WebCore/page/animation -I../../../WebCore/platform -I../../../WebCore/platform/animation -I../../../WebCore/platform/graphics -I../../../WebCore/platform/graphics/filters -I../../../WebCore/platform/graphics/transforms -I../../../WebCore/platform/image-decoders -I../../../WebCore/platform/mock -I../../../WebCore/platform/network -I../../../WebCore/platform/sql -I../../../WebCore/platform/text -I../../../WebCore/plugins -I../../../WebCore/rendering -I../../../WebCore/rendering/style -I../../../WebCore/storage -I../../../WebCore/svg -I../../../WebCore/svg/animation -I../../../WebCore/svg/graphics -I../../../WebCore/svg/graphics/filters -I../../../WebCore/websockets -I../../../WebCore/wml -I../../../WebCore/workers -I../../../WebCore/xml -Igenerated -I../../../JavaScriptCore -I../../../../build -I../../../JavaScriptCore/assembler -I../../../JavaScriptCore/bytecode -I../../../JavaScriptCore/bytecompiler -I../../../JavaScriptCore/debugger -I../../../JavaScriptCore/interpreter -I../../../JavaScriptCore/jit -I../../../JavaScriptCore/parser -I../../../JavaScriptCore/pcre -I../../../JavaScriptCore/profiler -I../../../JavaScriptCore/runtime -I../../../JavaScriptCore/wtf -I../../../JavaScriptCore/wtf/symbian -I../../../JavaScriptCore/wtf/unicode -I../../../JavaScriptCore/yarr -I../../../JavaScriptCore/API -I../../../JavaScriptCore/ForwardingHeaders -I../JavaScriptCore/generated -I../include/QtWebKit -I/usr/local/Trolltech/Qt-4.6.0/src/3rdparty/sqlite/ -I/usr/local/Trolltech/Qt-4.6.0/include/phonon -I/usr/X11R6/include -I. -I../../../WebCore -I. -o obj/release/FontFamily.o ../../../WebCore/platform/graphics/FontFamily.cpp I tried to preprocess and compile in two steps manually, it works: preprocess: g++ -E -m32 -pipe -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -ffunction-sections -fdata-sections -O2 -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -fPIC -DBUILDING_QT__=1 -DWTF_USE_ACCELERATED_COMPOSITING -DNDEBUG -DQT_MAKEDLL -DHAVE_STDINT_H -DBUILD_WEBKIT -DBUILDING_QT__ -DBUILDING_JavaScriptCore -DBUILDING_WTF -DENABLE_VIDEO=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_DATABASE=1 -DENABLE_EVENTSOURCE=1 -DENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DOM_STORAGE=1 -DENABLE_ICONDATABASE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_SQLITE=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_FILTERS=1 -DENABLE_XPATH=1 -DENABLE_WCSS=0 -DENABLE_WML=0 -DENABLE_SHARED_WORKERS=1 -DENABLE_WORKERS=1 -DENABLE_XHTMLMP=0 -DENABLE_DATAGRID=0 -DENABLE_RUBY=1 -DENABLE_SANDBOX=1 -DENABLE_PROGRESS_TAG=1 -DENABLE_BLOB_SLICE=0 -DENABLE_3D_RENDERING=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_ANIMATION=1 -DENABLE_SVG_AS_IMAGE=1 -DENABLE_SVG_USE=1 -DENABLE_DATALIST=1 -DENABLE_TILED_BACKING_STORE=1 -DENABLE_NETSCAPE_PLUGIN_API=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_XSLT=1 -DENABLE_TOUCH_EVENTS=1 -DXP_UNIX -DQT_NO_DEBUG -DQT_XMLPATTERNS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.6.0/mkspecs/linux-g++-32 -I../../../WebCore -I/usr/local/Trolltech/Qt-4.6.0/include/QtCore -I/usr/local/Trolltech/Qt-4.6.0/include/QtNetwork -I/usr/local/Trolltech/Qt-4.6.0/include/QtGui -I/usr/local/Trolltech/Qt-4.6.0/include/QtXmlPatterns -I/usr/local/Trolltech/Qt-4.6.0/include -I../../../WebCore/bridge/qt -I../../../WebCore/page/qt -I../../../WebCore/platform/graphics/qt -I../../../WebCore/platform/network/qt -I../../../WebCore/platform/qt -I../../../WebKit/qt/Api -I../../../WebKit/qt/WebCoreSupport -I../../../WebCore -I../../../WebCore/accessibility -I../../../WebCore/bindings/js -I../../../WebCore/bridge -I../../../WebCore/bridge/c -I../../../WebCore/bridge/jsc -I../../../WebCore/css -I../../../WebCore/dom -I../../../WebCore/dom/default -I../../../WebCore/editing -I../../../WebCore/history -I../../../WebCore/html -I../../../WebCore/html/canvas -I../../../WebCore/inspector -I../../../WebCore/loader -I../../../WebCore/loader/appcache -I../../../WebCore/loader/archive -I../../../WebCore/loader/icon -I../../../WebCore/notifications -I../../../WebCore/page -I../../../WebCore/page/animation -I../../../WebCore/platform -I../../../WebCore/platform/animation -I../../../WebCore/platform/graphics -I../../../WebCore/platform/graphics/filters -I../../../WebCore/platform/graphics/transforms -I../../../WebCore/platform/image-decoders -I../../../WebCore/platform/mock -I../../../WebCore/platform/network -I../../../WebCore/platform/sql -I../../../WebCore/platform/text -I../../../WebCore/plugins -I../../../WebCore/rendering -I../../../WebCore/rendering/style -I../../../WebCore/storage -I../../../WebCore/svg -I../../../WebCore/svg/animation -I../../../WebCore/svg/graphics -I../../../WebCore/svg/graphics/filters -I../../../WebCore/websockets -I../../../WebCore/wml -I../../../WebCore/workers -I../../../WebCore/xml -Igenerated -I../../../JavaScriptCore -I../../../../build -I../../../JavaScriptCore/assembler -I../../../JavaScriptCore/bytecode -I../../../JavaScriptCore/bytecompiler -I../../../JavaScriptCore/debugger -I../../../JavaScriptCore/interpreter -I../../../JavaScriptCore/jit -I../../../JavaScriptCore/parser -I../../../JavaScriptCore/pcre -I../../../JavaScriptCore/profiler -I../../../JavaScriptCore/runtime -I../../../JavaScriptCore/wtf -I../../../JavaScriptCore/wtf/symbian -I../../../JavaScriptCore/wtf/unicode -I../../../JavaScriptCore/yarr -I../../../JavaScriptCore/API -I../../../JavaScriptCore/ForwardingHeaders -I../JavaScriptCore/generated -I../include/QtWebKit -I/usr/local/Trolltech/Qt-4.6.0/src/3rdparty/sqlite/ -I/usr/local/Trolltech/Qt-4.6.0/include/phonon -I/usr/X11R6/include -I. -I../../../WebCore -I. -o obj/release/FontFamily.i ../../../WebCore/platform/graphics/FontFamily.cpp compile: g++ -c -o obj/release/FontFamily.o obj/release/FontFamily.i
Attachments
proposed workaround until fix
(1.68 KB, patch)
2010-04-08 01:11 PDT
,
Csaba Osztrogonác
no flags
Details
Formatted Diff
Diff
Remove the inline hack
(1.64 KB, patch)
2012-04-29 14:34 PDT
,
Adenilson Cavalcanti Silva
no flags
Details
Formatted Diff
Diff
Patch with guard for Qt && Arm
(1.41 KB, patch)
2012-05-02 13:56 PDT
,
Lauro Moura Maranhao Neto
no flags
Details
Formatted Diff
Diff
Remove hack
(1.96 KB, patch)
2013-09-06 18:35 PDT
,
Andreas Kling
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Csaba Osztrogonác
Comment 1
2010-04-08 01:11:30 PDT
Created
attachment 52848
[details]
proposed workaround until fix
Oliver Hunt
Comment 2
2010-04-08 01:13:43 PDT
Comment on
attachment 52848
[details]
proposed workaround until fix r=me
Csaba Osztrogonác
Comment 3
2010-04-08 01:23:34 PDT
Comment on
attachment 52848
[details]
proposed workaround until fix Workaround landed in
http://trac.webkit.org/changeset/57262
We shouldn't close this bug until find what the problem is. I forgot to mention, I use gcc (Debian 4.3.2-1.1) 4.3.2, which can be found in stable Debian (5.0.4 - Lenny)
Csaba Osztrogonác
Comment 4
2010-04-08 07:26:14 PDT
It works with gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1.
Benjamin Poulain
Comment 5
2010-04-29 03:32:23 PDT
Any chance to close the bug now? Or reduce the priority to P5 if it is only about understanding where the problem was.
Csaba Osztrogonác
Comment 6
2010-04-30 10:06:41 PDT
(In reply to
comment #5
)
> Any chance to close the bug now? > Or reduce the priority to P5 if it is only about understanding where the > problem was.
I don't think if we should close the bug, because it is a real bug, and we should use ALWAYS_INLINE macro carefully. But I agree, it isn't blocker and P1 priority bug after workaround landed, so I modified it to P3 and normal. I played with a little bit this bug again, I can reproduce it with preprocessed source, so I'm going to file a bug about it into gcc bugzilla.
Darin Adler
Comment 7
2010-06-29 15:20:59 PDT
If this is a GCC bug, then we should file a GCC bug report. I don't see any reason to keep a WebKit bug report open about this indefinitely.
Alexis Menard (darktears)
Comment 8
2011-05-03 12:20:57 PDT
GCC bug and seems outdated.
Adenilson Cavalcanti Silva
Comment 9
2012-04-29 14:34:00 PDT
Created
attachment 139406
[details]
Remove the inline hack Current gcc (tested with 4.6.1) and Qt5 doesn't need this macro workaround.
Alexis Menard (darktears)
Comment 10
2012-04-30 07:24:50 PDT
Comment on
attachment 139406
[details]
Remove the inline hack but what about Qt 4.8?
Csaba Osztrogonác
Comment 11
2012-05-02 01:16:52 PDT
Reopen, because CQ won't land patch from RESOLVED/WONTFIX bug. :) I tested it with Debian Squeeze (latest Debian stable), it works fine with its default 4.4.5 GCC. Ubuntu 10.04 LTS has 4.4.3, it should work too. (Additionally 12.04 LTS is out now.)
Csaba Osztrogonác
Comment 12
2012-05-02 01:19:22 PDT
Comment on
attachment 139406
[details]
Remove the inline hack Clearing flags on attachment: 139406 Committed
r115802
: <
http://trac.webkit.org/changeset/115802
>
Csaba Osztrogonác
Comment 13
2012-05-02 01:19:30 PDT
All reviewed patches have been landed. Closing bug.
Csaba Osztrogonác
Comment 14
2012-05-02 08:11:39 PDT
Reopen, because it broke the N9 build inside scratchbox with the following error: In file included from /home/lauro/webkit/webkit-deb/Source/WebCore/html/shadow/HTMLContentSelector.cpp:28: /home/lauro/webkit/webkit-deb/Source/WTF/wtf/RefPtr.h: In destructor 'WebCore::HTMLContentSelectionList::~HTMLContentSelectionList()': /home/lauro/webkit/webkit-deb/Source/WTF/wtf/RefPtr.h:56: sorry, unimplemented: inlining failed in call to 'WTF::RefPtr<T>::~RefPtr() [with T = WebCore::HTMLContentSelection]': recursive inlining /home/lauro/webkit/webkit-deb/Source/WebCore/html/shadow/HTMLContentSelector.h:47: sorry, unimplemented: called from here ... What if we add back an ifdef guard again for it: #if !(PLATFORM(QT) && CPU(ARM)) ? Any better idea?
Lauro Moura Maranhao Neto
Comment 15
2012-05-02 13:56:31 PDT
Created
attachment 139878
[details]
Patch with guard for Qt && Arm
Csaba Osztrogonác
Comment 16
2012-05-02 22:19:23 PDT
Comment on
attachment 139878
[details]
Patch with guard for Qt && Arm r=me
WebKit Review Bot
Comment 17
2012-05-02 23:10:04 PDT
Comment on
attachment 139878
[details]
Patch with guard for Qt && Arm Clearing flags on attachment: 139878 Committed
r115940
: <
http://trac.webkit.org/changeset/115940
>
WebKit Review Bot
Comment 18
2012-05-02 23:10:10 PDT
All reviewed patches have been landed. Closing bug.
Csaba Osztrogonác
Comment 19
2012-05-02 23:19:45 PDT
Reopen not to forget removing this workaround after updating GCC.
Darin Adler
Comment 20
2012-05-03 09:34:55 PDT
If this is a compiler issue, then it should really be an #if COMPILER, not an #if PLATFORM && CPU. Obviously we can live with the way it was landed, but it’s not quite right.
Simon Hausmann
Comment 21
2012-07-16 02:05:19 PDT
I wonder if this issue is still present with Harmattan PR 1.3? It also appears that this happens when building inside Scratchbox. What about builds outside of scratchbox box? Does the latest cross-compiling toolchain delivered with the Qt SDK suffer from the same bug?
Andreas Kling
Comment 22
2013-09-06 18:35:27 PDT
Created
attachment 210828
[details]
Remove hack I think it should be okay to remove this now.
Andreas Kling
Comment 23
2013-09-06 19:34:58 PDT
Comment on
attachment 210828
[details]
Remove hack Clearing flags on attachment: 210828 Committed
r155232
: <
http://trac.webkit.org/changeset/155232
>
Andreas Kling
Comment 24
2013-09-06 19:35:06 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug