-
-
Notifications
You must be signed in to change notification settings - Fork 609
Description
Pre-flight checklist
- I have read the contribution documentation for this project.
- I agree to follow the code of conduct that this project uses.
- I have searched the issue tracker for a bug that matches the one I want to file, without success.
Forge version
7.10.2
Electron version
36.3.2
Operating system
macOS 26.4 Beta (25E5207k)
Last known working Forge version
No response
Expected behavior
Running electron-forge make on macOS, when using MakerDMG, should succeed.
Actual behavior
It fails with the following message:
An unhandled rejection has occurred inside Forge:
Error: Command failed: hdiutil attach /var/folders/0m/nf10bfxx6rgft8tn29fznymc0000gn/T/2TZ7JTG.dmg -nobrowse -noverify -noautoopen
hdiutil: attach failed - no mountable file systems
at makeError (/Users/jamie/Documents/git/banana_native/node_modules/appdmg/node_modules/execa/index.js:174:9)
at /Users/jamie/Documents/git/banana_native/node_modules/appdmg/node_modules/execa/index.js:278:16
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
ELIFECYCLE Command failed with exit code 1.
Steps to reproduce
Install macOS 26.4 Beta (25E5207k) and run electron-forge make with the following config for @electron-forge/maker-dmg:
new MakerDMG(
{
name: "banana_macos_installer",
icon: path.resolve(workspace, "assets/icons/banana/icon.icns"),
format: "ULFO",
background: path.resolve(workspace, "assets/dmg/banana-background.tiff"),
contents: (opts) => [
{ x: 253, y: 298, type: "file", path: opts.appPath },
{ x: 590, y: 298, type: "link", path: "/Applications" },
],
additionalDMGOptions: {
window: {
size: { width: 842, height: 595 },
},
},
},
["darwin"],
),For an example project, try adding MakerDMG into Electron Fiddle or any other Electrin Forge app.
Additional information
It calls an API from the appdmg package, appdmg/lib/hdiutil.js, which runs the following shell command:
hdiutil attach /var/folders/0m/nf10bfxx6rgft8tn29fznymc0000gn/T/2TZ7JTG.dmg -nobrowse -noverify -noautoopenOn a colleague's computer running an older non-beta version of macOS, 13.7.4 (22H420), it succeeds with:
/dev/disk2 GUID_partition_scheme
/dev/disk2s1 Apple_HFS /Volumes/banana_macos_installer
On my own computer, since updating to macOS 26.4 Beta (25E5207k) (it worked on my computer on older versions of macOS), it has been failing as follows:
hdiutil: attach failed - Resource busy
When I run sudo log show --predicate 'process == "diskarbitrationd"' --last 5m | tail -1000, I get the following debug logs:
See diskarbitrationd logs
Timestamp Thread Type Activity PID TTL
2026-02-20 16:23:26.997526+0900 0xba389 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] created disk, id = /dev/disk14.
2026-02-20 16:23:26.999032+0900 0xba389 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] created disk, id = /dev/disk14s1.
2026-02-20 16:23:26.999135+0900 0xba389 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] encryption status changed, id = /dev/disk14.
2026-02-20 16:23:26.999481+0900 0xba389 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] probed disk, id = /dev/disk14s1, with hfs, ongoing.
2026-02-20 16:23:27.002247+0900 0xba389 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] encryption status changed, id = /dev/disk14s1.
2026-02-20 16:23:27.023833+0900 0xba389 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] fsck status 6 /dev/rdisk14s1
2026-02-20 16:23:27.025937+0900 0xba389 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] probed disk, id = /dev/disk14s1, with hfs, success.
2026-02-20 16:23:27.027389+0900 0xba389 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] diskimages-helper [10979]:104519 queued solicitation, id = 0000000000000005:0000000000000005, kind = disk claim, disk = /dev/disk14s1, options = 0x00000000.
2026-02-20 16:23:27.028527+0900 0xba389 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Found FSModule: {
CFBundleName = "exfat_fskit";
FSBundleID = "com.apple.fskit.exfat";
FSImplementation = (
UserFS,
kext
);
FSIsFSModule = 1;
FSMediaTypes = {
"EBD0A0A2-B9E5-4433-87C0-68B6B72699C7" = {
FSMediaProperties = {
"Content Hint" = "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7";
Leaf = 1;
};
FSProbeArguments = "-p";
FSProbeExecutable = "exfat.util";
FSProbeOrder = 2000;
};
Partitionless = {
FSMediaProperties = {
Leaf = 1;
Whole = 1;
};
FSProbeArguments = "-p";
FSProbeExecutable = "exfat.util";
FSProbeOrder = 4000;
};
"Windows_NTFS" = {
FSMediaProperties = {
"Content Hint" = "Windows_NTFS";
Leaf = 1;
};
FSPro<…>
2026-02-20 16:23:27.028666+0900 0xba389 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Found FSModule: {
CFBundleName = "msdos_fskit";
FSBundleID = "com.apple.fskit.msdos";
FSImplementation = (
UserFS,
kext
);
FSIsFSModule = 1;
FSMediaTypes = {
"C12A7328-F81F-11D2-BA4B-00A0C93EC93B" = {
FSMediaProperties = {
"Content Hint" = "C12A7328-F81F-11D2-BA4B-00A0C93EC93B";
Leaf = 1;
};
FSProbeArguments = "-p";
FSProbeExecutable = "msdos.util";
FSProbeOrder = 1000;
autodiskmount = 0;
};
"DOS_FAT_12" = {
FSMediaProperties = {
"Content Hint" = "DOS_FAT_12";
Leaf = 1;
};
FSProbeArguments = "-p";
FSProbeExecutable = "msdos.util";
FSProbeOrder = 1000;
};
"DOS_FAT_16" = {
FSMediaProperties = {
"Content Hint" = "DOS_FAT_16";
<…>
2026-02-20 16:23:27.030654+0900 0xbcde9 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] diskimages-helper [10979]:104519 queued solicitation, id = 0000000000000007:0000000000000007, kind = disk claim, disk = /dev/disk14, options = 0x00000000.
2026-02-20 16:23:27.033483+0900 0xbcde9 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] claimed disk, id = /dev/disk14, success.
2026-02-20 16:23:27.036488+0900 0xbcde9 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] claimed disk, id = /dev/disk14s1, success.
2026-02-20 16:23:27.048215+0900 0xbcde9 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Mount options -u=501,-g=20,-m=755,nodev,noowners,nosuid
2026-02-20 16:23:27.048221+0900 0xbcde9 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] repaired disk, id = /dev/disk14s1, ongoing.
2026-02-20 16:23:27.053440+0900 0xbcde9 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] repaired disk, id = /dev/disk14s1, failure.
2026-02-20 16:23:27.053444+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] unable to repair /dev/disk14s1 (status code 0x00000006).
2026-02-20 16:23:27.053496+0900 0xbcde9 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Mount options -u=501,-g=20,-m=755,nodev,noowners,nosuid,rdonly
2026-02-20 16:23:27.053513+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -u=501
2026-02-20 16:23:27.053514+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -u=501
2026-02-20 16:23:27.053515+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -u=501
2026-02-20 16:23:27.053516+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -u=501
2026-02-20 16:23:27.053518+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -u=501
2026-02-20 16:23:27.053520+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -g=20
2026-02-20 16:23:27.053522+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -g=20
2026-02-20 16:23:27.053523+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -g=20
2026-02-20 16:23:27.053524+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -g=20
2026-02-20 16:23:27.053526+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -m=755
2026-02-20 16:23:27.053528+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -m=755
2026-02-20 16:23:27.053529+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -m=755
2026-02-20 16:23:27.053530+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -m=755
2026-02-20 16:23:27.053531+0900 0xbcde9 Error 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] Unknown mount arg string -m=755
2026-02-20 16:23:27.053628+0900 0xbcde9 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] mounted disk, id = /dev/disk14s1, ongoing.
2026-02-20 16:23:27.064739+0900 0xbcde9 Default 0x0 365 7 diskarbitrationd: [com.apple.DiskArbitration.diskarbitrationd:default] mounted disk, id = /dev/disk14s1, success.
As the -noverify and -noautoopen flags alone each work, it may suggest some change in macOS's support for the -nobrowse flag. The above logs seem to suggest that the -u=501,-g=20,-m=755 mount args are not recognised. But I'm not sure. This is way out of my familiarity zone.