Fuchsia F4 release notes

F4.0 updates

Date: December 9, 2021

Version: F4.0

The following updates have been implemented:

Graphics performance

Flutter frame scheduling improvements for improved frame-rate.

Graphics quality

Improved rendering quality for WebGL games by enabling 8x Multi-Sample Anti-Aliasing (MSAA) in Almost Native Graphics Layer Engine (ANGLE).

Flutter on Fuchsia

Re-implemented graphics and touch handling for Flutter, improving performance and fixing several bugs around swipe gestures.

WLAN policy

Issue: Scans that are canceled part of the way through due to SoftAP startup or Connection attempt return a distinct error code rather than INTERNAL_ERROR.
Impact: Reduced time to get scan results when a SoftAP is being started.

Issue: Policy tries to disconnect and connect when the developer is in the process of reconnecting.
Impact: After being disconnected for certain types of disconnections, reduced reconnection time from as much as 8s to 500ms.

Issue: Networks that disconnect soon after connecting are less preferred.
Impact: Network selection is now less likely to choose a network where the device recently lost the connection quickly after getting connected.

WLAN drivers

Issue: Broadcom firmware was sending incorrect transfer ID in block acknowledgements.
Impact: The device firmware is working properly.

Issue: Multiple migration/installation/critical-component error reports from a device.
Impact: Disabled Wireless Network Management (WFM) firmware support.

Issue: Wi-fi transmit data path becoming stuck and causing link-down issues and only recovers sometimes.
Impact: Disabled multi-channel feature in firmware. Also, fixed an issue where the firmware failed to reset the flowcontrol bit.

System performance

Issue: Vsync showed significantly delayed interrupts.
Impact: Replaced PageQueues Spinlock with CriticalMutex so that interrupts are not delayed.

Issue: Significant time spent in O(n) accounting with preemption delays.
Impact: Improved page queue accounting and reporting.

Issue: Significant delays in application threads.
Impact: Improved accessed fault performance.

Issue: Page fault mapping.
Impact: Caches the last VmMapping used to resolve a PageFault as a quick check for future page faults.

F4.1 updates

Date: January 19, 2022

Version: F4.1

The following updates have been implemented:

Issue: MinFS should force a sync to yield free space when necessary.
Impact: Enhancement to flush MinFS pending deletes to free space.

Issue: Unable to track write failures.
Impact: Metric created for errors that reflect write failures.

Issue: Logging of large files relevant when the disk is full.
Impact: Now able to track log large MinFS files when the disk is full.

Issue: Direct Memory Access (DMA) write-after-free detection.
Impact: Diagnostics to guide future memory enhancements and optimizations.

Issue: Websites unexpectedly closing after 15-30 seconds.
Impact: Websites now stay open for about 60 seconds.

Issue: Flickering during animations in Fantastic Beasts.
Impact: Flickering issue has been fixed and no longer exists.

Issue: Netstack panic in fuchsia_posix_socket leads to device reboots.
Impact: Timeout or connection reset no longer treated as a panic error.

Issue: Chrome crashing due to a crash in net::AddrInfoGetter::getaddrinfo.
Impact: Increased the amount of space we allocate for Domain Name System (DNS) responses with large numbers of addresses.

Issue: Chrome crashing during media playback resulting in a black screen.
Impact: Issue resolved and black screen no longer appears.

Issue: Unexpected restart due to camera light sensor malfunction.
Impact: Light sensor malfunction repaired.

Issue: Duo call reliability issues.
Impact: Issue resolved and reliability improved.

Issue: Excessive logging from Actions on Google Hardware component.
Impact: Logging reduced, improving usefulness of diagnostics.

Issue: Protect can violate copy-on-write.
Impact: VMO data can be modified through access to copy-on-write snapshots of it.

F4.1.1 updates

Date: March 11, 2022

Version: F4.1.1

The following updates have been implemented:

Issue: Public Switched Telephone Network (PSTN) calls immediately disconnect.
Impact: Device now generates random, unique call IDs, which prevents disconnections.

Issue: Archivist memory slow leak causing devices to restart after running out of memory.
Impact: Archivist memory slow leak has been fixed. Devices no longer restart after running out of memory.

Issue: If power failed during a block recycle operation and then failed again during recording, the block being used for the recycle could end up with a high wear count, leading to an assert, resulting in an unbootable device.
Impact: The wear count has been fixed during block recycle to ensure source block and destination block are differentiated from each other. Power failures during recovery no longer result in unbootable devices.

Issue: Triggering factory reset does not always shred zxcrypt.
Impact: Issue was found to not be reproducible. Symptoms found during triage were misinterpreted as failed factory data resets (FDRs).

Issue: System continues to handle requests after suspend operation.
Impact: Patch added to stop handling requests after suspend hook is called to eliminate the possibility of rebooting in the middle of a direct memory access (DMA) operation.

Issue: Intermittent, permanent read failures.
Impact: Change increases the number of error correction code (ECC) read retries, reducing the probability of flash transition layer (FTL) corruption.

Issue: Missing Call Provider AllowList Entries for Telecom Italia causing calls not to go through.
Impact: Calls are now able to be completed through Telecom Italia.

F4.1.2 updates

Date: April 6, 2022

Version: F4.1.2

The following updates have been implemented:

Issue: Premature block recycles (PBR) cause high stress on NAND storage, which can increase RMA failures.
Impact: The command sequence used for reading data from NAND storage was altered to reduce premature block recycle RMA failures.

Issue: NDM driver suppresses fatal errors which results in FTL operating in an inconsistent state.
Impact: NDM driver was updated to stop remapping the fatal errors, allowing FTL to correctly handle them.

Issue: Memory corruption vulnerability found in Uboot.
Impact: Vulnerability in memory corruption has been fixed.