Bug 98394 - [Qt] Add missing LLInt dependencies to the build system
Summary: [Qt] Add missing LLInt dependencies to the build system
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P1 Critical
Assignee: Csaba Osztrogonác
URL:
Keywords: Qt, QtTriaged
Depends on:
Blocks:
 
Reported: 2012-10-04 03:18 PDT by Csaba Osztrogonác
Modified: 2012-10-04 09:13 PDT (History)
8 users (show)

See Also:


Attachments
diff between WebKitBuild directories (19.57 KB, patch)
2012-10-04 05:52 PDT, Csaba Osztrogonác
no flags Details | Formatted Diff | Diff
Patch (2.94 KB, patch)
2012-10-04 07:38 PDT, Csaba Osztrogonác
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Csaba Osztrogonác 2012-10-04 03:18:56 PDT
After https://trac.webkit.org/changeset/130303 all JSC and layout tests
started to crash on all Qt bots. But r130303 is absolutely innocent,
because clean build solved this problem. It means there is a serious
bug somewhere in the QtWebKit buildsystem.

I'm going to find which dependency is missing from Qt buildsystem.
Comment 1 Csaba Osztrogonác 2012-10-04 05:52:53 PDT
Created attachment 167086 [details]
diff between WebKitBuild directories

---: incremenstal build of r130303 (r130302 was the previous build)
+++: clean build of r130303

It seems the generated LLIntAssembly.h should have been changed, but it wasn't.
And the rebuild of LowLevelInterpreter.o was missing too because this header.

--- a/WebKitBuild/Release/Source/JavaScriptCore/generated/LLIntAssembly.h
+++ b/WebKitBuild/Release/Source/JavaScriptCore/generated/LLIntAssembly.h
...
-// offlineasm input hash: 9134be5d6e04a2b6d309a0c3564ee9fa478c9ed1 7be3d2343468b50058636fff52142ba7726042d5 79a523b62f4f4dd76852f36156b2c84c5d0e6906
+// offlineasm input hash: 9134be5d6e04a2b6d309a0c3564ee9fa478c9ed1 37f5c76cd80a4929f40cf126468feb6eeb75d724 79a523b62f4f4dd76852f36156b2c84c5d0e6906
...

The second hash - generated from LLIntOffsetsExtractor - is different. But I don't know why, because LLIntOffsetsExtractor hasn't been changed at all.

offlineasm/asm.rb:
-------------------
...
inputHash =
    "// offlineasm input hash: " + parseHash(asmFile) +
    " " + Digest::SHA1.hexdigest(configurationList.map{|v| (v[0] + [v[1]]).join(' ')}.join(' ')) +
    " " + selfHash
...
Comment 2 Csaba Osztrogonác 2012-10-04 06:15:55 PDT
Hmmm ... maybe I saw something wrong ... LLIntOffsetsExtractor must have been changed. I'm going to check it again.
Comment 3 Csaba Osztrogonác 2012-10-04 06:22:27 PDT
Ah, I got it, I misinterpreted the diff. :)

LLIntOffsetsExtractor binary changed between r130302-r130303,
but it is same on incremental-r130303 and clean-r130303.

The problem is that the generated LLIntAssembly.h depends on the binary
LLIntOffsetsExtractor, but this dependency is missing from the build system.
It is my fault, fix is coming soon.
Comment 4 Csaba Osztrogonác 2012-10-04 06:27:47 PDT
The following line will do the fix in Source/JavaScriptCore/DerivedSources.pri:
+    llint.depends = LLIntOffsetsExtractor

But I just realized that there are more missing dependency for LLInt.
I'll check and add all of them in one patch.
Comment 5 Csaba Osztrogonác 2012-10-04 07:38:32 PDT
Created attachment 167098 [details]
Patch
Comment 6 Geoffrey Garen 2012-10-04 08:11:31 PDT
Comment on attachment 167098 [details]
Patch

r=me
Comment 7 WebKit Review Bot 2012-10-04 09:12:59 PDT
Comment on attachment 167098 [details]
Patch

Clearing flags on attachment: 167098

Committed r130399: <http://trac.webkit.org/changeset/130399>
Comment 8 WebKit Review Bot 2012-10-04 09:13:02 PDT
All reviewed patches have been landed.  Closing bug.