WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
158623
REGRESSION(
r201928
?) API test WTF.StringOperators failing
https://bugs.webkit.org/show_bug.cgi?id=158623
Summary
REGRESSION(r201928?) API test WTF.StringOperators failing
Ryan Haddad
Reported
2016-06-10 10:46:08 PDT
API test WTF.StringOperators failing <
https://build.webkit.org/builders/Apple%20El%20Capitan%20Release%20WK2%20(Tests)/builds/6735/steps/run-api-tests/logs/stdio
> FAIL WTF.StringOperators /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:52 Value of: wtfStringCopyCount Actual: 0 Expected: 2 string + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:53 Value of: wtfStringCopyCount Actual: 0 Expected: 2 string + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:54 Value of: wtfStringCopyCount Actual: 0 Expected: 2 atomicString + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:55 Value of: wtfStringCopyCount Actual: 0 Expected: 2 atomicString + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:57 Value of: wtfStringCopyCount Actual: 0 Expected: 1 "C string" + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:58 Value of: wtfStringCopyCount Actual: 0 Expected: 1 string + "C string" /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:59 Value of: wtfStringCopyCount Actual: 0 Expected: 1 "C string" + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:60 Value of: wtfStringCopyCount Actual: 0 Expected: 1 atomicString + "C string" /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:62 Value of: wtfStringCopyCount Actual: 0 Expected: 1 literal + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:63 Value of: wtfStringCopyCount Actual: 0 Expected: 1 string + literal /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:64 Value of: wtfStringCopyCount Actual: 0 Expected: 1 literal + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:65 Value of: wtfStringCopyCount Actual: 0 Expected: 1 atomicString + literal /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:67 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + string + "C string" + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:68 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + (string + "C string" + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:69 Value of: wtfStringCopyCount Actual: 0 Expected: 2 ("C string" + string) + ("C string" + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:70 Value of: wtfStringCopyCount Actual: 0 Expected: 2 string + "C string" + string + "C string" /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:71 Value of: wtfStringCopyCount Actual: 0 Expected: 2 string + ("C string" + string + "C string") /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:72 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (string + "C string") + (string + "C string") /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:74 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + string + literal + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:75 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + (string + literal + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:76 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (literal + string) + (literal + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:77 Value of: wtfStringCopyCount Actual: 0 Expected: 2 string + literal + string + literal /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:78 Value of: wtfStringCopyCount Actual: 0 Expected: 2 string + (literal + string + literal) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:79 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (string + literal) + (string + literal) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:81 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + string + "C string" + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:82 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + (string + "C string" + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:83 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (literal + string) + ("C string" + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:84 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + string + literal + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:85 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + (string + literal + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:86 Value of: wtfStringCopyCount Actual: 0 Expected: 2 ("C string" + string) + (literal + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:88 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + atomicString + "C string" + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:89 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + (atomicString + "C string" + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:90 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (literal + atomicString) + ("C string" + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:91 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + atomicString + literal + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:92 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + (atomicString + literal + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:93 Value of: wtfStringCopyCount Actual: 0 Expected: 2 ("C string" + atomicString) + (literal + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:95 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + atomicString + "C string" + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:96 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + (atomicString + "C string" + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:97 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (literal + atomicString) + ("C string" + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:98 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + atomicString + literal + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:99 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + (atomicString + literal + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:100 Value of: wtfStringCopyCount Actual: 0 Expected: 2 ("C string" + atomicString) + (literal + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:102 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + string + "C string" + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:103 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + (string + "C string" + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:104 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (literal + string) + ("C string" + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:105 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + string + literal + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:106 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + (string + literal + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:107 Value of: wtfStringCopyCount Actual: 0 Expected: 2 ("C string" + string) + (literal + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:109 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + atomicString + "C string" + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:110 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + (atomicString + "C string" + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:111 Value of: wtfStringCopyCount Actual: 0 Expected: 2 ("C string" + atomicString) + ("C string" + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:112 Value of: wtfStringCopyCount Actual: 0 Expected: 2 atomicString + "C string" + atomicString + "C string" /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:113 Value of: wtfStringCopyCount Actual: 0 Expected: 2 atomicString + ("C string" + atomicString + "C string") /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:114 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (atomicString + "C string") + (atomicString + "C string") /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:116 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + atomicString + literal + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:117 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + (atomicString + literal + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:118 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (literal + atomicString) + (literal + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:119 Value of: wtfStringCopyCount Actual: 0 Expected: 2 atomicString + literal + atomicString + literal /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:120 Value of: wtfStringCopyCount Actual: 0 Expected: 2 atomicString + (literal + atomicString + literal) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:121 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (atomicString + literal) + (atomicString + literal) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:123 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + string + "C string" + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:124 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + (string + "C string" + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:125 Value of: wtfStringCopyCount Actual: 0 Expected: 2 ("C string" + string) + ("C string" + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:126 Value of: wtfStringCopyCount Actual: 0 Expected: 2 string + "C string" + atomicString + "C string" /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:127 Value of: wtfStringCopyCount Actual: 0 Expected: 2 string + ("C string" + atomicString + "C string") /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:128 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (string + "C string") + (atomicString + "C string") /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:130 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + string + literal + atomicString /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:131 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + (string + literal + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:132 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (literal + string) + (literal + atomicString) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:133 Value of: wtfStringCopyCount Actual: 0 Expected: 2 string + literal + atomicString + literal /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:134 Value of: wtfStringCopyCount Actual: 0 Expected: 2 string + (literal + atomicString + literal) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:135 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (string + literal) + (atomicString + literal) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:137 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + atomicString + "C string" + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:138 Value of: wtfStringCopyCount Actual: 0 Expected: 2 "C string" + (atomicString + "C string" + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:139 Value of: wtfStringCopyCount Actual: 0 Expected: 2 ("C string" + atomicString) + ("C string" + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:140 Value of: wtfStringCopyCount Actual: 0 Expected: 2 atomicString + "C string" + string + "C string" /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:141 Value of: wtfStringCopyCount Actual: 0 Expected: 2 atomicString + ("C string" + string + "C string") /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:142 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (atomicString + "C string") + (string + "C string") /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:144 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + atomicString + literal + string /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:145 Value of: wtfStringCopyCount Actual: 0 Expected: 2 literal + (atomicString + literal + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:146 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (literal + atomicString) + (literal + string) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:147 Value of: wtfStringCopyCount Actual: 0 Expected: 2 atomicString + literal + string + literal /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:148 Value of: wtfStringCopyCount Actual: 0 Expected: 2 atomicString + (literal + string + literal) /Volumes/Data/slave/elcapitan-release/build/Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp:149 Value of: wtfStringCopyCount Actual: 0 Expected: 2 (atomicString + literal) + (string + literal)
Attachments
Add attachment
proposed patch, testcase, etc.
Ryan Haddad
Comment 1
2016-06-10 10:48:58 PDT
Seems to have started with <
http://trac.webkit.org/changeset/201928
>
Brady Eidson
Comment 2
2016-06-10 10:54:21 PDT
... huh? How did that change cause this one?
Ryan Haddad
Comment 3
2016-06-10 10:55:29 PDT
(In reply to
comment #2
)
> ... huh? > > How did that change cause this one?
That isn't really clear to me either.. No failure on
r201927
https://build.webkit.org/builders/Apple%20iOS%209%20Simulator%20Release%20WK2%20%28Tests%29/builds/6438
Failure on
r201928
https://build.webkit.org/builders/Apple%20iOS%209%20Simulator%20Release%20WK2%20%28Tests%29/builds/6439
Brady Eidson
Comment 4
2016-06-10 11:04:10 PDT
The weirdness that is "WTF_STRINGTYPEADAPTER_COPIED_WTF_STRING" is... weird. This has something to do with the fact that it's not defined correctly when StringOperators.cpp is compiled. It's bizarre that plenty of other tests include <wtf/text/WTFString.h> but only this new test triggered this issue...?
Brady Eidson
Comment 5
2016-06-10 11:06:54 PDT
It has nothing to do with WTF_CrossThreadTask being *run... It happens even if WTF_CrossThreadTask is *built* and includes WTFString.h W. T. F.
Brady Eidson
Comment 6
2016-06-10 11:38:03 PDT
WTF_STRINGTYPEADAPTER_COPIED_WTF_STRING is an abomination. This was a bizarre linker error. Apparently only *one file* in TestWebKitAPI is allowed to use string concatenation (which includes makeString, which my new test was using) If any other file tries to use it, it will break WTF.StringOperators.
Brady Eidson
Comment 7
2016-06-10 11:38:58 PDT
(Added in
http://trac.webkit.org/changeset/90813
)
Brady Eidson
Comment 8
2016-06-10 11:41:59 PDT
Fixed in
http://trac.webkit.org/changeset/201932
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