Andreas Kling
e28ac74e0b
LibWeb: Queue a task to proceed after module map entry finishes fetching
...
We were doing this synchronously, which was unsafe in that caused us to
re-enter the module map entry setting code while iterating over the
map's entries.
The fix is simply to do what the spec says and queue up a task. This way
the processing gets deferred to a later time.
To avoid stepping into this problem again, I've also added a reentrancy
check in ModuleMap.
This fixes a sporadic crash in HTML::ModuleMap::add() caught by ASAN.
In particular, this was happening regularly on https://shopify.com/
2023-12-16 20:47:16 +01:00
..
2023-12-10 17:32:04 +01:00
2023-11-28 17:15:27 -05:00
2023-11-28 17:15:27 -05:00
2023-11-11 08:54:37 +01:00
2023-12-09 22:06:20 +01:00
2023-12-16 20:47:16 +01:00
2023-11-06 11:37:08 +01:00
2023-11-30 08:49:15 +00:00
2023-11-30 08:49:15 +00:00
2023-12-12 23:01:08 +01:00
2023-12-12 23:01:08 +01:00
2023-10-08 08:11:48 -04:00
2023-12-04 19:54:43 +00:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-12-15 22:04:46 +01:00
2023-12-05 09:38:32 +01:00
2023-12-05 09:38:32 +01:00
2023-12-05 09:38:32 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-09 10:47:12 -06:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-12-11 14:04:27 -07:00
2023-12-11 14:04:27 -07:00
2023-12-12 23:01:08 +01:00
2023-11-19 22:00:48 +01:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-06 11:44:45 -04:00
2023-11-28 17:15:27 -05:00
2023-11-28 17:15:27 -05:00
2023-11-11 08:51:51 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-11-19 22:00:48 +01:00
2023-11-19 22:00:48 +01:00
2023-09-17 16:37:31 -06:00
2023-12-04 01:33:57 +01:00
2023-10-14 09:12:41 -04:00
2023-11-20 15:00:19 +01:00
2023-11-20 15:00:19 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-12-05 09:38:32 +01:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-12-02 22:54:53 +01:00
2023-11-20 15:00:19 +01:00
2023-09-05 20:36:09 -04:00
2023-11-28 17:15:27 -05:00
2023-11-20 15:00:19 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-05 20:36:09 -04:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-28 17:15:27 -05:00
2023-11-20 15:00:19 +01:00
2023-11-07 11:34:21 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-24 07:27:14 +02:00
2023-11-30 08:49:15 +00:00
2023-11-30 08:49:15 +00:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-03 07:51:11 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-19 22:00:48 +01:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-12-10 16:30:21 +01:00
2023-12-10 16:30:21 +01:00
2023-12-10 16:30:21 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-12-10 08:07:41 -05:00
2023-12-10 08:07:41 -05:00
2023-12-10 08:07:41 -05:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-12-10 08:07:41 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-20 15:00:19 +01:00
2023-11-20 15:00:19 +01:00
2023-12-01 10:28:02 +01:00
2023-12-01 10:28:02 +01:00
2023-10-25 19:45:41 +02:00
2023-12-15 22:04:46 +01:00
2023-12-01 10:28:02 +01:00
2023-10-25 19:45:41 +02:00
2023-12-11 14:04:27 -07:00
2023-12-10 20:56:19 +01:00
2023-12-07 16:46:28 -05:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-12-03 20:29:14 +01:00
2023-12-03 20:29:14 +01:00
2023-12-03 20:29:14 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-09 16:10:54 +01:00
2023-12-15 22:04:46 +01:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 08:16:34 +00:00
2023-11-07 11:34:21 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-12-15 22:04:46 +01:00
2023-11-19 22:00:48 +01:00
2023-12-03 20:29:14 +01:00
2023-12-11 16:54:59 +01:00
2023-12-10 16:44:12 +01:00
2023-12-04 19:54:43 +00:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-12-15 22:04:46 +01:00
2023-12-12 23:01:08 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-09 16:10:54 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-24 07:27:14 +02:00
2023-12-02 22:54:53 +01:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-12-09 21:50:17 +01:00
2023-12-09 21:50:17 +01:00
2023-12-09 21:50:17 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-12-11 16:54:59 +01:00
2023-12-10 16:44:12 +01:00
2023-10-24 07:27:14 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-12-02 22:54:53 +01:00
2023-12-03 14:48:36 -05:00
2023-12-03 20:29:14 +01:00
2023-12-13 10:30:13 +01:00
2023-12-09 22:06:20 +01:00
2023-12-09 22:06:20 +01:00
2023-11-28 17:15:27 -05:00
2023-11-20 00:39:42 +01:00
2023-09-13 13:45:47 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-20 00:39:42 +01:00
2023-11-20 00:39:42 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-12-07 16:46:50 -05:00
2023-12-03 20:29:14 +01:00
2023-12-03 20:29:14 +01:00
2023-11-28 17:15:27 -05:00
2023-11-21 16:54:02 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-12-07 16:46:50 -05:00
2023-12-03 20:29:14 +01:00
2023-12-03 20:29:14 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-12-05 09:38:32 +01:00
2023-12-02 10:35:43 +01:00
2023-12-02 10:35:43 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-12-12 23:01:08 +01:00
2023-12-12 23:01:08 +01:00
2023-12-01 10:28:02 +01:00
2023-12-12 23:01:08 +01:00
2023-12-12 23:01:08 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-12-14 08:36:11 -07:00
2023-12-14 08:36:11 -07:00
2023-12-14 08:36:11 -07:00
2023-12-09 21:52:28 +01:00
2023-12-09 21:52:28 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-12-15 22:04:46 +01:00
2023-11-28 17:15:27 -05:00
2023-11-11 08:51:51 +01:00
2023-12-15 22:11:49 +01:00
2023-12-01 10:28:02 +01:00
2023-12-15 22:11:49 +01:00
2023-12-01 10:28:02 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-09-22 19:45:11 -06:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-12-15 22:04:46 +01:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:54:37 +01:00
2023-09-18 11:08:26 -06:00
2023-09-18 11:08:26 -06:00
2023-09-18 11:08:26 -06:00
2023-11-20 15:00:19 +01:00
2023-11-20 15:00:19 +01:00
2023-12-02 22:54:53 +01:00
2023-10-25 19:45:41 +02:00
2023-12-04 19:54:43 +00:00
2023-12-04 19:54:43 +00:00
2023-11-09 10:05:51 -05:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-12-15 22:04:46 +01:00
2023-11-28 17:15:27 -05:00
2023-11-11 08:51:51 +01:00
2023-12-15 22:04:46 +01:00
2023-11-28 17:15:27 -05:00
2023-11-11 08:51:51 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-11-19 22:00:48 +01:00
2023-11-19 22:00:48 +01:00
2023-08-29 09:39:57 +02:00
2023-12-09 22:06:20 +01:00
2023-12-09 22:06:20 +01:00
2023-11-19 22:00:48 +01:00
2023-11-19 22:00:48 +01:00
2023-09-16 16:53:32 +02:00
2023-12-12 23:01:08 +01:00
2023-12-12 23:01:08 +01:00
2023-08-29 09:39:57 +02:00
2023-11-28 17:15:27 -05:00
2023-11-28 17:15:27 -05:00
2023-11-11 08:51:51 +01:00
2023-12-14 08:36:11 -07:00
2023-12-14 08:36:11 -07:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-10-03 14:47:53 +01:00
2023-10-03 14:47:53 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-10-25 19:45:41 +02:00
2023-11-19 22:00:48 +01:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-13 13:45:47 +02:00
2023-09-13 13:45:47 +02:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-09-02 19:23:41 +01:00
2023-12-05 09:38:32 +01:00
2023-12-05 09:38:32 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00
2023-12-15 22:04:46 +01:00
2023-12-15 22:04:46 +01:00
2023-12-07 11:02:50 -07:00
2023-12-10 09:45:03 +01:00
2023-09-27 16:33:21 +02:00
2023-11-19 22:00:48 +01:00
2023-11-19 22:00:48 +01:00
2023-11-28 17:15:27 -05:00
2023-11-24 08:41:38 +01:00
2023-11-11 08:51:51 +01:00
2023-12-07 10:13:21 -07:00
2023-11-24 08:41:38 +01:00
2023-09-09 13:03:25 -04:00
2023-11-28 17:15:27 -05:00
2023-11-24 08:41:38 +01:00
2023-11-24 08:41:38 +01:00
2023-11-19 22:00:48 +01:00
2023-11-19 22:00:48 +01:00
2023-11-11 08:51:51 +01:00
2023-11-28 17:15:27 -05:00
2023-11-19 22:00:48 +01:00