JDK-8264260 : [macos]: IOException while codesigning the application
  • Type: Bug
  • Component: tools
  • Sub-Component: jpackage
  • Affected Version: 16
  • Priority: P3
  • Status: Closed
  • Resolution: Not an Issue
  • OS: os_x
  • CPU: x86_64
  • Submitted: 2021-03-26
  • Updated: 2022-04-28
  • Resolved: 2021-04-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 17
17Resolved
Related Reports
Relates :  
Description
ADDITIONAL SYSTEM INFORMATION :
Mac OS 10.15.7
Java 16

A DESCRIPTION OF THE PROBLEM :
OS X running jpackage and doing developer signing gets an error

Caused by: java.io.IOException: Command [/usr/bin/codesign, --timestamp, --options, runtime, -s, Developer ID Application: Michael Hall (5X6BXQB3Q7), --prefix, us.hall.hp.common., -vvvv, --entitlements, /var/folders/dh/91wmrk0n6lzfmr4tjhjmcfp40000gn/T/jdk.jpackage17251010229958736190/config/HalfPipe.entitlements, /var/folders/dh/91wmrk0n6lzfmr4tjhjmcfp40000gn/T/jdk.jpackage17251010229958736190/images/image-4370652869331292597/HalfPipe.app/Contents/app/libfscript.dylib] exited with 1 code
	at jdk.jpackage/jdk.jpackage.internal.Executor.executeExpectSuccess(Executor.java:91)
	at jdk.jpackage/jdk.jpackage.internal.IOUtils.exec(IOUtils.java:191)
	at jdk.jpackage/jdk.jpackage.internal.IOUtils.exec(IOUtils.java:152)
	at jdk.jpackage/jdk.jpackage.internal.MacAppImageBuilder.lambda$signAppBundle$34(MacAppImageBuilder.java:688)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.stream.ReferencePipeline$15$1.accept(ReferencePipeline.java:541)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at jdk.jpackage/jdk.jpackage.internal.MacAppImageBuilder.signAppBundle(MacAppImageBuilder.java:647)
	at jdk.jpackage/jdk.jpackage.internal.MacAppImageBuilder.sign(MacAppImageBuilder.java:338)
	at jdk.jpackage/jdk.jpackage.internal.MacAppImageBuilder.prepareApplicationFiles(MacAppImageBuilder.java:300)
	at jdk.jpackage/jdk.jpackage.internal.AppImageBundler.createAppBundle(AppImageBundler.java:172)
	at jdk.jpackage/jdk.jpackage.internal.AppImageBundler.execute(AppImageBundler.java:91)
	... 7 more

Possibly related
https://bugs.openjdk.java.net/browse/JDK-8246792?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel&showAll=true
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8263156

REGRESSION : Last worked in version 15.0.2

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
jpackage with developer signing. I'm assuming any time at java 16 but haven't tried to do any additional isolation.
My command includes...
	--mac-package-identifier "org.mik3hall.halfpipe" \
	--mac-sign \
	--mac-signing-key-user-name "Michael Hall"


EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
built and signed application
ACTUAL -
The build stops with an Exception thrown on codesign

---------- BEGIN SOURCE ----------
Signing information as above
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
For now I eliminated signing

FREQUENCY : always



Comments
There was no reason to re-open this bug. The original submitter says: "I am currently unable to reproduce with my jdk16. It also appears to work with jdk17," They then go on to bring up unrelated issues, but not to give any more info on this issue.
15-04-2021

Information received from the submitter =========================== It looks like this has been closed with a related issue. I am currently unable to reproduce with my jdk16. It also appears to work with jdk17, except for showing this on a application codesign verify… codesign -v --verbose=4 outputdir/HalfPipe.app outputdir/HalfPipe.app: a sealed resource is missing or invalid file modified: /Users/mjh/HalfPipe/HalfPipe_jpkg/outputdir/HalfPipe.app/Contents/runtime/Contents/Home/legal/java.management.rmi/LICENSE file modified: /Users/mjh/HalfPipe/HalfPipe_jpkg/outputdir/HalfPipe.app/Contents/runtime/Contents/Home/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO file modified: /Users/mjh/HalfPipe/HalfPipe_jpkg/outputdir/HalfPipe.app/Contents/runtime/Contents/Home/legal/java.management.rmi/ASSEMBLY_EXCEPTION file modified: /Users/mjh/HalfPipe/HalfPipe_jpkg/outputdir/HalfPipe.app/Contents/runtime/Contents/Home/legal/java.se/LICENSE file modified: /Users/mjh/HalfPipe/HalfPipe_jpkg/outputdir/HalfPipe.app/Contents/runtime/Contents/Home/legal/java.se/ADDITIONAL_LICENSE_INFO file modified: /Users/mjh/HalfPipe/HalfPipe_jpkg/outputdir/HalfPipe.app/Contents/runtime/Contents/Home/legal/java.se/ASSEMBLY_EXCEPTION … And many more, I reported this earlier… https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8263156 To reproduce I would attempt to issue the codesign verify command against any developer signed jpackage application. Has this been done and it hasn’t reproduced? Also regarding… https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8263154 I thought a fix was done for this but apparently it was not integrated for some reason. Recent comments seem to indicate unable to reproduce. I still do at jdk17 [11:50:34.808] Output: /var/folders/dh/91wmrk0n6lzfmr4tjhjmcfp40000gn/T/jdk.jpackage9853474356831835105/config/HalfPipe-dmg-setup.scpt:1045:1246: execution error: Finder got an error: Can’t make class alias file. (-2710) [11:50:34.808] Returned: 1 [11:50:34.808] java.io.IOException: Command [/usr/bin/osascript, /var/folders/dh/91wmrk0n6lzfmr4tjhjmcfp40000gn/T/jdk.jpackage9853474356831835105/config/HalfPipe-dmg-setup.scpt] exited with 1 code at jdk.jpackage/jdk.jpackage.internal.Executor.executeExpectSuccess(Executor.java:91) at jdk.jpackage/jdk.jpackage.internal.IOUtils.exec(IOUtils.java:191) at jdk.jpackage/jdk.jpackage.internal.IOUtils.exec(IOUtils.java:158) at jdk.jpackage/jdk.jpackage.internal.MacDmgBundler.buildDMG(MacDmgBundler.java:392) at jdk.jpackage/jdk.jpackage.internal.MacDmgBundler.bundle(MacDmgBundler.java:88) at jdk.jpackage/jdk.jpackage.internal.MacDmgBundler.execute(MacDmgBundler.java:567) at jdk.jpackage/jdk.jpackage.internal.Arguments.generateBundle(Arguments.java:676) at jdk.jpackage/jdk.jpackage.internal.Arguments.processArguments(Arguments.java:550) at jdk.jpackage/jdk.jpackage.main.Main.execute(Main.java:91) at jdk.jpackage/jdk.jpackage.main.Main.main(Main.java:52) The AppleScript has a bug as I pointed out. It needs to be resolved somehow or DMG builds will not be done correctly. Possibly this may be somehow OS version related in how the script is handled. But it should be possible to change the AppleScript so it works on all versions by having separate variables for the ‘Applications' path and name. I believe this was the change Andy Herrick had ready to go.
12-04-2021

Requested the submitter to check with JDK 17 and provide verbose output of jpackage while code signing
01-04-2021

please re-open within requested info
26-03-2021

without at least the verbose output from jpackage (to see why the codesign command failed) we have no way of investigating this issue. Have you tried with an EA version of JDK-17 (https://jdk.java.net/17/) ? Significant signing improvements have been implemented in 17.
26-03-2021

Mac signing fails with a crash. As per the submitter, it last worked with 15.0.2. As I dont have access to MAC system, it will not be possible for me to reproduce and check.
26-03-2021