Closed Bug 1478037 Opened 2 years ago Closed 1 year ago

Allow bookmarklets to run even when the CSP on the page would normally block javascript: execution

Categories

(Core :: DOM: Core & HTML, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox69 --- fixed

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

(Blocks 1 open bug)

Details

(Keywords: DevAdvocacy)

Attachments

(3 files)

This is a more restricted version of bug 866522.  This is just about allowing the bookmarklet to run.  If that bookmarklet tries to load subresources they would still be subject to CSP.
Assignee: nobody → bzbarsky
Attached patch Work in progressSplinter Review
Priority: -- → P3
Flags: needinfo?(bzbarsky)
Is there any estimation, in which future Firefox-version this probably will be fixed?
Not yet.  I keep being pulled into dealing with higher-priority things.
This issue is exacerbated by the recent addition of CSP to Firefox-internal pages, especially network error pages in the case of archive.org/google cache/proxy bookmarklets.
Ah, so for clarity's sake, what you mean is that, in case a website cannot be reached and Firefox displays a network-error page, one cannot use a bookmarklet to go to the archived version of that page on e.g. the Internet Archive or Google Cache, nor can one use a bookmarklet to open the 'unreachable' page via a proxy site? That will probably affect quite a few users.
(In reply to swleefers from comment #6)
> Ah, so for clarity's sake, what you mean is that, in case a website cannot
> be reached and Firefox displays a network-error page, one cannot use a
> bookmarklet to go to the archived version of that page on e.g. the Internet
> Archive or Google Cache, nor can one use a bookmarklet to open the
> 'unreachable' page via a proxy site? That will probably affect quite a few
> users.

That's correct.
Bill, as you might have noticed, I started working on this before I got pulled off to deal with various emergencies.

Now you could try to take that patch and work on fixing the resulting test failures.  Or you could try to not add noise to this bug that will make it harder on reviewers in the future.  But ranting about how no one plans to work on this when I have clearly done just that is a bit odd.
For what it's worth (and at the risk of creating extra noise), I wish to thank Boris for looking into this issue. Please don't feel pressured. I personally am thankful that I get to use an excellent browser for FREE that so many people continue to work on! Keep up the good work.

Tigt, thanks for confirming.
Depends on: 965637
Flags: needinfo?(bzbarsky)
Flags: needinfo?(bzbarsky)
I have several bookmarklets that are like these:

javascript:location.href='http://chart.apis.google.com/chart?cht=qr&chs=300x250&chl='+encodeURIComponent(location.href);void(0)

javascript:window.open(location.href,'_blank',"width=640,height=360,location=no,menubar=no,resizable=yes,scrollbars=no,status=no,titlebar=no,toolbar=no");void(0)

And some longish scripts that I just pasted into the bookmark as javascript:-url. No external resources loaded. Now I have to open the developer console, open the script in an text editor, copy -> paste, close developer console.

Just for that fixing this bug would be a godsend! :)
Component: DOM → DOM: Core & HTML

No external resources loaded

Fwiw, comment 11 in fact has "external resources" being loaded: the "http://chart.apis.google.com" bit. That navigation will look like it's coming from the currently-loaded page, and hence will be subject to the page CSP even after this bug is fixed.

Waiting to hear back on https://github.com/whatwg/html/issues/4651 to see whether this needs tweaks.

The removal of the second CSP check is fixing a regression introduced in bug
965637. See https://github.com/whatwg/html/issues/4651#issuecomment-495050351
for details. We may want to re-introduce that check depending on the outcome
of that issue, but if so we should do that only if the target document's
principal subsumes our triggering principal.

This commit will not allow bookmarklets to access subresources that
CSP blocks, but will at least allow them to run.

Pushed by bzbarsky@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/764fab821251
Allow bookmarklets to run even on pages with a CSP.  r=ckerschb

Christoph, I can try to write some tests for this, or you can do it as part of writing tests in bug 1555043. Please let me know which you prefer?

Flags: needinfo?(bzbarsky) → needinfo?(ckerschb)

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=windows%2C7%2Cdebug%2Creftests%2Ctest-windows7-32%2Fdebug-crashtest-e10s%2Cr%28c%29&fromchange=764fab821251784de22d5b45325974bc5598bacd&tochange=35e9a755a4bbd2a3db074702453e82f1930336b7&selectedJob=249427178

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=249428525&repo=autoland&lineNumber=82572

Backout link: https://hg.mozilla.org/integration/autoland/rev/35e9a755a4bbd2a3db074702453e82f1930336b7

18:07:29 INFO - REFTEST PROCESS-CRASH | file:///Z:/task_1559321577/build/tests/reftest/tests/layout/style/crashtests/439184-1.html | application crashed [@ GeckoCrash]
18:07:29 INFO - Crash dump filename: c:\users\task_1559321577\appdata\local\temp\tmp8clgbx.mozrunner\minidumps\01868cfe-13fc-4e48-86cb-65c3314a5dc9.dmp
18:07:29 INFO - Operating system: Windows NT
18:07:29 INFO - 6.1.7601 Service Pack 1
18:07:29 INFO - CPU: x86
18:07:29 INFO - GenuineIntel family 6 model 63 stepping 2
18:07:29 INFO - 8 CPUs
18:07:29 INFO -
18:07:29 INFO - GPU: UNKNOWN
18:07:29 INFO -
18:07:29 INFO - Crash reason: EXCEPTION_BREAKPOINT
18:07:29 INFO - Crash address: 0x59394712
18:07:29 INFO - Assertion: Unknown assertion type 0x00000000
18:07:29 INFO - Process uptime: 482 seconds
18:07:29 INFO -
18:07:29 INFO - Thread 0 (crashed)
18:07:29 INFO - 0 xul.dll!GeckoCrash [nsAppRunner.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 5161 + 0x22]
18:07:29 INFO - eip = 0x59394712 esp = 0x001bdd98 ebp = 0x001bdda0 ebx = 0x00000015
18:07:29 INFO - esi = 0x001bddba edi = 0x000003e5 eax = 0x6a6f06cc ecx = 0x000003e5
18:07:29 INFO - edx = 0x00000013 efl = 0x00200202
18:07:29 INFO - Found by: given as instruction pointer in context
18:07:29 INFO - 1 xul.dll!static void gkrust_shared::panic_hook(struct core::panic::PanicInfo ) [lib.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 243 + 0x8]
18:07:29 INFO - eip = 0x59ac8463 esp = 0x001bdda8 ebp = 0x5bf47434 esi = 0x000003e5
18:07:29 INFO - edi = 0x000000ba
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 2 xul.dll!static void core::ops::function::Fn::call<fn(core::panic::PanicInfo
),(core::panic::PanicInfo*)>( * , struct core::panic::PanicInfo ) [function.rs:3c235d5600393dfe6c36eeed34042efad8d4f26e : 69 + 0x9]
18:07:29 INFO - eip = 0x59ac75d9 esp = 0x001be1d4 ebp = 0x00000001 ebx = 0x5bebc4dc
18:07:29 INFO - esi = 0x5bdf047c edi = 0x001be234
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 3 xul.dll!void std::panicking::rust_panic_with_hook() [panicking.rs:3c235d5600393dfe6c36eeed34042efad8d4f26e : 478 + 0x5]
18:07:29 INFO - eip = 0x5a116a2e esp = 0x001be1d8 ebp = 0x00000001
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 4 xul.dll!static void std::panicking::continue_panic_fmt() [panicking.rs:3c235d5600393dfe6c36eeed34042efad8d4f26e : 381 + 0x13]
18:07:29 INFO - eip = 0x5a1165f2 esp = 0x001be224 ebp = 0x001be27c ebx = 0x001be2d4
18:07:29 INFO - esi = 0x001be28c edi = 0x00000015
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 5 xul.dll!void std::panicking::rust_begin_panic() [panicking.rs:3c235d5600393dfe6c36eeed34042efad8d4f26e : 308 + 0x9]
18:07:29 INFO - eip = 0x5a1164c9 esp = 0x001be284 ebp = 0x001be404 ebx = 0x00000200
18:07:29 INFO - esi = 0x00000015 edi = 0x000003e5
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 6 xul.dll!void core::panicking::panic_fmt() [panicking.rs:3c235d5600393dfe6c36eeed34042efad8d4f26e : 85 + 0x6]
18:07:29 INFO - eip = 0x5a12d393 esp = 0x001be288 ebp = 0x001be404
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 7 xul.dll!<NoType> core::result::unwrap_failed<hashglobe::FailedAllocationError>(struct str
, struct hashglobe::FailedAllocationError) [macros.rs:3c235d5600393dfe6c36eeed34042efad8d4f26e : 18 + 0xb]
18:07:29 INFO - eip = 0x5a494c27 esp = 0x001be2b4 ebp = 0x001be404 esi = 0x5bf646ce
18:07:29 INFO - edi = 0x00000026
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 8 xul.dll!union hashglobe::hash_map::Entry<style::rule_tree::ChildKey, style::rule_tree::WeakRuleNode> hashglobe::hash_map::HashMap<style::rule_tree::ChildKey, style::rule_tree::WeakRuleNode, core::hash::BuildHasherDefault<fxhash::FxHasher>>::entry<style::rule_tree::ChildKey,style::rule_tree::WeakRuleNode,core::hash::BuildHasherDefault<fxhash::FxHasher>>(struct style::rule_tree::ChildKey) [hash_map.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 985 + 0xe4]
18:07:29 INFO - eip = 0x5a62fa90 esp = 0x001be2f0 ebp = 0x001be404
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 9 xul.dll!struct style::rule_tree::StrongRuleNode style::rule_tree::StrongRuleNode::ensure_child(struct style::rule_tree::WeakRuleNode, struct style::rule_tree::StyleSource, style::rule_tree::CascadeLevel) [mod.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 960 + 0x13]
18:07:29 INFO - eip = 0x5a49e241 esp = 0x001be340 ebp = 0x001be404 ebx = 0x7fdf1e80
18:07:29 INFO - esi = 0x001be41c edi = 0x7fdf1e98
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 10 xul.dll!struct style::rule_tree::StrongRuleNode style::rule_tree::RuleTree::compute_rule_node(struct smallvec::SmallVec<[style::applicable_declarations::ApplicableDeclarationBlock; 16]> , struct style::shared_lock::StylesheetGuards ) [mod.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 355 + 0x377]
18:07:29 INFO - eip = 0x5a49c8f5 esp = 0x001be40c ebp = 0x400f8911 ebx = 0x001be41c
18:07:29 INFO - esi = 0x001be4d8 edi = 0x4f7a6cf0
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 11 xul.dll!struct style::style_resolver::MatchingResults style::style_resolver::StyleResolverForElement<style::gecko::wrapper::GeckoElement>::match_primary<style::gecko::wrapper::GeckoElement>(selectors::context::VisitedHandlingMode) [style_resolver.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 447 + 0xf]
18:07:29 INFO - eip = 0x5a408dce esp = 0x001be54c ebp = 0x001be6e0 ebx = 0x00000000
18:07:29 INFO - esi = 0x001be7d4 edi = 0x001be5a0
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 12 xul.dll!struct style::style_resolver::PrimaryStyle style::style_resolver::StyleResolverForElement<style::gecko::wrapper::GeckoElement>::resolve_primary_style<style::gecko::wrapper::GeckoElement>(union core::option::Option<style::gecko_properties::ComputedValues
>, union core::option::Option<style::gecko_properties::ComputedValues
>) [style_resolver.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 162 + 0xb]
18:07:29 INFO - eip = 0x5a40929e esp = 0x001be6e8 ebp = 0x00000000 ebx = 0x001be7d4
18:07:29 INFO - esi = 0x001be730 edi = 0x0b9c9b04
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 13 xul.dll!struct style::style_resolver::ResolvedElementStyles style::style_resolver::StyleResolverForElement<style::gecko::wrapper::GeckoElement>::resolve_style<style::gecko::wrapper::GeckoElement>(union core::option::Option<style::gecko_properties::ComputedValues
>, union core::option::Option<style::gecko_properties::ComputedValues*>) [style_resolver.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 232 + 0xb]
18:07:29 INFO - eip = 0x5a408f41 esp = 0x001be708 ebp = 0x001be770 ebx = 0x0b9c9b04
18:07:29 INFO - esi = 0x001be730 edi = 0x001be7d4
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 14 xul.dll!struct style::style_resolver::ResolvedElementStyles style::style_resolver::StyleResolverForElement<style::gecko::wrapper::GeckoElement>::resolve_style_with_default_parents<style::gecko::wrapper::GeckoElement>() [style_resolver.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 269 + 0xed]
18:07:29 INFO - eip = 0x5a40953c esp = 0x001be778 ebp = 0x001be7d4 ebx = 0x09e8ebf0
18:07:29 INFO - esi = 0x1074e380 edi = 0x001be7bc
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 15 xul.dll!style::matching::ChildCascadeRequirement style::traversal::compute_style<style::gecko::wrapper::GeckoElement>(struct style::traversal::PerLevelTraversalData *, struct style::context::StyleContext<style::gecko::wrapper::GeckoElement> *, struct style::gecko::wrapper::GeckoElement, struct style::data::ElementData *) [traversal.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 617 + 0x7]
18:07:29 INFO - eip = 0x5a502027 esp = 0x001be7a4 ebp = 0x001be9e0 ebx = 0x001be980
18:07:29 INFO - esi = 0x001be7bc edi = 0x001be80c
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 16 xul.dll!void style::gecko::traversal::{{impl}}::process_preorder<closure>(struct style::gecko::traversal::RecalcStyleOnly *, struct style::traversal::PerLevelTraversalData *, struct style::context::StyleContext<style::gecko::wrapper::GeckoElement> *, struct style::gecko::wrapper::GeckoNode, struct closure) [traversal.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 37 + 0x13a]
18:07:29 INFO - eip = 0x5a3fb9aa esp = 0x001be890 ebp = 0x001be104 ebx = 0x5c24f2b0
18:07:29 INFO - esi = 0x00000002 edi = 0x001be9e0
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 17 xul.dll!void style::driver::traverse_dom<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly>(struct style::gecko::traversal::RecalcStyleOnly , struct style::traversal::PreTraverseToken<style::gecko::wrapper::GeckoElement>, union core::option::Option<rayon_core::thread_pool::ThreadPool>) [driver.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 111 + 0x17]
18:07:29 INFO - eip = 0x5a4fe5ad esp = 0x001be918 ebp = 0x001bec84 ebx = 0x001be9e0
18:07:29 INFO - esi = 0x00000001 edi = 0x0b107420
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 18 xul.dll!static void geckoservo::glue::traverse_subtree(struct style::gecko::wrapper::GeckoElement, struct style::global_style_data::GlobalStyleData *, struct style::gecko::data::PerDocumentStyleDataImpl *, struct style::shared_lock::SharedRwLockReadGuard *, struct style::traversal_flags::TraversalFlags, struct style::gecko_bindings::structs::root::mozilla::ServoElementSnapshotTable *) [glue.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 262 + 0x8]
18:07:29 INFO - eip = 0x59b1676c esp = 0x001bec8c ebp = 0x001bed50 ebx = 0x001bed08
18:07:29 INFO - esi = 0x09e8ebf0 edi = 0x5c24f6a8
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 19 xul.dll!bool geckoservo::glue::Servo_TraverseSubtree(struct style::gecko_bindings::structs::root::mozilla::dom::Element *, struct style::gecko_bindings::structs::root::RawServoStyleSet *, struct style::gecko_bindings::structs::root::mozilla::ServoElementSnapshotTable *, unsigned int) [glue.rs:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 322 + 0x17]
18:07:29 INFO - eip = 0x59b169f1 esp = 0x001bed58 ebp = 0x5c198384 ebx = 0x00000000
18:07:29 INFO - esi = 0x09e8ebf0 edi = 0x10a1c008
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 20 xul.dll!mozilla::ServoStyleSet::StyleDocument(mozilla::ServoTraversalFlags) [ServoStyleSet.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 726 + 0x15]
18:07:29 INFO - eip = 0x57ec546f esp = 0x001beddc ebp = 0x001bee5c ebx = 0x00000000
18:07:29 INFO - esi = 0x0c52ab80 edi = 0x09e8ebf0
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 21 xul.dll!mozilla::RestyleManager::DoProcessPendingRestyles(mozilla::ServoTraversalFlags) [RestyleManager.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 3071 + 0x6]
18:07:29 INFO - eip = 0x57f5c074 esp = 0x001bee64 ebp = 0x001befd4 ebx = 0x10a46400
18:07:29 INFO - esi = 0x00000000 edi = 0x11119e80
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 22 xul.dll!mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) [PresShell.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 4184 + 0x3b]
18:07:29 INFO - eip = 0x57f39961 esp = 0x001befdc ebp = 0x001bf080 ebx = 0x11119e80
18:07:29 INFO - esi = 0x001befe0 edi = 0x10a46400
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 23 xul.dll!mozilla::dom::Document::FlushPendingNotifications(mozilla::ChangesToFlush) [Document.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 9357 + 0x4c]
18:07:29 INFO - eip = 0x55d555d6 esp = 0x001bf088 ebp = 0x001bf0b4 ebx = 0x001bf0bc
18:07:29 INFO - esi = 0x10a0f800 edi = 0x1112f000
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 24 xul.dll!mozilla::dom::Document::FlushPendingNotifications(mozilla::FlushType) [Document.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 9287 + 0x19]
18:07:29 INFO - eip = 0x55d40d95 esp = 0x001bf0bc ebp = 0x001bf0cc ebx = 0x001bf16c
18:07:29 INFO - esi = 0x11a62654 edi = 0x001bf168
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 25 xul.dll!nsDocLoader::DocLoaderIsEmpty(bool) [nsDocLoader.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 661 + 0x9]
18:07:29 INFO - eip = 0x556216c3 esp = 0x001bf0d4 ebp = 0x001bf188 esi = 0x088c0400
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 26 xul.dll!nsDocLoader::OnStopRequest(nsIRequest *,nsresult) [nsDocLoader.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 600 + 0xb]
18:07:29 INFO - eip = 0x5562264d esp = 0x001bf190 ebp = 0x001bf20c ebx = 0x10ae1670
18:07:29 INFO - esi = 0x088c0400 edi = 0x001bf1ac
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 27 xul.dll!mozilla::net::nsLoadGroup::RemoveRequest(nsIRequest *,nsISupports *,nsresult) [nsLoadGroup.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 568 + 0xa]
18:07:29 INFO - eip = 0x548c8d7d esp = 0x001bf214 ebp = 0x001bf2a4 ebx = 0x10ae1670
18:07:29 INFO - esi = 0x00b09ca0 edi = 0x00000000
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 28 xul.dll!mozilla::dom::Document::DoUnblockOnload() [Document.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 10042 + 0x10]
18:07:29 INFO - eip = 0x55d574db esp = 0x001bf2ac ebp = 0x001bf2dc ebx = 0x001bf2c8
18:07:29 INFO - esi = 0x10a0f800 edi = 0x001bf2bc
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 29 xul.dll!mozilla::dom::Document::UnblockOnload(bool) [Document.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 9974 + 0x7]
18:07:29 INFO - eip = 0x55d4992e esp = 0x001bf2e4 ebp = 0x001bf2fc ebx = 0x001bf330
18:07:29 INFO - esi = 0x10a0f800 edi = 0x00000000
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 30 xul.dll!mozilla::dom::Document::DispatchContentLoadedEvents() [Document.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 6425 + 0x9]
18:07:29 INFO - eip = 0x55d495d4 esp = 0x001bf304 ebp = 0x001bf364 esi = 0x00b85b80
18:07:29 INFO - edi = 0x10a0f800
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 31 xul.dll!nsresult mozilla::detail::RunnableMethodImpl<mozilla::dom::Document ,void (mozilla::dom::Document::)() attribute((thiscall)),1,mozilla::RunnableKind::Standard>::Run() [nsThreadUtils.h:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 1174 + 0x6]
18:07:29 INFO - eip = 0x55d9fa23 esp = 0x001bf36c ebp = 0x001bf36c ebx = 0x0ce12208
18:07:29 INFO - esi = 0x001bf390 edi = 0x00b51120
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 32 xul.dll!mozilla::SchedulerGroup::Runnable::Run() [SchedulerGroup.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 295 + 0x9]
18:07:29 INFO - eip = 0x54791762 esp = 0x001bf374 ebp = 0x001bf384
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 33 xul.dll!nsThread::ProcessNextEvent(bool,bool *) [nsThread.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 1176 + 0x6]
18:07:29 INFO - eip = 0x547a6c5e esp = 0x001bf38c ebp = 0x001bf864 ebx = 0x0b1765e0
18:07:29 INFO - esi = 0x001bf390 edi = 0x00b51120
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 34 xul.dll!NS_ProcessNextEvent(nsIThread *,bool) [nsThreadUtils.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 486 + 0x11]
18:07:29 INFO - eip = 0x547a9e44 esp = 0x001bf86c ebp = 0x001bf888 ebx = 0x00b00101
18:07:29 INFO - esi = 0x001bf87b edi = 0x00b01590
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 35 xul.dll!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate *) [MessagePump.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 88 + 0xa]
18:07:29 INFO - eip = 0x54e6e274 esp = 0x001bf890 ebp = 0x001bf8b4 ebx = 0x00b00101
18:07:29 INFO - esi = 0x00b01580
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 36 xul.dll!MessageLoop::RunInternal() [message_loop.cc:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 315 + 0x5]
18:07:29 INFO - eip = 0x54e23d11 esp = 0x001bf8bc ebp = 0x001bf8d8 ebx = 0x00b0f000
18:07:29 INFO - esi = 0x001bfa38 edi = 0x00b09520
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 37 xul.dll!MessageLoop::RunHandler() [message_loop.cc:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 308 + 0x7]
18:07:29 INFO - eip = 0x54e23c2c esp = 0x001bf8e0 ebp = 0x001bf90c esi = 0x001bfa38
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 38 xul.dll!MessageLoop::Run() [message_loop.cc:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 290 + 0x5]
18:07:29 INFO - eip = 0x54e23aff esp = 0x001bf914 ebp = 0x001bf92c ebx = 0x00b0f000
18:07:29 INFO - esi = 0x00b51120 edi = 0x00b09520
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 39 xul.dll!nsBaseAppShell::Run() [nsBaseAppShell.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 137 + 0xc]
18:07:29 INFO - eip = 0x57cd26d5 esp = 0x001bf934 ebp = 0x001bf93c
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 40 xul.dll!nsAppShell::Run() [nsAppShell.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 412 + 0x6]
18:07:29 INFO - eip = 0x57d4e639 esp = 0x001bf944 ebp = 0x001bf964 esi = 0x00b09520
18:07:29 INFO - edi = 0x001bf94c
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 41 xul.dll!XRE_RunAppShell() [nsEmbedFunctions.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 911 + 0x6]
18:07:29 INFO - eip = 0x59397848 esp = 0x001bf96c ebp = 0x001bf984 ebx = 0x00b0f000
18:07:29 INFO - esi = 0x001bfa38 edi = 0x00b01580
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 42 xul.dll!mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate *) [MessagePump.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 238 + 0x5]
18:07:29 INFO - eip = 0x54e6e8a6 esp = 0x001bf98c ebp = 0x001bf99c esi = 0x001bfa38
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 43 xul.dll!MessageLoop::RunInternal() [message_loop.cc:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 315 + 0x5]
18:07:29 INFO - eip = 0x54e23d11 esp = 0x001bf9a4 ebp = 0x001bf9c0 ebx = 0x00b0f000
18:07:29 INFO - esi = 0x001bfa38 edi = 0x011167e0
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 44 xul.dll!MessageLoop::RunHandler() [message_loop.cc:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 308 + 0x7]
18:07:29 INFO - eip = 0x54e23c2c esp = 0x001bf9c8 ebp = 0x001bf9f4 esi = 0x001bfa38
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 45 xul.dll!MessageLoop::Run() [message_loop.cc:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 290 + 0x5]
18:07:29 INFO - eip = 0x54e23aff esp = 0x001bf9fc ebp = 0x001bfa14 ebx = 0x00b0f000
18:07:29 INFO - esi = 0x001bfa38 edi = 0x011167e0
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 46 xul.dll!XRE_InitChildProcess(int,char * * const,XREChildData const *) [nsEmbedFunctions.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 749 + 0xd]
18:07:29 INFO - eip = 0x59396fb1 esp = 0x001bfa1c ebp = 0x001bfb60
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 47 xul.dll!mozilla::BootstrapImpl::XRE_InitChildProcess(int,char * * const,XREChildData const *) [Bootstrap.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 67 + 0xe]
18:07:29 INFO - eip = 0x593a0bf1 esp = 0x001bfb68 ebp = 0x001bfb74 ebx = 0x0000001a
18:07:29 INFO - esi = 0x00b07118 edi = 0x00b03040
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 48 firefox.exe!NS_internal_main(int,char * *,char * *) [nsBrowserApp.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 263 + 0x6f]
18:07:29 INFO - eip = 0x01101552 esp = 0x001bfb7c ebp = 0x001bfce0
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 49 firefox.exe!wmain [nsWindowsWMain.cpp:57fd8dc8fcddc2f7aa36b4e8f971b6f6b171b7a1 : 131 + 0x11]
18:07:29 INFO - eip = 0x011011d1 esp = 0x001bfce8 ebp = 0x001bfd14 ebx = 0x00b030b0
18:07:29 INFO - esi = 0x0000006c edi = 0x00b03040
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 50 firefox.exe!static int __scrt_common_main_seh() [exe_common.inl : 288 + 0x1c]
18:07:29 INFO - eip = 0x011661f9 esp = 0x001bfd1c ebp = 0x001bfd5c ebx = 0x7ffdd000
18:07:29 INFO - esi = 0x69f0f0b0 edi = 0x006e2e00
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 51 kernel32.dll! ?? ?? ::FNODOBFM::`string' + 0x46
18:07:29 INFO - eip = 0x7673ef3c esp = 0x001bfd64 ebp = 0x001bfd68
18:07:29 INFO - Found by: call frame info
18:07:29 INFO - 52 ntdll.dll!__RtlUserThreadStart + 0x27
18:07:29 INFO - eip = 0x77733618 esp = 0x001bfd70 ebp = 0x001bfda8
18:07:29 INFO - Found by: previous frame's frame pointer
18:07:29 INFO - 53 ntdll.dll!_RtlUserThreadStart + 0x1b
18:07:29 INFO - eip = 0x777335eb esp = 0x001bfdb0 ebp = 0x001bfdc0
18:07:29 INFO - Found by: call frame info

Flags: needinfo?(bzbarsky)

This is the layout/style/crashtests/439184-1.html crashtest failure, on Windows 7 Debug only, right?

That test doesn't even use javascript:, but does create a lot of style rules (about 1 million). The failure is an out-of-memory crash, yes?

Flags: needinfo?(csabou)

Per IRC discussion, that orange is fallout from bug 1493420: that test ends up with 1e6 hashtables instead of 1e6 pointers, and that OOMs.

Will reland this.

Flags: needinfo?(csabou)
Flags: needinfo?(bzbarsky)

And looks like bug 1554852 tracks that specific failure already.

Pushed by bzbarsky@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9276bdf5374d
Allow bookmarklets to run even on pages with a CSP.  r=ckerschb
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69

(In reply to Boris Zbarsky [:bzbarsky, bz on IRC] from comment #16)

Christoph, I can try to write some tests for this, or you can do it as part of writing tests in bug 1555043. Please let me know which you prefer?

You already provided detailed input for Bug 1555043 which I am very thankful for. I am happy to provide test coverage for that behavior within Bug 1555043.

Flags: needinfo?(ckerschb)

Thank you!

You need to log in before you can comment on or make changes to this bug.