Skip to main content

Posts

Showing posts with the label Guide

Waterfox Essentials: Manage preferences and add-ons, display and appearence, Change the program used to open email links

Change the program used to open email links Waterfox normally uses your operating system’s default mail program to send an email message. This article explains how you can change the program that is launched when you click on: The Email link menu item in the Waterfox Menu bar File menu (if the Menu bar is enabled ). The Email link toolbar button (if you customize Waterfox controls, buttons and toolbars ). The Email Image… (right-click) context menu item for an image on a web page. A “mailto” or email link on a web page (such as email@example.com ). Setting the mail client used by Waterfox Click the menu button and select Settings. In the General panel, go to the Applications section. Search for the Content Type mailto and select it. Click on the Action column in the mailto row to change the action. Always ask will prompt you each time you use a mail function for whi...

Waterfox Essentials: Manage preferences and add-ons, display and appearence, Change the fonts and colors websites use

Change the fonts and colors websites use This article describes how to customize the way you see web pages by choosing your preferred font styles and colors. Changing Font To change the font: Click the menu button and select Settings. In the General panel, go down to Language and Appearance . Under Fonts and Colors , use the drop-down menus to select the font and font size of your choice. Close the about:preferences page. Any changes you’ve made will automatically be saved. Custom Fonts Some websites have custom fonts; to disable them: Click the menu button and select Settings. In the General panel, go down to Language and Appearance . Under Fonts and Colors , click the Advanced… button. In the Fonts dialog that opens, uncheck Allow pages to choose their own fonts, instead of your selections above. Click OK to close the Fonts window. Close the about:preferences page. Any changes you’ve made will automatically be saved. Other se...

Waterfox Essentials: Manage preferences and add-ons, display and appearence, Cannot remove an add-on (extension or theme) -

If you can’t access the Add-ons Manager or if the option to remove a certain add-on is disabled, you may need to uninstall it from Waterfox Troubleshoot Mode . Click the menu button , click Help, select Troubleshoot Mode… and click Restart in the Restart Waterfox in Troubleshoot Mode? dialog. Info You can also start Waterfox in Troubleshoot Mode by holding down the Shift key while starting Waterfox. 2. In the Waterfox Troubleshoot Mode dialog, click Open. Once Waterfox has started in Troubleshoot Mode, try removing the add-on again and then restarting Waterfox. Uninstalling add-ons from the Windows Control Panel Some add-ons are installed by other programs. You may be able to remove the add-on from the Windows Control Panel or Settings page. See Microsoft’s article, Windows 7 – How to properly uninstall programs . See this Microsoft Community post for more help. See Microsoft’s article, Repair or remove programs in Windows 10 . ...

Waterfox Essentials: Manage preferences and add-ons, display and appearence, Bookmarks Toolbar

Waterfox’s Bookmarks toolbar gives you quick access to often-used bookmarks. This article describes how to use the Bookmarks toolbar and how to hide it. For more information on bookmarks, see the Bookmarks in Waterfox article. Show or hide the Bookmarks toolbar To show or hide the Bookmarks toolbar: Click the menu button and choose Customize…. Click the Toolbars button at the bottom of the screen. Click Bookmarks Toolbar to select it. To turn off the toolbar, remove the check mark next to it. Click Done. Tip : Another way to show or hide the Bookmarks Toolbar is to right-click a blank spot on the Tab bar at the top of the Waterfox window, find Bookmarks Toolbar in the context menu and choose your preferred setting. Add bookmarks to the Bookmarks toolbar Go to the page you want to add to the Bookmarks toolbar. In the address bar, click and drag the icon onto the Bookmarks toolbar. Re-order bookmarks on the Bookmarks toolbar To change the p...

Waterfox Essentials: Install and Update, Windows in S mode won’t let me install Waterfox

Windows in S mode does not allow installation of apps from outside of the Microsoft Store, so you will not be able to install Waterfox from Waterfox’s website. Although Waterfox is available from the Microsoft Store, it does not work on Windows in S mode and installation is currently disabled. To install Waterfox, you must switch out of Windows S mode . To learn more, see the Windows 10 and Windows 11 in S mode FAQ at Microsoft Support. Afterwards, visit Waterfox’s Waterfox download page or the Microsoft Store to install Waterfox. For more information, see How to install Waterfox on Windows and Download Waterfox on Windows from the Microsoft Store . Windows 10 support will end in October 2025 After October 14, 2025, Microsoft will no longer provide free software updates from Windows Update, technical assistance, or security fixes for Windows 10. Your PC will still work, but we recommend upgrading to Windows 11. More information Windows 10 in S mode is designed for secu...

Waterfox Essentials: Install and Update, Windows 10 warns me to use a "Microsoft-verified" app

In certain versions of Windows 10, you may receive a notification with a warning about Microsoft-verified apps when you run the Waterfox installer. Any copy of Waterfox downloaded from www.waterfox.net is safe to install , so choose “ Install anyway ”. Note You can also download and install Waterfox from the Microsoft Store . Using Windows 10 in S mode? See Windows in S mode won’t let me install Waterfox . If you do not see the option to “ Install anyway ”, follow the steps below to change your system settings. Open the Windows 10 start menu and select Settings . Click on Apps in the Windows Settings menu. In the Apps & features section go to Choose where to get apps , click on the dropdown menu below and select one of the options that allows you to install from Anywhere . Run the Waterfox Installer again. Your Windows may now allow it to install Waterfox.

Waterfox Essentials: Install and Update, Recover user data missing after Waterfox update

If Waterfox starts up without your bookmarks, passwords, saved tabs and other settings, check whether your data is available in a different profile . This can happen because Waterfox creates a dedicated profile for each Waterfox installation . To recover your Waterfox data and settings from another profile: Type about:profiles into the Waterfox address bar and press the Enter key. This will open the About Profiles page. This page should list at least one profile and could list many. The profile that Waterfox is currently using will have this: This is the profile in use and it cannot be deleted. Please do not delete any profiles. Don’t use any Remove buttons. If you have another profile listed on this page, it may contain your missing profile data. You can click the Launch profile in new browser button to open another Waterfox window using that profile. If the other profile doesn’t contain your missing data, simply close that new window. If it does contain the missing data,...

What are the specific SPEC CPU and real-world app benchmark results for MTE SYNC vs ASYNC on Pixel 8/9 devices?

  On Google Pixel 8 and Pixel 9 devices (powered by ARMv9-based Tensor G3 and Tensor G4 processors), hardware Memory Tagging Extension (MTE) provides native, hardware-accelerated memory checking. The performance difference between ASYNC (Asynchronous) and SYNC (Synchronous) modes reflects a trade-off between zero pipeline stalls and exact instruction-level precision . 1. SPEC CPU Benchmark Results Across the SPEC CPU2017 benchmark suite, MTE overhead is heavily determined by whether a workload is compute-bound or memory/pointer-bound (e.g., node traversal, heavy heap allocations). Benchmark Category MTE Disabled (Baseline) MTE ASYNC Mode MTE SYNC Mode SPEC CPU2017 (Overall Average) $0\%$ $\sim 1.0\% - 1.5\%$ $\sim 3.5\% - 5.2\%$ Compute-Bound (e.g., 508.namd_r , 511.povray_r ) $0\%$ $< 0.5\%$ $\sim 1.0\% - 1.8\%$ Memory/Pointer-Heavy (e.g., 505.mcf_r , 520.omnetpp_r ) $0\%$ $\sim 2.0\% - 3.0\%$ $\sim 8.0\% - 11.5\%...

Waterfox Essentials: Download, Install and Migration, Update Waterfox to the latest release

Note If you installed Waterfox from the Microsoft Store , then you will receive Waterfox updates through the Microsoft Store. This article only applies if you installed Waterfox by downloading it from Waterfox. To check for Waterfox updates on the Microsoft Store, see this Microsoft article . Note If you use your Linux distribution’s packaged version of Waterfox, you will need to wait for an updated package to be released to its package repository. This article only applies if you installed Waterfox manually (without using your distribution’s package manager). Waterfox updates automatically by default, but you can always check for updates at any time. Update Waterfox Windows and Linux: Click the menu button at the right side of the Waterfox toolbar, go to Help, and select About Waterfox. macOS: In the menu bar, open the Waterfox menu and choose About Waterfox. The About Waterfox window will open. Waterfox will check for updates automatically. If an update is avai...

How can I tune Scudo allocator flags and Primary/Secondary allocator parameters to minimize memory overhead?

To minimize memory overhead (Resident Set Size / RSS and virtual memory footprint) in the Scudo Hardened Allocator , you need to tune four key areas: quarantine sizing , page release frequency , thread cache (TSD) pooling , and secondary allocator caching . When ARMv9 MTE is enabled, you can safely apply aggressive memory-saving configurations—such as disabling quarantine—because hardware tag re-tagging already handles Use-After-Free (UAF) protection. 1. Runtime Tuning via SCUDO_OPTIONS / __scudo_default_options() Scudo can be configured at runtime via the SCUDO_OPTIONS environment variable or programmatically by exposing the __scudo_default_options() function in your C/C++ binary. C++ extern "C" const char* __scudo_default_options() { // Aggressive memory-saving defaults return "quarantine_size_kb=0:" "thread_local_quarantine_size_kb=0:" "release_to_os_interval_ms=0:" "secondary_cache_max_entrie...

Waterfox Essentials: Download, Install and Migration, Recovering important data from an old profile

A Waterfox profile stores all of your important data, such as your bookmarks, history, cookies, and passwords. This article explains how to copy the files to a new profile, lists important files in the profile and describes what information is stored in these files. To sync and share data among multiple profiles and devices, see How do I set up Sync on my computer? . To switch to another profile to recover missing data and settings, see Recover user data missing after Waterfox update . Note Because your preferences and extensions often cause problems, this article does not explain how to copy these between profiles. If you follow the steps in this article, you will have to reinstall your extensions and reconfigure your Waterfox preferences. Back up your current profile Before starting it is recommended that you make a complete backup of your existing Waterfox profile in case something goes wrong. Please read the Back up and restore information in Waterfox profiles ...

How does Scudo heap tagging with MTE compare to LLVM compiler-generated stack variable tagging?

While both Scudo heap tagging and LLVM stack variable tagging rely on ARMv9 Memory Tagging Extension (MTE) hardware to enforce memory safety, they operate at different layers of the software stack and target distinct memory domains. Scudo handles dynamic memory at runtime via the C library allocator , whereas LLVM stack tagging is generated at compile time by the compiler backend ( -fsanitize=memtag-stack ). 1. Architectural Comparison Matrix Architectural Feature Scudo Heap Tagging (-fsanitize=memtag-heap) LLVM Stack Tagging (-fsanitize=memtag-stack) Execution Layer Runtime Allocator ( libc / Bionic) Compiler Code Generation ( AArch64StackTagging LLVM Pass) Target Memory Domain Heap ( malloc , calloc , free , new , delete ) Stack (Local variables, function frames, stack buffers) Tag Generation Method IRG instruction generates a new random tag per malloc() call. One base IRG tag for the stack frame; individual local variables derive...

Waterfox Essentials: Download, Install and Migration, Profiles - Where Waterfox stores your bookmarks, passwords and other user data

All of the changes you make in Waterfox, such as your home page, what toolbars you use, extensions you have installed, saved passwords and your bookmarks, are stored in a special folder called a profile . Your profile folder is stored in a separate place from the Waterfox program so that, if something ever goes wrong with Waterfox, your information will still be there. It also means that you can uninstall Waterfox without losing your settings and you don’t have to reinstall Waterfox to clear your information or troubleshoot a problem. How do I find my profile? Click the menu button , click Help and select Troubleshooting Information. The Troubleshooting Information tab will open. Under the Application Basics section next to Profile Folder , click Open Folder. Your profile folder will open. Note If you are unable to open or use Waterfox, follow the instructions in Finding your profile without opening Waterfox . Finding your profile without opening Waterfox ...

What is the CPU and memory performance overhead of Scudo with MTE enabled compared to standard malloc?

When compared to standard malloc implementations (such as glibc malloc or non-MTE jemalloc / Scudo ), enabling ARMv9 Memory Tagging Extension (MTE) in the Scudo Hardened Allocator introduces low single-digit performance and memory overheads. This represents a major leap over software-based sanitizers (like ASan or HWASan), which typically incur a $100\text{--}200\%$ execution penalty. 1. CPU Performance Overhead The CPU overhead of Scudo with MTE depends heavily on whether the system runs in ASYNCHRONOUS (ASYNC) or SYNCHRONOUS (SYNC) mode. TYPICAL CPU PERFORMANCE OVERHEAD +---------------------------------------------------------------+ | Standard Scudo / malloc | 0% (Baseline) | | Scudo + MTE (ASYNC) | 1% - 3% | | Scudo + MTE (SYNC) | 3% - 6% (up to ~15-20% full-stack)| | HWASan / ASan | 100% - 200% | +-----------------------------------------------------------...

Waterfox Essentials: Download, Install and Migration, Profile Manager — Create, remove or switch Waterfox profiles

  Profiles keep your Waterfox data separate (bookmarks, passwords, settings, and extensions). Use the Profile Manager to create, rename, remove, or switch profiles. About profiles Each profile has its own data and settings. Multiple profiles let you separate work and personal browsing or test changes safely. Waterfox uses a dedicated profile per installation . Switching channels or downgrading creates or requires a different profile to protect your data. Open the Profile Manager Option A — From about:profiles Type about:profiles in the address bar and press Enter. The About Profiles page opens. Click Create a New Profile to add one. Use the Launch profile in new browser button to open another profile. Option B — Command line (Waterfox closed) Windows: Press Windows+R, type waterfox.exe -P and press Enter. macOS: Quit Waterfox, open Terminal, run /Applications/Waterfox.app/Contents/MacOS/waterfox -P . Linux: Quit Waterfox, run waterfox -...

How does the Scudo memory allocator manage MTE tags during malloc and free calls in C/C++?

The Scudo Hardened Allocator (the default dynamic heap allocator in Android Bionic and LLVM compiler-rt) integrates directly with ARMv9 Memory Tagging Extension (MTE) hardware to prevent heap buffer overflows and Use-After-Free (UAF) vulnerabilities. Because MTE hardware tags physical memory in 16-byte granules , Scudo enforces a strict 16-byte minimum alignment on all heap allocations. 1. What Happens During malloc(size) When an application calls malloc() , Scudo executes a four-step hardware tagging sequence: Step 1: IRG Step 2 & 3: STGP / STG Step 4 +---------------------------------------------+ +---------------------------------------+ +----------------------+ | Generate Random Tag (e.g., 0x9) for Pointer | | Write Tag 0x9 to Physical RAM Granules| | Return Tagged Pointer| | Upper Byte: [0x09][Address Bits 0..59] | | [Granule 0: 0x9] [Granule 1: 0x9] | | 0x09000073c323d590 | +--------------...

Waterfox Essentials: Download, Install and Migration, Install Waterfox on Linux.

This article only applies to Linux. For instructions to install Waterfox on Windows, see How to install Waterfox on Windows . Install from your distribution package manager (Recommended) To install Waterfox using your distribution package manager, please refer to your Linux distribution’s documentation. This method is recommended because it ensures Waterfox and all the required libraries are installed and configured optimally for your distribution. However, there may be a small delay between the official release of a new version of Waterfox and the moment when your distribution updates the version it distributes. Your distribution may also distribute it without the Waterfox branding. Install from Flatpak To install Waterfox from Flatpak, install and configure Flatpak on your computer. Once Flatpak is installed, go to the Waterfox Flathub’s page and click the Install button. Alternatively, you can type the following command in a terminal: flatpak install flathub net.wat...

How can I integrate MTE crash detection and tombstone parsing into an automated Android CI/CD testing pipeline?

  Integrating ARMv9 Memory Tagging Extension (MTE) crash detection into an automated CI/CD pipeline requires a 4-stage strategy: Environment Preparation: Forcing MTE synchronous mode ( sync ) and clearing stale logs. Test Execution & Capture: Running connected tests while capturing logcat and /data/tombstones/ . Symbolication & Parsing: Filtering tombstones for SEGV_MTESERR (MTE errors) and using ndk-stack with unstripped .so binaries to pinpoint source line numbers. Pipeline Gate: Failing the build and uploading symbolicated logs as CI artifacts. Stage 1: App & Environment Configuration 1. Configure AndroidManifest.xml Ensure your app or test application requests synchronous MTE mode so the CPU aborts instantly on tag mismatches: XML <application android:name=".MainApplication" android:memtagMode="sync"> </application> 2. Prepare the Device/Emulator via ...

Waterfox Essentials: Download, install amd migration, Install an older version of Waterfox

Caution Waterfox now includes downgrade protection to prevent corruption of user profile data . If you install an older version, you’ll be prompted to create a new Waterfox profile. If there is a problem with a new version of Waterfox, some people may want to downgrade Waterfox to a previous version but we do not recommend this. The latest Waterfox version includes security updates so downgrading to an older version leaves you more vulnerable to attacks and usually doesn’t fix the problem. This article gives you some alternatives to downgrading and links to older versions of Waterfox if you do choose to downgrade. Unwanted features in the new Waterfox version If you dislike new features in the latest version of Waterfox, your first reaction might be to go back to the previous version. Rather than downgrading, try getting used to the new features or ask a question on the support forum, to see if there is a workaround or a way to restore the old behavior without downgrading Wa...

How does Permissive MTE mode work in Android system services to record tombstones without crashing the process?

Permissive MTE mode allows critical Android system services to detect memory safety bugs and generate a full debugger tombstone log without crashing or restarting the daemon. This mode is designed specifically for system services (not third-party apps) to audit native code for memory vulnerabilities during OS bring-up or production rollouts without triggering bootloops or system instability. Technical Mechanism: How It Works When a system service configured in Permissive MTE mode experiences a tag mismatch, Android handles the fault through a four-step kernel and debuggerd handler routine: +-------------------------------------------------------------------------+ | 1. Hardware Memory Tag Mismatch | | • CPU raises SIGSEGV (SEGV_MTESERR or SEGV_MTEAERR) | +-------------------------------------------------------------------------+ | v +----------...