Very frequent URLPattern leaks while running WPTs
Categories
(Core :: Networking, defect)
Tracking
()
People
(Reporter: mccr8, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
|
301.37 KB,
text/plain
|
Details |
As seen in bug 2034815, there are very frequent leaks occurring in web platforms tests. However, from a brief examination, it looks like basically all of these leaks involve URL patterns.
Normally, we auto hide WPT leaks eventually, but it looks like the frame it is choosing to pick these looks like gkrust.ebd94ecb2afbeb2-cgu.0 and the string of weird characters keeps changing so it is evading that. I'll file a separate bug about hiding these leaks to at least keep the tree green, but it would be good if we could fix this very frequent leak.
Searching for gkrust in the WPT ini files we use to ignore leaks this appears to primarily involve two directories:
testing/web-platform/tests/fetch/compression-dictionary/testing/web-platform/tests/resource-timing
The allocation stacks look like this:
Direct leak of 1536 byte(s) in 1 object(s) allocated from:
#0 0x55e54be8e944 in malloc /builds/worker/fetches/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3
#1 0x7b88f0ef0395 in _$LT$mozglue_static..GeckoAlloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$::alloc::h455dcfa1846f4822 /builds/worker/checkouts/gecko/mozglue/static/rust/lib.rs:183:13
#2 0x7b88f0ef0395 in __rustc::__rust_alloc /builds/worker/checkouts/gecko/mozglue/static/rust/lib.rs:233:11
#3 0x7b88f0ef0395 in alloc::alloc::alloc::hfb56fe9d66f8e2ee /builds/worker/fetches/rust/library/alloc/src/alloc.rs:95:9
#4 0x7b88f0ef0395 in alloc::alloc::Global::alloc_impl::hc0247b1efe76c986 /builds/worker/fetches/rust/library/alloc/src/alloc.rs:190:73
#5 0x7b88f0ef0395 in _$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$::allocate::h5a2cf95ef332fee3 /builds/worker/fetches/rust/library/alloc/src/alloc.rs:251:14
#6 0x7b88f0ef0395 in alloc::alloc::exchange_malloc::h4d52071696eddb72 /builds/worker/fetches/rust/library/alloc/src/alloc.rs:352:18
#7 0x7b88f0ef0395 in alloc::boxed::Box$LT$T$GT$::new::hfe973ca1251f8464 /builds/worker/fetches/rust/library/alloc/src/boxed.rs:262:16
#8 0x7b88f0ef0395 in urlpattern_glue::helpers::parse_pattern_from_init::h2db5339c0ded63d7 /builds/worker/checkouts/gecko/netwerk/base/urlpattern_glue/src/helpers.rs:63:49
#9 0x7b88f0f1ae8a in urlpattern_parse_pattern_from_string /builds/worker/checkouts/gecko/netwerk/base/urlpattern_glue/src/lib.rs:35:5
#10 0x7b88debbe2d2 in mozilla::net::nsHttpChannel::ParseDictionary(nsICacheEntry*, mozilla::net::nsHttpResponseHead*, bool) /builds/worker/workspace/obj-build/netwerk/protocol/http/./../../../../../checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:6256:10
#11 0x7b88debbd36e in mozilla::net::nsHttpChannel::ContinueProcessNormal(nsresult) /builds/worker/workspace/obj-build/netwerk/protocol/http/./../../../../../checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:3706:14
From this log, I see a single direct leak and then a zillion indirect leak. I think this means that the indirect leaks are head alive by the direct leak.
| Reporter | ||
Comment 1•2 days ago
|
||
Here's the LSan report I extracted from a WPT log.
| Reporter | ||
Comment 2•2 days ago
|
||
Kershaw, can somebody please investigate this? (This leak will only show up with LeakSanitizer, which we run for AddressSanitizer builds.) It seems bad to have something this leaky. Are URL patterns something we are actually shipping? Thanks.
I've filed bug 2044025 about ignoring these more effectively. If something lands there, anybody investigating this will need to edit the __dir__.ini files to remove gkrust so the leak will actually show up.
Comment 3•2 days ago
|
||
Seems like a dupe of bug 2034558.
| Reporter | ||
Updated•2 days ago
|
Description
•