WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 151223
147935
[Win] Some JSC Flakiness, perhaps after switch to VS2015
https://bugs.webkit.org/show_bug.cgi?id=147935
Summary
[Win] Some JSC Flakiness, perhaps after switch to VS2015
Brent Fulgham
Reported
2015-08-12 10:10:00 PDT
I'm noticing the following sporadic failures in the jsscore-test suite: FAIL: script did not time out as expected. FAIL: script timeout callback was not called. FAIL: TerminatedExecutionException was not thrown. The failures occur in both Debug and Release builds.
Attachments
Add attachment
proposed patch, testcase, etc.
Brent Fulgham
Comment 1
2015-08-12 10:13:04 PDT
Full log: (view as text) perl ./Tools/Scripts/run-javascriptcore-tests --no-build --release in dir /home/buildbot/slave/win-release-tests/build (timeout 1200 secs) watching logfiles {} argv: ['perl', './Tools/Scripts/run-javascriptcore-tests', '--no-build', '--release'] environment: _NT_SYMBOL_PATH=SRV*
http://msdl.microsoft.com/download/symbols;SRV*c:\symbols*http://developer.apple.com/internet/safari/windows_symbols
!C:=C:\Windows\System32 ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\buildbot\AppData\Roaming COMMONPROGRAMFILES=C:\Program Files (x86)\Common Files COMPUTERNAME=BOT511 COMSPEC=C:\Windows\system32\cmd.exe CYGWIN=tty CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files CommonProgramW6432=C:\Program Files\Common Files DXSDK_DIR=C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\ FP_NO_HOST_CHECK=NO HOME=/home/buildbot HOMEDRIVE=C: HOMEPATH=\Users\buildbot HOSTNAME=bot511 INFOPATH=/usr/local/info:/usr/share/info:/usr/info LANG=en_US.UTF-8 LOCALAPPDATA=C:\Users\buildbot\AppData\Local LOGONSERVER=\\BOT511 NUMBER_OF_PROCESSORS=8 OLDPWD=/home/buildbot ORIGINAL_PATH=/cygdrive/c/Perl64/site/bin:/cygdrive/c/Perl64/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Common Files/Apple/Apple Application Support:/cygdrive/c/xampp/apache/bin:/cygdrive/c/Program Files (x86)/WinMerge OS=Windows_NT PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Perl64/site/bin:/cygdrive/c/Perl64/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Common Files/Apple/Apple Application Support:/cygdrive/c/xampp/apache/bin:/cygdrive/c/Program Files (x86)/WinMerge PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC PRINTER=Microsoft XPS Document Writer PROCESSOR_ARCHITECTURE=x86 PROCESSOR_ARCHITEW6432=AMD64 PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=2a07 PROFILEREAD=true PROGRAMFILES=C:\Program Files (x86) PROMPT=$P$G PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ PUBLIC=C:\Users\Public PWD=/home/buildbot/slave/win-release-tests/build ProgramData=C:\ProgramData ProgramFiles(x86)=C:\Program Files (x86) ProgramW6432=C:\Program Files SESSIONNAME=Console SHELL=/bin/bash SHLVL=1 SYSTEMDRIVE=C: SYSTEMROOT=C:\Windows TEMP=/tmp TERM=cygwin TMP=/tmp TZ=America/Los_Angeles USER=buildbot USERDOMAIN=BOT511 USERNAME=buildbot USERPROFILE=C:\Users\buildbot WEBKIT_LIBRARIES=C:\cygwin\home\buildbot\slave\win-release-tests\build\WebKitLibraries\win WEBKIT_OUTPUTDIR=C:\cygwin\home\buildbot\slave\win-release-tests\build\WebKitBuild WEBKIT_TESTFONTS=C:\cygwin\home\buildbot\slave\WebKitTestFonts WINDIR=C:\Windows _=/usr/bin/buildslave __COMPAT_LAYER=RunAsAdmin asl.log=Destination=file using PTY: False Starting 5 threads for CompareAndSwap test. Test should complete without hanging. started Thread 0 started Thread 1 started Thread 2 Waiting for 5 threads to join started Thread 3 finished Thread 2 finished Thread 1 finished Thread 0 finished Thread 3 started Thread 4 finished Thread 4 PASS: CompareAndSwap test completed without a hang PASS: returned private data when set by JSObjectSetPrivate(). PASS: returned null when accessing character pointer of a null String. PASS: returned empty when accessing character pointer of an empty String. PASS: returned 0 length for null String. PASS: returned 0 length for empty String. PASS: Set private property. PASS: Did not allow JSObjectSetPrivateProperty on a non-API object. PASS: Retrieved private property. PASS: JSObjectGetPrivateProperty return NULL. PASS: Cannot access private property through ordinary property lookup. PASS: Private property does not appear to have been collected. PASS: Set private property to NULL. PASS: Retrieved private property. PASS: Parsed null String as JSON correctly. PASS: Parsed valid JSON string. PASS: Correctly returned null for invalid JSON data. PASS: Correctly serialised with indent of 0. PASS: Correctly serialised with indent of 4. PASS: returned null when attempting to serialize unserializable value. PASS: returned null when attempting to serialize unserializable value. PASS: set exception on serialisation error PASS: globalStaticValue should be 3 and is. PASS: globalStaticFunction() should be 4 and is. PASS: this.globalStaticFunction() should be 4 and is. PASS: globalStaticFunction2(); should be 10 and is. PASS: globalStaticFunction2(); should be 20 and is. PASS: this.globalStaticFunction2(); should be 20 and is. PASS: iAmNotAStaticFunction(); should be 10 and is. PASS: iAmNotAStaticFunction(); should be 20 and is. PASS: typeof MyObject should be function and is. PASS: MyObject.cantFind should be undefined and is. PASS: MyObject.regularType should be 1 and is. PASS: MyObject.alwaysOne should be 1 and is. PASS: MyObject.cantDelete should be 1 and is. PASS: delete MyObject.throwOnDelete should be an exception and is. PASS: MyObject.cantSet should be undefined and is. PASS: MyObject.throwOnGet should be an exception and is. PASS: MyObject.throwOnSet = 5 should be an exception and is. PASS: MyObject('throwOnCall') should be an exception and is. PASS: new MyObject('throwOnConstruct') should be an exception and is. PASS: 'throwOnHasInstance' instanceof MyObject should be an exception and is. PASS: MyObject.nullGetForwardSet should be 1 and is. PASS: MyObject.myPropertyName was enumerated PASS: MyObject.regularType was enumerated PASS: typeof alwaysOneDescriptor should be object and is. PASS: alwaysOneDescriptor.value should be 1 and is. PASS: alwaysOneDescriptor.configurable should be true and is. PASS: alwaysOneDescriptor.enumerable should be false and is. PASS: typeof cantFindDescriptor should be object and is. PASS: cantFindDescriptor.value should be undefined and is. PASS: cantFindDescriptor.configurable should be true and is. PASS: cantFindDescriptor.enumerable should be false and is. PASS: getting property descriptor of throwOnGet threw exception PASS: typeof myPropertyNameDescriptor should be object and is. PASS: myPropertyNameDescriptor.value should be 1 and is. PASS: myPropertyNameDescriptor.configurable should be true and is. PASS: myPropertyNameDescriptor.enumerable should be false and is. PASS: getting property descriptor of hasPropertyLie threw exception PASS: Object.getOwnPropertyDescriptor(MyObject, "doesNotExist") should be undefined and is. PASS: delete MyObject.regularType should be true and is. PASS: MyObject.regularType should be undefined and is. PASS: MyObject(0) should be 1 and is. PASS: MyObject() should be undefined and is. PASS: typeof myObject should be object and is. PASS: MyObject ? 1 : 0 should be true and is. PASS: +MyObject should be 1 and is. PASS: (Object.prototype.toString.call(MyObject)) should be [object MyObject] and is. PASS: (MyObject.toString()) should be [object MyObject] and is. PASS: String(MyObject) should be MyObjectAsString and is. PASS: MyObject - 0 should be 1 and is. PASS: MyObject.valueOf() should be 1 and is. PASS: typeof MyConstructor should be object and is. PASS: typeof constructedObject should be object and is. PASS: constructedObject.value should be 1 and is. PASS: myObject instanceof MyObject should be true and is. PASS: (new Object()) instanceof MyObject should be false and is. PASS: new MyBadConstructor() threw: TypeError: Type error PASS: MyObject.nullGetSet should be 1 and is. PASS: MyObject.nullCall() threw: ReferenceError: Static function property defined with NULL callAsFunction callback. PASS: MyObject.hasPropertyLie threw: ReferenceError: hasProperty callback returned true for a property that doesn't exist. PASS: derived instanceof Derived should be true and is. PASS: derived instanceof Base should be true and is. PASS: derived.baseProtoDup() should be 2 and is. PASS: derived.baseProto() should be 1 and is. PASS: derived.baseDup should be 2 and is. PASS: derived.baseOnly should be 1 and is. PASS: derived.protoOnly() should be 2 and is. PASS: derived.protoDup should be 2 and is. PASS: derived.derivedOnly should be 2 and is. PASS: derived.baseHardNull() should be undefined and is. PASS: derived.baseDup = 0 should be 2 and is. PASS: derived.baseOnly = 0 should be 1 and is. PASS: derived.derivedOnly = 0 should be 2 and is. PASS: derived.protoDup = 0 should be 2 and is. PASS: derived2 instanceof Derived2 should be true and is. PASS: derived2 instanceof Derived should be true and is. PASS: derived2 instanceof Base should be true and is. PASS: derived2.baseProtoDup() should be 2 and is. PASS: derived2.baseProto() should be 1 and is. PASS: derived2.baseDup should be 2 and is. PASS: derived2.baseOnly should be 1 and is. PASS: derived2.protoOnly() should be 2 and is. PASS: derived2.protoDup should be 2 and is. PASS: derived2.derivedOnly should be 2 and is. PASS: derived2.baseDup = 0 should be 2 and is. PASS: derived2.baseOnly = 0 should be 1 and is. PASS: derived2.derivedOnly = 0 should be 2 and is. PASS: derived2.protoDup = 0 should be 2 and is. PASS: Object.getOwnPropertyDescriptor(derived, "baseProto") should be undefined and is. PASS: Object.getOwnPropertyDescriptor(derived, "baseProtoDup") should be undefined and is. PASS: typeof baseDupDescriptor should be object and is. PASS: baseDupDescriptor.value should be 2 and is. PASS: baseDupDescriptor.configurable should be true and is. PASS: baseDupDescriptor.enumerable should be false and is. PASS: typeof baseOnlyDescriptor should be object and is. PASS: baseOnlyDescriptor.value should be 1 and is. PASS: baseOnlyDescriptor.configurable should be true and is. PASS: baseOnlyDescriptor.enumerable should be false and is. PASS: Object.getOwnPropertyDescriptor(derived, "protoOnly") should be undefined and is. PASS: typeof protoDupDescriptor should be object and is. PASS: protoDupDescriptor.value should be 2 and is. PASS: protoDupDescriptor.configurable should be true and is. PASS: protoDupDescriptor.enumerable should be false and is. PASS: typeof derivedOnlyDescriptor should be object and is. PASS: derivedOnlyDescriptor.value should be 2 and is. PASS: derivedOnlyDescriptor.configurable should be true and is. PASS: derivedOnlyDescriptor.enumerable should be false and is. PASS: undefined instanceof MyObject should be false and is. PASS: undefined instanceof EvilExceptionObject threw: RangeError: Maximum call stack size exceeded. PASS: undefined instanceof EvilExceptionObject should be true and is. PASS: EvilExceptionObject*5 threw: RangeError: Maximum call stack size exceeded. PASS: String(EvilExceptionObject) threw: RangeError: Maximum call stack size exceeded. PASS: console should be [object Console] and is. PASS: typeof console.log should be function and is. PASS: EmptyObject should be [object CallbackObject] and is. PASS: PropertyCatchalls.x should be 4 and is. PASS: x should be null and is. PASS: PropertyCatchalls[make_throw]=1 threw: 5 PASS: PropertyCatchalls[make_throw]=1 threw: 5 PASS: y should be null and is. PASS: z should be null and is. PASS: Test script executed successfully. PASS: Promise is exposed under JSContext API. FAIL: script did not time out as expected. FAIL: script timeout callback was not called. FAIL: TerminatedExecutionException was not thrown. PASS: TerminatedExecutionException was not catchable as expected. PASS: script timed out as expected when no callback is specified. PASS: script timeout was cancelled as expected. PASS: script timeout was extended as expected. PASS: JSGlobalContextRef called its JSClassRef finalizer as expected. PASS: Infinite prototype chain does not occur. PASS: A cycle in a prototype chain can't be created. PASS: throwException did not crash when handling an error with appendMessageToError set and no codeBlock available. PASS: global context name behaves as expected. FAIL: Some tests failed. testAPI completed with rc=256 (1) program finished with exit code 1 elapsedTime=1.248002
Mark Lam
Comment 2
2015-08-12 10:19:04 PDT
(In reply to
comment #1
) ...
> PASS: Promise is exposed under JSContext API. > FAIL: script did not time out as expected. > FAIL: script timeout callback was not called. > FAIL: TerminatedExecutionException was not thrown. > PASS: TerminatedExecutionException was not catchable as expected. > PASS: script timed out as expected when no callback is specified.
... Those 3 failures are just a single test that failed to time out. As a result, it failed 3 checks that relied on that timeout. I'll look into it.
Brent Fulgham
Comment 3
2016-04-29 12:57:09 PDT
Is this still happening, or was it fixed?
Mark Lam
Comment 4
2016-04-29 13:03:04 PDT
This should have been fixed in
r192390
: <
http://trac.webkit.org/changeset/192390
> due to
https://bugs.webkit.org/show_bug.cgi?id=151223
. I'll dup this bug. *** This bug has been marked as a duplicate of
bug 151223
***
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