Summary: | Webkit on SPARC Solaris has wrong endian | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Tor Arne Vestbø <vestbo> | ||||
Component: | Tools / Tests | Assignee: | Ademar Reis <ademar> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | ademar, bugs-webkit, diegohcg, hausmann, kent.hansen, kling, nils.roscher-nielsen, pierre.rossi, tonikitoo, webkit.review.bot | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Other | ||||||
OS: | Other | ||||||
Attachments: |
|
Description
Tor Arne Vestbø
2009-09-18 07:32:22 PDT
Here is a stack trace from the crash: #0 0xfe8de3f8 in WTF::HashSet<WebCore::StringImpl*, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*> >::add<WebCore::UCharBuffer, WebCore::UCharBufferTranslator> () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #1 0xfe247bc4 in WebCore::AtomicString::add () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #2 0xfedd914c in WebCore::CSSParserString::operator WebCore::AtomicString () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #3 0xfe695604 in cssyyparse () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #4 0xfdfd6d8c in WebCore::CSSParser::parseSheet () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #5 0xfe027050 in WebCore::CSSStyleSheet::parseString () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #6 0xfdffd4e4 in WebCore::parseUASheet () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #7 0xfdffd50c in WebCore::parseUASheet () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #8 0xfe025f90 in WebCore::loadSimpleDefaultStyle () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #9 0xfe026228 in WebCore::CSSStyleSelector::CSSStyleSelector () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #10 0xfe03dc58 in WebCore::Document::attach () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #11 0xfe22c158 in WebCore::Frame::setDocument () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQt---Type <return> to continue, or q <return> to quit--- WebKit.so.4 #12 0xfe1b8fcc in WebCore::FrameLoader::begin () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #13 0xfe1c8390 in WebCore::FrameLoader::init () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #14 0xfe39893c in QWebFramePrivate::init () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #15 0xfe39b0d0 in QWebFrame::QWebFrame () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #16 0xfe39f4d0 in QWebPagePrivate::createMainFrame () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #17 0xfe39f5b4 in QWebPage::mainFrame () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #18 0xfe39f5e4 in QWebPage::setViewportSize () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #19 0xfe39f6f4 in QWebPage::setView () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #20 0xfe39f778 in QWebPage::QWebPage () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #21 0xfe3a3cb0 in QWebView::page () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #22 0xfe3a3cd8 in QWebView::load () from /export/disc2/workspaces/branch_3_9/workspace/ExternLibs/Qt4/x11-src/qt-all-commercial-src-4.5.3/lib//libQtWebKit.so.4 #23 0x00013970 in MainWindow::MainWindow () #24 0x00012e74 in main () (gdb) (gdb) In this bug the OS should be Other, not Mac OS This is not Qt-specific. Anyways, I think it might be fixed already, since trunk now has more cases for detecting SPARC (in particular, 32-bit) than it did in the version shipped with Qt 4.5. It's possible that he was building on 32-bit SPARC, in which case WTF_PLATFORM_BIG_ENDIAN would not be correctly defined with that version. Nils, could you perhaps try with a more recent WebKit (the one in 4.6 seems to have the proper defines too)? Assigning to Niels, since he has a bugzilla account. Niels, can you quickly verify this on your Solaris box with at least Qt 4.6? The original bug report says Qt 4.5 was affected. Thanks! (In reply to comment #4) > Niels, can you quickly verify this on your Solaris box with at least Qt 4.6? The original bug report says Qt 4.5 was affected. Any updates on this? Thanks! We just saw this crash with qt-4.7.3 on Solaris 8/sparc built with gcc. It seems to be a bus error which can be fixed by fixing the // FIXME comments about going 4 bytes at a time in src/3rdparty/webkit/WebCore/platform/text/AtomicString.cpp and src/3rdparty/webkit/WebCore/platform/text/StringHash.h We also built webkitgtk-1.3.10 on Solaris 8, which appears to be based on a newer version of webkit than that shipped with qt-4.7, and did not see this problem, so it is probably fixed in later qtwebkit versions also. We had a fix for a similar problem a while ago (see bug 57256), but I have the impression that there are still a few missing bugs. I don't have a sparc machine to test... Are you able to build a recent webkit to test this? (such as our next release: qtwebkit-2.2, see http://trac.webkit.org/wiki/QtWebKitRelease22) Anyway, cooking a patch to include a couple of missing checks. Will upload it in a second. Created attachment 95908 [details]
patch
Comment on attachment 95908 [details]
patch
LGTM.
Comment on attachment 95908 [details] patch Clearing flags on attachment: 95908 Committed r88355: <http://trac.webkit.org/changeset/88355> All reviewed patches have been landed. Closing bug. |