Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building DMG hangs on OSX High Sierra #2115

Closed
BeardedUnicorn opened this issue Sep 25, 2017 · 11 comments
Closed

Building DMG hangs on OSX High Sierra #2115

BeardedUnicorn opened this issue Sep 25, 2017 · 11 comments
Labels

Comments

@BeardedUnicorn
Copy link

  • Version: 19.30.2
  • Target: Mac DMG

I have been building the last couple weeks with OSX Sierra and things have been building without a hitch. I just upgraded to High Sierra this afternoon, and I'm unable to build DMG's anymore.

(Attached DEBUG log)

electron-builder 19.30.2
electron-builder Effective config:
electron-builder appId: com.corp.utility
electron-builder asar: true
electron-builder asarUnpack:
electron-builder   - api/**
electron-builder directories:
electron-builder   app: dist/
electron-builder   output: release-builds/
electron-builder mac:
electron-builder   icon: src/assets/AppIcon.icns
electron-builder   identity: Corp (*******)
electron-builder   target: dmg
electron-builder dmg:
electron-builder   background: src/assets/MacOS_DMG_Image.png
electron-builder   title: '${productName}'
electron-builder win:
electron-builder   icon: src/assets/AppIcon.ico
electron-builder   target:
electron-builder     - target: portable
electron-builder     - target: nsis
electron-builder nsis:
electron-builder   oneClick: false
electron-builder  +0ms
electron-builder Two package.json structure is used (dev: /Users/heroldm/code/utility-app/package.json, app: /Users/heroldm/code/utility-app/dist/package.json) +1s
Installing app dependencies for arch x64 to /Users/heroldm/code/utility-app/dist
electron-builder Spawning /usr/local/Cellar/node/8.1.2/bin/node /usr/local/lib/node_modules/npm/bin/npm-cli.js install --production --cache-min 999999999 +65ms
electron-builder cwd: /Users/heroldm/code/utility-app/dist +1ms
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] No repository field.
npm WARN [email protected] No license field.

up to date in 0.142s
electron-builder node (4804) exited with exit code 0 +845ms
Packaging for darwin x64 using electron 1.7.8 to release-builds/mac
electron-builder Spawning /Users/heroldm/code/utility-app/node_modules/7zip-bin-mac/7za x -bd /Users/heroldm/Library/Caches/electron/electron-v1.7.8-darwin-x64.zip -aoa -o/Users/heroldm/code/utility-app/release-builds/mac +723ms

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,8 CPUs x64)

Scanning the drive for archives:
1 file, 48414779 bytes (47 MiB)

Extracting archive: /Users/heroldm/Library/Caches/electron/electron-v1.7.8-darwin-x64.zip
--
Path = /Users/heroldm/Library/Caches/electron/electron-v1.7.8-darwin-x64.zip
Type = zip
Physical Size = 48414779

Everything is Ok

Folders: 143
Files: 181
Size:       123416084
Compressed: 48414779
electron-builder 7za (4805) exited with exit code 0 +2s
electron-builder Executing security find-identity -v +3s
electron-builder Executing security find-identity -v -p codesigning +12ms
electron-builder   1) asdasdasdasdasda "Developer ID Application: Corp. (******)”
electron-builder   2) asdsadadasdasdas "Developer ID Application: Corp. (******)”
electron-builder      2 valid identities found
electron-builder  +94ms
electron-builder   1) asdsadadasdasdas "com.apple.idms.appleid.prd.5a5a4f68436a6c53365538644f413365464d634f71513d3d"
electron-builder   2) asdsadadasdasdas "com.apple.idms.appleid.prd.5a5a4f68436a6c53365538644f413365464d634f71513d3d"
electron-builder   3) asdsadadasdasdas "Developer ID Application: Corp. (******)”
electron-builder   4) asdsadadasdasdas "Developer ID Application: Corp. (******)”
electron-builder      4 valid identities found
electron-builder  +15ms
Signing app (identity: asdsadadasdasdas "Developer ID Application: Corp. (******))
Building DMG
electron-builder Spawning hdiutil create -srcfolder /private/var/folders/yk/4jq7z7jj6kq0ymvfbvlj9sy40000gn/T/temp-files-K5y7HE/1-dmg/.background -srcfolder /Users/heroldm/code/utility-app/release-builds/mac/Our Utility.app -volname Our Utility -anyowners -nospotlight -fs HFS+ -fsargs -c c=64,a=16,e=16 -format UDRW /private/var/folders/yk/4jq7z7jj6kq0ymvfbvlj9sy40000gn/T/temp-files-K5y7HE/0.dmg +23s

This never appears to return. Executing

/private/var/folders/yk/4jq7z7jj6kq0ymvfbvlj9sy40000gn/T/temp-files-K5y7HE/1-dmg/.background -srcfolder /Users/heroldm/code/utility-app/release-builds/mac/Our Utility.app -volname Our Utility -anyowners -nospotlight -fs HFS+ -fsargs -c c=64,a=16,e=16 -format UDRW /private/var/folders/yk/4jq7z7jj6kq0ymvfbvlj9sy40000gn/T/temp-files-K5y7HE/0.dmg

returns

hdiutil: create: Only one image can be created at a time.
Usage:	hdiutil create <sizespec> [options] <imagepath>
	hdiutil create -help
@develar
Copy link
Member

develar commented Sep 26, 2017

For now building works ONLY on macOS High Sierra on CI servers. e.g. on Travis. (xcode9.0).

Only one image can be created at a time.

If you execute command directly, don't forget to escape args. -volname "Our Utility"

Yes — hdiutil hangs forever (99% CPU).

@enami
Copy link

enami commented Sep 26, 2017

Same here. It looks like hdiutil of macOS High Sierra hangs eating cpu if multiple -srcfolder options are given.
I wrote quick throwaway script to work around this, since I need to pack my application on High Sierra today (note that the script does not cleanup temporary directory).

#!/bin/sh

if [ "$1" = create ]; then
   tmpdir=$(mktemp -d /tmp/hdiutil.XXXXX)
   shift 1
   while [ X"$1" = X'-srcfolder' ]
   do
	cp -pr $2 ${tmpdir}/.
	shift 2 	 
   done
   exec /usr/bin/hdiutil create -srcfolder ${tmpdir} ${1+"$@"}
else
   exec /usr/bin/hdiutil ${1+"$@"}
fi

develar added a commit to develar/electron-builder that referenced this issue Sep 26, 2017
@develar
Copy link
Member

develar commented Sep 26, 2017

19.30.4

@Andrew1431
Copy link

I'm trying to set up a coworker with the ability to build our application for work, and we keep getting stuck here. I'm successfully building on version 17.8.0, but am getting the same issue he is on 19.30.4 (or latest too). If I downgrade to 17.8.0 it is successful, but if he downgrades to 17.8.0 it is unsuccessful. Is there a way I can "snapshot" all my packages and get his environment to copy all my versions so he can successfully build? I am resigning in a week and a half, but am currently the only employee that is able to build our production application.

@develar
Copy link
Member

develar commented Oct 12, 2017

@Andrew1431 Step 1: Use yarn and yarn.lock

@Andrew1431
Copy link

Andrew1431 commented Oct 12, 2017

Okay, so after much hassle getting yarn working, we now are
a) Synced node versions at v6.11.4
b) Synced npm versions at 3.10.10
c) Synced yarn install with yarn.lock
d) Synced OS at FUCK we're not syncronized. I just updated to latest OS, and it only put me at 10.12.6 while my co-worker is somehow at 10.13.

I'm going to have to assume this is the issue. How does he have beta-access or extra access to sierra? Or are these updates sent in batches?

Edit: to add, I can still build my DMG without issue.

@Andrew1431
Copy link

Okay, I had another co-worker reproduce the steps, and he was able to do it without issue on 10.12.6. I think this issue re-occured in in OS 10.13.

@develar
Copy link
Member

develar commented Oct 12, 2017

10.13 high Sierra is released, please upgrade. Please use node 8 if possible.
Please set env DEBUG=electron-builder and attach log of the terminal outputn.

@Andrew1431
Copy link

Andrew1431 commented Oct 12, 2017

So on his computer,

Building DMG
  electron-builder Spawning /Users/RileyDavidson/Documents/g1-pos-printing/repository/node_modules/7zip-bin-mac/7za a -bd -mx=9 -mm=Deflate /Users/RileyDavidson/Documents/g1-pos-printing/repository/release/GoServer-1.0.5-mac.zip GoServer.app +154ms

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,8 CPUs x64)

Scanning the drive:
  electron-builder Spawning hdiutil create -srcfolder /var/folders/ws/qv9g4cms7m5gj9m0x6qh4_k40000gn/T/electron-builder-BQ3r7x/0-1-dmg/.background -srcfolder /Users/RileyDavidson/Documents/g1-pos-printing/repository/release/mac/GoServer.app -volname GoServer 1.0.5 -anyowners -nospotlight -fs HFS+ -fsargs -c c=64,a=16,e=16 -format UDRW /var/folders/ws/qv9g4cms7m5gj9m0x6qh4_k40000gn/T/electron-builder-BQ3r7x/0-1-dmg/temp.dmg +8ms
143 folders, 179 files, 130271936 bytes (125 MiB)

Creating archive: /Users/RileyDavidson/Documents/g1-pos-printing/repository/release/GoServer-1.0.5-mac.zip

Items to compress: 322


Files read from disk: 179
Archive size: 47135649 bytes (45 MiB)
Everything is Ok
  electron-builder /Users/RileyDavidson/Documents/g1-pos-printing/repository/node_modules/7zip-bin-mac/7za (1985) exited with code 0 +1m
  electron-builder Explicit publish provider: {
  electron-builder   "provider": "s3",
  electron-builder   "region": "us-west-2",
  electron-builder   "bucket": "my-work-bucket"
  electron-builder } +2ms

Hung here for about 10 minutes now. He is on OS 10.13, and is now using latest "Current" node downloaded from the internet, aka 8.7.0.

I'm on v6.11.4 node still but I'm still successfully building on 10.12.6. Here is my finished build output with the DEBUG flag.

Building DMG
  electron-builder Spawning /Users/andrew/code/g1-pos-print/node_modules/7zip-bin-mac/7za a -bd -mx=9 -mm=Deflate /Users/andrew/code/g1-pos-print/release/GoServer-1.0.5-mac.zip GoServer.app +10s

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,8 CPUs x64)

Scanning the drive:
  electron-builder Spawning hdiutil create -srcfolder /var/folders/8q/db12hjjj3vb71zjscx8vcgrm0000gn/T/electron-builder-HhVxrv/0-1-dmg/.background -srcfolder /Users/andrew/code/g1-pos-print/release/mac/GoServer.app -volname GoServer 1.0.5 -anyowners -nospotlight -fs HFS+ -fsargs -c c=64,a=16,e=16 -format UDRW /var/folders/8q/db12hjjj3vb71zjscx8vcgrm0000gn/T/electron-builder-HhVxrv/0-1-dmg/temp.dmg +9ms
151 folders, 187 files, 132614802 bytes (127 MiB)

Creating archive: /Users/andrew/code/g1-pos-print/release/GoServer-1.0.5-mac.zip

Items to compress: 338

..............................................................................................................................................
created: /var/folders/8q/db12hjjj3vb71zjscx8vcgrm0000gn/T/electron-builder-HhVxrv/0-1-dmg/temp.dmg
  electron-builder hdiutil (13068) exited with code 0 +7s
  electron-builder Executing hdiutil attach -noverify -noautoopen -readwrite /var/folders/8q/db12hjjj3vb71zjscx8vcgrm0000gn/T/electron-builder-HhVxrv/0-1-dmg/temp.dmg +13ms
/dev/disk2          	GUID_partition_scheme
/dev/disk2s1        	Apple_HFS                      	/Volumes/GoServer 1.0.5

  electron-builder Executing ln -s /Applications /Volumes/GoServer 1.0.5/Applications +1s
  electron-builder &makeEntries("GoServer.app", Iloc_xy => [ 130, 220 ]),
  electron-builder &makeEntries("Applications", Iloc_xy => [ 410, 220 ]),
  electron-builder  +8ms
  electron-builder Executing /usr/bin/perl /var/folders/8q/db12hjjj3vb71zjscx8vcgrm0000gn/T/electron-builder-HhVxrv/0-2-dmgProperties.pl +5ms
  electron-builder Executing sync  +204ms
  electron-builder Executing hdiutil detach /dev/disk2 +129ms
"disk2" unmounted.
"disk2" ejected.

  electron-builder Spawning hdiutil convert /var/folders/8q/db12hjjj3vb71zjscx8vcgrm0000gn/T/electron-builder-HhVxrv/0-1-dmg/temp.dmg -ov -format UDZO -o /Users/andrew/code/g1-pos-print/release/GoServer-1.0.5.dmg -imagekey zlib-level=9 +213ms
Preparing imaging engine…
Reading Protective Master Boot Record (MBR : 0)…
   (CRC32 $35FE4A12: Protective Master Boot Record (MBR : 0))
Reading GPT Header (Primary GPT Header : 1)…
   (CRC32 $939286AF: GPT Header (Primary GPT Header : 1))
Reading GPT Partition Data (Primary GPT Table : 2)…
   (CRC32 $D3D2216D: GPT Partition Data (Primary GPT Table : 2))
Reading  (Apple_Free : 3)…
   (CRC32 $00000000:  (Apple_Free : 3))
Reading disk image (Apple_HFS : 4)…
........................................................................................................................................................................
   (CRC32 $C22DF9CC: disk image (Apple_HFS : 4))
Reading  (Apple_Free : 5)…
........................................................................................................................................................................
   (CRC32 $00000000:  (Apple_Free : 5))
Reading GPT Partition Data (Backup GPT Table : 6)…
........................................................................................................................................................................
   (CRC32 $D3D2216D: GPT Partition Data (Backup GPT Table : 6))
Reading GPT Header (Backup GPT Header : 7)…
.........................................................................................................................................................................
   (CRC32 $931EBF6B: GPT Header (Backup GPT Header : 7))
Adding resources…
.........................................................................................................................................................................
Elapsed Time:  8.429s
File size: 50857770 bytes, Checksum: CRC32 $61223325
Sectors processed: 267574, 262436 compressed
Speed: 15.2Mbytes/sec
Savings: 62.9%
created: /Users/andrew/code/g1-pos-print/release/GoServer-1.0.5.dmg
  electron-builder hdiutil (13125) exited with code 0 +9s
  electron-builder Executing hdiutil internet-enable -no /Users/andrew/code/g1-pos-print/release/GoServer-1.0.5.dmg +0ms
hdiutil: internet-enable: disable succeeded

  electron-builder Explicit publish provider: {
  electron-builder   "provider": "s3",
  electron-builder   "region": "us-west-2",
  electron-builder   "bucket": "my-work-bucket-thatyou-shouldnt-know"
  electron-builder } +64ms

Files read from disk: 187
Archive size: 48921977 bytes (47 MiB)
Everything is Ok
  electron-builder /Users/andrew/code/g1-pos-print/node_modules/7zip-bin-mac/7za (13067) exited with code 0 +1m
  electron-builder Explicit publish provider: {
  electron-builder   "provider": "s3",
  electron-builder   "region": "us-west-2",
  electron-builder   "bucket": "MY-WORK-BUCKET"
  electron-builder } +3ms
➜  g1-pos-print git:(master)

Edited out my buckets, not like they're a big deal

@develar
Copy link
Member

develar commented Oct 12, 2017

@Andrew1431 you use old version of electron builder. Remove node_modules and install using yarn.

@Andrew1431
Copy link

Thanks, took a while to get it to work, but all is good :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants