Bug 224966

Summary: [GTK] REGRESSION(r276432): imported/w3c/web-platform-tests/worklets/paint-worklet-service-worker-interception.https.html is a flaky crash
Product: WebKit Reporter: Diego Pino <dpino>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: bugs-noreply, cgarcia, pgriffis
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Diego Pino 2021-04-22 20:07:16 PDT
The test started to flaky crash at:

r276432                       NOERROR
r276433                       CRASH (Expected: PASS)
r276434                       UNKNOWN

The test crashes with the following error message:

STDERR: (process:499): libsoup-CRITICAL **: 15:24:08.215: soup_connection_is_tunnelled: assertion 'SOUP_IS_CONNECTION (conn)' failed

Stacktrace:

https://build.webkit.org/results/GTK-Linux-64-bit-Release-Tests/r276464%20%281341%29/imported/w3c/web-platform-tests/worklets/paint-worklet-service-worker-interception.https-crash-log.txt

Thread 1 (Thread 0x7fdadbe89e80 (LWP 499)):
#0  g_logv (log_domain=0x7fdadd25d983 "libsoup", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1413
#1  0x00007fdade575973 in g_log (log_domain=log_domain@entry=0x7fdadd25d983 "libsoup", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7fdade5cdad0 "%s: assertion '%s' failed") at ../glib/gmessages.c:1451
#2  0x00007fdade57619d in g_return_if_fail_warning (log_domain=log_domain@entry=0x7fdadd25d983 "libsoup", pretty_function=pretty_function@entry=0x7fdadd2649f0 <__func__.17> "soup_connection_is_tunnelled", expression=expression@entry=0x7fdadd26439c "SOUP_IS_CONNECTION (conn)") at ../glib/gmessages.c:2883
#3  0x00007fdadd24087a in soup_connection_is_tunnelled (conn=0x0) at ../libsoup/soup-connection.c:698
#4  0x00007fdadd253bd9 in soup_session_process_queue_item (session=<optimized out>, item=0x55f88ec51000, should_cleanup=<optimized out>, loop=<optimized out>) at ../libsoup/soup-session.c:1990
#5  0x00007fdadd254633 in soup_session_process_queue_item (loop=1, should_cleanup=0x7ffddcd11074, item=0x55f88ec51000, session=0x55f88e5e9970 [SoupSession]) at ../libsoup/soup-session.c:1977
#6  async_run_queue (session=0x55f88e5e9970 [SoupSession]) at ../libsoup/soup-session.c:2081
#7  0x00007fdadd254810 in connect_async_complete (object=<optimized out>, result=<optimized out>, user_data=user_data@entry=0x55f88ec3d600) at ../libsoup/soup-session.c:1766
#8  0x00007fdade76b2d9 in g_task_return_now (task=task@entry=0x7fda700090d0 [GTask]) at ../gio/gtask.c:1219
#9  0x00007fdade76be7b in g_task_return (task=0x7fda700090d0 [GTask], type=<optimized out>) at ../gio/gtask.c:1289
#10 0x00007fdade76c87e in g_task_return (type=G_TASK_RETURN_SUCCESS, task=<optimized out>) at ../gio/gtask.c:1816
#11 g_task_return_boolean (task=<optimized out>, result=<optimized out>) at ../gio/gtask.c:1821
#12 0x0000000000000000 in  ()

On the other hand, perhaps this regression was caused by the libsoup update on r276429. Hard to determine without bisecting as both revisions are very close.
Comment 1 Carlos Garcia Campos 2021-04-23 00:13:50 PDT
I can't repro, but I think it's a problem with the preconnect, not the soup update. Looks like an issue when a preconnect connection is stolen by a new request in libsoup.
Comment 2 Carlos Garcia Campos 2021-04-23 03:02:50 PDT
Managed to reproduce this with my system under heavy load and running the test with --repeat-each=10. It's indeed a libsoup bug, so this will be fixed once we upgrade to libsoup 2.99.5. See https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/212
Comment 3 Carlos Garcia Campos 2021-05-08 03:44:16 PDT
This is fixed now that we bumped the libsoup3 version.