Bug 229919

Summary: [Flatpak SDK] Switch runtime to 21.08 SDK
Product: WebKit Reporter: Philippe Normand <pnormand>
Component: WebKitGTKAssignee: Philippe Normand <pnormand>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, cgarcia, clopez, eric.carlson, ews-watchlist, glenn, jbedard, lmoura, mcatanzaro, ysuzuki
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 229918, 230201    
Bug Blocks:    
Attachments:
Description Flags
Patch mcatanzaro: review+

Description Philippe Normand 2021-09-05 02:45:01 PDT
- The UserFlatpak update is automatic, no specific action needed
- Bots will still need clean builds though (remove WebKitBuild/{GTK,WPE})
Comment 1 Philippe Normand 2021-09-11 07:08:31 PDT
> - Bots will still need clean builds though (remove WebKitBuild/{GTK,WPE})

Actually, we can trigger cmake to reconfigure, by removing CMakeCache.txt files in build dirs during the SDK upgrade, so no action would be needed on bots, hopefully.
Comment 2 Philippe Normand 2021-09-11 08:16:58 PDT
+ Yusuke San in CC

I'm seeing new test262 test results when using ICU 69.1 here:

Settings:
Test262 Dir: ../../../../app/webkit/JSTests/test262
JSC: ../../../../app/webkit/WebKitBuild/Release/bin/jsc
Child Processes: 24
DYLD_FRAMEWORK_PATH: /app/webkit/WebKitBuild/Release/bin
Config file: ../../../../app/webkit/JSTests/test262/config.yaml
Expectations file: ../../../../app/webkit/JSTests/test262/expectations.yaml
---

NEW PASS test/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js (strict mode)
NEW PASS test/intl402/DateTimeFormat/prototype/formatRange/en-US.js (strict mode)
NEW PASS test/intl402/DateTimeFormat/prototype/formatRange/en-US.js (default)
NEW PASS test/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js (default)
! NEW FAIL test/intl402/Intl/getCanonicalLocales/preferred-grandfathered.js (strict mode)
Exception: Test262Error: Expected SameValue(«cel-gaulish», «xtg») to be true

! NEW FAIL test/intl402/Intl/getCanonicalLocales/preferred-grandfathered.js (default)
Exception: Test262Error: Expected SameValue(«cel-gaulish», «xtg») to be true

NEW PASS test/intl402/Intl/getCanonicalLocales/non-iana-canon.js (strict mode)
! NEW FAIL test/intl402/Locale/getters-grandfathered.js (strict mode)
Exception: Test262Error: Expected SameValue(«cel-gaulish», «xtg») to be true

! NEW FAIL test/intl402/Locale/getters-grandfathered.js (default)
Exception: Test262Error: Expected SameValue(«cel-gaulish», «xtg») to be true

NEW PASS test/intl402/Intl/getCanonicalLocales/non-iana-canon.js (default)
! NEW FAIL test/intl402/Locale/extensions-grandfathered.js (strict mode)
Exception: Test262Error: Expected SameValue(«fr-Cyrl-FR-gaulish-u-nu-latn», «fr-Cyrl-FR-u-nu-latn») to be true

! NEW FAIL test/intl402/Locale/likely-subtags-grandfathered.js (strict mode)
Exception: Test262Error: Expected SameValue(«cel-gaulish», «xtg») to be true

! NEW FAIL test/intl402/Locale/extensions-grandfathered.js (default)
Exception: Test262Error: Expected SameValue(«fr-Cyrl-FR-gaulish-u-nu-latn», «fr-Cyrl-FR-u-nu-latn») to be true

! NEW FAIL test/intl402/Locale/likely-subtags-grandfathered.js (default)
Exception: Test262Error: Expected SameValue(«cel-gaulish», «xtg») to be true

NEW PASS test/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js (strict mode)
NEW PASS test/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js (default)

78016 tests run
1004 test files skipped
1120 tests failed in total
8 tests newly fail
8 tests newly pass
Saved all the results in /var/home/phil/WebKit/test262-results/results.yaml
Summarizing results...
See the summaries and results in the /var/home/phil/WebKit/test262-results.


I wonder how to address this, I can't find port-specific expectations for test262. Can you advise on what should be done please?
Comment 3 Philippe Normand 2021-09-11 08:22:05 PDT
Same question for new JSC intl-locale failures ;)
Comment 4 Lauro Moura 2021-09-19 21:15:57 PDT
While testing, I've compiled a table of the packages upgraded (through pkg-config versions): https://gist.github.com/lauromoura/7f97b15cb7c06189956d46242b918194

Still getting some errors, though (didn't dive too deep yet, looks like some non-unified errors):

In file included from /app/webkit/Source/WebKit/NetworkProcess/webrtc/NetworkRTCMonitor.h:30,
                 from /app/webkit/WebKitBuild/Release/DerivedSources/WebKit/NetworkRTCMonitorMessageReceiver.cpp:27:
/app/webkit/Source/WebKit/Shared/RTCNetwork.h:49:17: error: ‘optional’ in namespace ‘std’ does not name a template type
   49 |     static std::optional<RTCNetwork> decode(IPC::Decoder&);
      |                 ^~~~~~~~
/app/webkit/Source/WebKit/Shared/RTCNetwork.h:34:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’?
   33 | #include <wtf/Forward.h>
  +++ |+#include <optional>
   34 | 
/app/webkit/Source/WebKit/Shared/RTCNetwork.h:56:21: error: ‘optional’ in namespace ‘std’ does not name a template type
   56 |         static std::optional<IPAddress> decode(IPC::Decoder&);
      |                     ^~~~~~~~
/app/webkit/Source/WebKit/Shared/RTCNetwork.h:56:16: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’?
   56 |         static std::optional<IPAddress> decode(IPC::Decoder&);
      |                ^~~
/app/webkit/Source/WebKit/Shared/RTCNetwork.h:68:21: error: ‘optional’ in namespace ‘std’ does not name a template type
   68 |         static std::optional<SocketAddress> decode(IPC::Decoder&);
      |                     ^~~~~~~~
/app/webkit/Source/WebKit/Shared/RTCNetwork.h:68:16: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’?
   68 |         static std::optional<SocketAddress> decode(IPC::Decoder&);
      |                ^~~
[1459/2037] Building CXX object Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/WebPageProxyMessageReceiver.cpp.o
Comment 5 Philippe Normand 2021-09-20 00:39:03 PDT
Are you using my branch? The wip commit fixes this optional error.
Comment 6 Philippe Normand 2021-09-20 04:50:24 PDT
Created attachment 438658 [details]
Patch
Comment 7 Michael Catanzaro 2021-09-20 06:03:56 PDT
Comment on attachment 438658 [details]
Patch

These test expectations changes are a little weird. On the one hand, there are fewer than I would have expected. On the other hand, the ones that are there are *weird*. I wonder what changed, but I also know it would be pretty hard to find out.
Comment 8 Philippe Normand 2021-09-20 06:10:04 PDT
Which ones are weird?

It's not the first time a libxml2 update changes test expectations, fwiw.
Comment 9 Philippe Normand 2021-09-20 06:54:10 PDT
There is an issue with the GTK API tests, possibly related with xvfb... I'll check.
Comment 10 Philippe Normand 2021-09-20 08:44:36 PDT
(In reply to Philippe Normand from comment #9)
> There is an issue with the GTK API tests, possibly related with xvfb... I'll
> check.

Yes... Carlos, there is a weird issue again with xvfb / subprocess.

If I redirect the stderr process to /dev/null the test runner is running OK. Otherwise it runs a few tests and hangs forever. My WIP diff is http://sprunge.us/3gJMX6

The SDK runtime has been updated from python 3.8 to python 3.9. Could this be related?
Comment 11 Philippe Normand 2021-09-20 08:47:07 PDT
While the test runner is hanged up I see a weird process from the host with `ps aux`:

/usr/bin/xkbcomp -w 1 -R/usr/share/X11/xkb -xkm - -em1 The XKEYBOARD keymap compiler (xkbcomp) reports: -emp >  -eml Errors from xkbcomp are not fatal to the X server /tmp/server-2.xkm

This is xvfb stderr leaking somehow to the xkbcomp process???
Comment 12 Philippe Normand 2021-09-20 10:04:53 PDT
I'm trying an xorg update. I wonder if the old version, which we haven't bumped in 21.08 might have become incompatible with the xkbcomp that was updated in the parent SDK.
Comment 13 Philippe Normand 2021-09-20 10:33:27 PDT
(In reply to Philippe Normand from comment #12)
> I'm trying an xorg update. I wonder if the old version, which we haven't
> bumped in 21.08 might have become incompatible with the xkbcomp that was
> updated in the parent SDK.

Issue still present after locally updating to xorg-server-1.20.13.
Comment 14 Carlos Garcia Campos 2021-09-21 00:16:29 PDT
(In reply to Philippe Normand from comment #10)
> (In reply to Philippe Normand from comment #9)
> > There is an issue with the GTK API tests, possibly related with xvfb... I'll
> > check.
> 
> Yes... Carlos, there is a weird issue again with xvfb / subprocess.
> 
> If I redirect the stderr process to /dev/null the test runner is running OK.
> Otherwise it runs a few tests and hangs forever. My WIP diff is
> http://sprunge.us/3gJMX6
> 
> The SDK runtime has been updated from python 3.8 to python 3.9. Could this
> be related?

I'm having similar issues with the WebDriver tests under xvfb (no flatpak).
Comment 15 Philippe Normand 2021-09-21 12:25:37 PDT
Applying that pastebin helps?
Comment 16 Philippe Normand 2021-09-22 08:21:43 PDT
FTR this xvfb issue was worked-around in https://bugs.webkit.org/show_bug.cgi?id=230610
Comment 17 Philippe Normand 2021-09-22 09:37:51 PDT
Committed r282878 (242007@main): <https://commits.webkit.org/242007@main>