fix(model): properly error out when a temp file can't be created - #10883
Merged
Merged
Conversation
Such as when the base filename contains a character disallowed on the current filesystem... Signed-off-by: Jakob Borg <[email protected]>
calmh
added a commit
to calmh/syncthing
that referenced
this pull request
Sep 15, 2026
* main: fix(model): properly error out when a temp file can't be created (syncthing#10883) chore(gui, man, authors): update docs, translations, and contributors
Hancock33
added a commit
to Hancock33/batocera.piboy
that referenced
this pull request
Sep 16, 2026
-------------------------------------------------------------- armsx2.mk nightly-20260915 # Version: Commits on Sept 15, 2026 -------------------------------------------------------------- Automated nightly build for community testing (unsigned). Every download is named `ARMSX2-nightly-DATE-COMMIT-PLATFORM`, so builds from different nights stay distinguishable after you have downloaded them. - macOS arm64: macOS-arm64.tar.xz - Linux arm64: Linux-arm64-4K-pages.AppImage on most distros, or the 16K one on Asahi Linux and other Apple Silicon kernels (run getconf PAGESIZE if unsure) - Windows arm64: Windows-arm64.zip - RetroArch on Linux arm64: Linux-arm64-libretro-core.tar.zst, a 4K-page build - Bare-display kmsdrm handhelds: Linux-arm64-SDL-handheld.tar.zst, a 4K-page build (Rocknix and Batocera run compositors, so use the Qt AppImage there instead) - Android: Android-arm64.apk, sideload it - iOS: iOS-arm64.ipa, unsigned, sideload it ## What's new - iOS: install the Rust iOS target so CI builds keep shaders - iOS: translate the new shader wording - iOS: show the CRC in Per-Game Settings during a game - iOS: move TV/CRT Shader to Filtering and rename the cache button - iOS: show readable slider names and plain shader errors - iOS: delete downloaded shader packs and saved presets - iOS: close the preset list on a pick and select a saved preset - iOS: say in the pause menu when a game has its own shader - iOS: keep saved shader presets working after an app update - iOS: put Preset first on the Shaders page and use plain wording - iOS: pick a downloaded shader straight from the download list - iOS: document launch links and the library export - iOS: translate Copy Launch Link - iOS: list games from external folders in the library export - iOS: import files opened in the app again - iOS: ask before a launch link replaces a running game - iOS: copy a game's launch link from its long-press menu - iOS: look up the app's own scene, not whichever one comes first - iOS: stop leaking a scene configuration on every scene connect - iOS: read the hack claim keys from s_gs_keys, where they live now Full changelog: ARMSX2/ARMSX2@nightly-20260914...736f53f, ------------------------------------------------------------------------------------------- duckstation.mk 63d72ac15647c854bbcc8bf38a669f574d309148 # Version: Commits on Sept 15, 2026 ------------------------------------------------------------------------------------------- GameDB: DisableUpscaledDirectTextures for Fear Effect, --------------------------------------------------------------------------------------- flycast.mk 8933f9fe0ccd3f7cbe2e77717ea3a6db8b472129 # Version: Commits on Sept 12, 2026 --------------------------------------------------------------------------------------- libretro: link libandroid, or the dynarec dies on the first memory access flycast's libretro build has never run on Android 11 or later. It loads, reaches frame one, and then takes a SIGSEGV its own handler cannot place: [VMEM] Virtual memory file allocation failed: errno 13 [VMEM] Warning! nvmem is DISABLED [COMMON] SIGSEGV @ 0x71d0c87618 invalid access to 0x71ce6cba00 errno 13 is EACCES. posix_vmem.cpp asks ASharedMemory_create first and falls back to opening /dev/ashmem when the symbol is null -- and Android 11 took that device away from apps. So the fallback is refused, nvmem is disabled, and the dynarec's fastmem accesses have no mapping behind them. rewrite() cannot place the fault, and the handler falls through to die(\segfault\). The good path was there all along and was dead code, because the symbol is declared weak: extern \C\ int __attribute__((weak)) ASharedMemory_create(const char*, size_t); and nothing in the LIBRETRO branch links libandroid, so it resolved to null every time. readelf on the built core shows only libm, libdl and libc in NEEDED, and nm shows ASharedMemory_create as an undefined weak. The app build links `android log` in its own ANDROID block further down; the libretro build never did., -------------------------------------------------------------------------------------- hatari.mk 1343fd34dafead8136fe22e8daaf61900afb3fa9 # Version: Commits on Sept 15, 2026 -------------------------------------------------------------------------------------- For github macOS CI job : fix directory, --------------------------------------------------------------------------------------- openmsx.mk 6a034497d4eac89c4a1b3821220bb901b30b5427 # Version: Commits on Sept 15, 2026 --------------------------------------------------------------------------------------- VDP: give each buffered CPU VRAM request its own write byte, and let an IN see a read that lands just after it Since b121faa41 the V9938 registers a CPU VRAM request 29 cycles after the port access and can accept a second request while the first has not had its slot yet. In TEXT2 that is the normal case for the BIOS's INIR/OTIR scroll: one byte every 138 cycles, while the slot table there has gaps of up to 100 cycles, so the first access can land 144 cycles after its port access. The second request is correctly accepted, but its port access precedes the first access by 2 to 6 cycles in emulated time, and two things went wrong there: * Writes: 'cpuVramData' is shared, so the first write stored the second request's byte. MSX-DOS's DIR output read \COMMAN COM\, \3 iiles\. * Reads: the IN returned the latch before the read before it had executed, although the Z80 only samples the data bus about 15 cycles later. That duplicated the preceding byte: \716800\ became \ 16800\, \dir\ \dii\. Traced on a Philips NMS 8250 during four DIRs: 47 second requests, 23 writes and 24 reads, each with the first access still 4 cycles ahead; no request was ever dropped. Each in-flight request now carries its own write byte (cpuVramReqData, secondCpuVramReqData), snapshotted when it is accepted; cpuVramData stays the CPU-visible latch. vramRead() executes a pending read early when its slot is within CPU_READ_SAMPLE_DELAY cycles of the IN: 9, from the 15 cycles to the Z80's sample point minus about 6 for the DRAM read. That is an estimate, not a measurement; this case needs 6. Serialization version 12 -> 13. Two comments that said the second-request path only occurs for a 'late' slot were wrong and are corrected. Verified with twelve scrolling DIRs of MSX-DOS 1 in 80 columns on the Philips NMS 8250 and Sony HB-F1XDJ, also with too_fast_vram_access=ignore, and a savestate round trip., ------------------------------------------------------------------------------------- rpcs3.mk 0646d36708cee4ea33690a6b8c4ec5a94e634914 # Version: Commits on Sept 01, 2026 ------------------------------------------------------------------------------------- ps move tracker: only create threads on demand, -------------------------------------------------------------------------------------- snes9x.mk d17fd0026f32c13bbc89620585be3586a8c62594 # Version: Commits on Sept 15, 2026 -------------------------------------------------------------------------------------- SuperFX: Name PlotOptionReg flags, fix 8-bit plotting testing incorrect flag for transparency rejection (#1100) * Fix RPIX Clearing DREG Too Early Fixes upstream #1055 * fxinst: name plot flags, fix plot_8bit testing wrong flag for transparency rejection. Names sourced from BSNES. 8-bit plotting should check PLOT_FREEZEHIGH, not PLOT_OBJECT. Also fixed the logic hierarchy to be more natural., ------------------------------------------------------------------------------------- tic80.mk af4d6acbf9087f5ce39ea07683e11b0f895afc4b # Version: Commits on Sept 15, 2026 ------------------------------------------------------------------------------------- Release pipeline: tag-driven builds, itch.io, self-host /create (#2991), ------------------------------------------------------------------------------------------ rpi-eeprom.mk 97e023ff0961b28b132d08825e27108d18821681 # Version: Commits on Sept 14, 2026 ------------------------------------------------------------------------------------------ rpi-eeprom-update: Track whether there is a pending firmware update Bootloader updates don't take effect until the next watchdog or cold boot. Store a file in /run to track whether the update is still pending. This is useful for A/B updates and for suspend-to-ram because resume would fail if the early bootcode loaded from SPI flash into the L2-cache does not match the verison of firmware already in SDRAM., --------------------------------------------------------------------------------------- stalker.mk b5180fc98035d5cc3cf5a059830dd1461e12b628 # Version: Commits on Sept 15, 2026 --------------------------------------------------------------------------------------- build(deps): bump Externals/sse2neon from `3b70b37` to `5abe115` (#2140) Bumps [Externals/sse2neon](https://github.com/DLTcollab/sse2neon) from `3b70b37` to `5abe115`. - [Release notes](https://github.com/DLTcollab/sse2neon/releases) - [Commits](DLTcollab/sse2neon@3b70b37...5abe115) --- updated-dependencies: - dependency-name: Externals/sse2neon dependency-version: 5abe11523bf6110297812e2a8c1e7c67b8903379 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>, ----------------------------------------------------------------------------------------- supertux2.mk 7221469f7ec2f74014fb46131405743d4389f4b9 # Version: Commits on Sept 15, 2026 ----------------------------------------------------------------------------------------- Fix SDL includes for opengles Issue #3883, ------------------------------------------------------------ syncthing.mk v2.1.6-rc.1 # Version: Commits on Sept 15, 2026 ------------------------------------------------------------ ## Major changes in 2.1 - Devices and folders can now be grouped in the GUI by setting the new `group` attribute. - HTTP and HTTPS proxies with support for CONNECT can now be used, in addition to the existing support for SOCKS proxies (the environment variable `all_proxy=https://...`). - Block indexing can be turned off for folders where it's more desirable to optimise for reduced database size and overhead than minimal transfer size (the `blockIndexing` attribute on folder configuration). - GUI login session duration can be configured to be longer or shorter than the default one week, or set to infinitely long. The cookie path can also be adjusted. (The `sessionCookieDurationS` and `sessionCookiePath` attributes in the GUI configuration.) This release is also available as: * APT repository: https://apt.syncthing.net/ * Docker image: `docker.io/syncthing/syncthing:2.1.6-rc.1` or `ghcr.io/syncthing/syncthing:2.1.6-rc.1` (`{docker,ghcr}.io/syncthing/syncthing:2` to follow just the major version) ## What's Changed ### Fixes * fix(model): introducers should not be able to add themselves to folders by @calmh in syncthing/syncthing#10880 * fix(gui): add accessible labels to buttons in Edit Device modal (fixes #10873) by @tomasz1986 in syncthing/syncthing#10874 * fix(model): properly error out when a temp file can't be created by @calmh in syncthing/syncthing#10883 **Full Changelog**: syncthing/syncthing@v2.1.5...v2.1.6-rc.1, ----------------------------------------------------------------------------------------- retroarch.mk d7d75f4000bb748f664465ef949ef261e3ed1698 # Version: Commits on Sept 15, 2026 ----------------------------------------------------------------------------------------- windows: the audit crosses the mingw build, and finds its blind spot full The first run of tools/thread_read_audit.py against a Windows binary - a mingw cross build, which host objdump reads natively - found 52 worker entries and 27 findings where the Linux build shows 42 and zero. Twenty-five shared one reader: on Windows RARCH_LOG routes through the desktop companion, and ui_companion_driver_log_active read desktop_menu_enable through config_get_ptr on whatever thread logged - every worker that logs a line was a worker-thread singleton read, invisible on Linux where logging never touches the companion. desktop_menu_enable is now latched into the companion state as an atomic, stored on the main thread at init_first and toggle - both already receive the live value from their callers' settings read - and the log sink, the message push and the refresh notification read the latch with relaxed loads. Staleness across a toggle costs at most one log line. The manual scan's completion notify moves from the handler to the task callback, at retrieval on the main thread, alongside the read it carried. The WASAPI pump captures its two MMCSS bools into the driver at init and takes them as parameters. And the mmdevice watcher thread, which raised exactly one flag through audio_state_get_ptr, is handed a pointer to that flag at spawn instead - its previously unused thread argument. Windows: 52 entries, 0 findings. Linux: 42 entries, 0 findings, unchanged budgets, the 74-lane matrix, C89 on the shared files and the database suite all pass. The 33-entry --list-unaudited blind spot is now ten entries smaller in the one build that can see them., ----------------------------------------------------------------------------------------- doomretro.mk a9844689a76d23ac855407087d7d675863039ab8 # Version: Commits on Sept 15, 2026 ----------------------------------------------------------------------------------------- Fix for red weapons in carousel, stay on screen for slightly longer, ----------------------------------------------------------------------- libretro-armsx2.mk nightly-20260915 # Version: Commits on Sept 15, 2026 ----------------------------------------------------------------------- Automated nightly build for community testing (unsigned). Every download is named `ARMSX2-nightly-DATE-COMMIT-PLATFORM`, so builds from different nights stay distinguishable after you have downloaded them. - macOS arm64: macOS-arm64.tar.xz - Linux arm64: Linux-arm64-4K-pages.AppImage on most distros, or the 16K one on Asahi Linux and other Apple Silicon kernels (run getconf PAGESIZE if unsure) - Windows arm64: Windows-arm64.zip - RetroArch on Linux arm64: Linux-arm64-libretro-core.tar.zst, a 4K-page build - Bare-display kmsdrm handhelds: Linux-arm64-SDL-handheld.tar.zst, a 4K-page build (Rocknix and Batocera run compositors, so use the Qt AppImage there instead) - Android: Android-arm64.apk, sideload it - iOS: iOS-arm64.ipa, unsigned, sideload it ## What's new - iOS: install the Rust iOS target so CI builds keep shaders - iOS: translate the new shader wording - iOS: show the CRC in Per-Game Settings during a game - iOS: move TV/CRT Shader to Filtering and rename the cache button - iOS: show readable slider names and plain shader errors - iOS: delete downloaded shader packs and saved presets - iOS: close the preset list on a pick and select a saved preset - iOS: say in the pause menu when a game has its own shader - iOS: keep saved shader presets working after an app update - iOS: put Preset first on the Shaders page and use plain wording - iOS: pick a downloaded shader straight from the download list - iOS: document launch links and the library export - iOS: translate Copy Launch Link - iOS: list games from external folders in the library export - iOS: import files opened in the app again - iOS: ask before a launch link replaces a running game - iOS: copy a game's launch link from its long-press menu - iOS: look up the app's own scene, not whichever one comes first - iOS: stop leaking a scene configuration on every scene connect - iOS: read the hack claim keys from s_gs_keys, where they live now Full changelog: ARMSX2/ARMSX2@nightly-20260914...736f53f, ------------------------------------------------------------------------------------------------ libretro-flycast.mk 8933f9fe0ccd3f7cbe2e77717ea3a6db8b472129 # Version: Commits on Sept 12, 2026 ------------------------------------------------------------------------------------------------ libretro: link libandroid, or the dynarec dies on the first memory access flycast's libretro build has never run on Android 11 or later. It loads, reaches frame one, and then takes a SIGSEGV its own handler cannot place: [VMEM] Virtual memory file allocation failed: errno 13 [VMEM] Warning! nvmem is DISABLED [COMMON] SIGSEGV @ 0x71d0c87618 invalid access to 0x71ce6cba00 errno 13 is EACCES. posix_vmem.cpp asks ASharedMemory_create first and falls back to opening /dev/ashmem when the symbol is null -- and Android 11 took that device away from apps. So the fallback is refused, nvmem is disabled, and the dynarec's fastmem accesses have no mapping behind them. rewrite() cannot place the fault, and the handler falls through to die(\segfault\). The good path was there all along and was dead code, because the symbol is declared weak: extern \C\ int __attribute__((weak)) ASharedMemory_create(const char*, size_t); and nothing in the LIBRETRO branch links libandroid, so it resolved to null every time. readelf on the built core shows only libm, libdl and libc in NEEDED, and nm shows ASharedMemory_create as an undefined weak. The app build links `android log` in its own ANDROID block further down; the libretro build never did., ------------------------------------------------------------------------------------------------ libretro-hatarib.mk a762a31c6dd63e2593cc4d085d4185e1ec18dcd2 # Version: Commits on Sept 15, 2026 ------------------------------------------------------------------------------------------------ 1.0 release, ------------------------------------------------------------------------------------------------------ libretro-mame2003-plus.mk e059bb0fe83f5552cd7600041e44f9492126f523 # Version: Commits on Sept 15, 2026 ------------------------------------------------------------------------------------------------------ Add files via upload (#2037), ---------------------------------------------------------------------------------------------- libretro-tic80.mk af4d6acbf9087f5ce39ea07683e11b0f895afc4b # Version: Commits on Sept 15, 2026 ---------------------------------------------------------------------------------------------- Release pipeline: tag-driven builds, itch.io, self-host /create (#2991),
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Such as when the base filename contains a character disallowed on the current filesystem...