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

macStartup and codesignApp properties are broken on MacOS 15.*.* #448

Open
3 of 5 tasks
little-mystic-stuff opened this issue Nov 27, 2024 · 5 comments
Open
3 of 5 tasks

Comments

@little-mystic-stuff
Copy link

little-mystic-stuff commented Nov 27, 2024

I'm submitting a…

  • bug report
  • feature request
  • other

Short description of the issue/suggestion:
Formally it's not a bug, it's just a yet-another-apple-shitty-update. But maybe it can be fixed on JP side. Anyway I hope this information should be useful for somebody.
All built apps cannot be launched after MacOS 15.*.* update. Recompiling/rebuilding/repacking are useless.
After a long juggling with java versions, JP versions and JP configurations, I found a reason - macStartup property (and codesignApp property a little bit). Details are below.

Steps to reproduce the issue with various settings:

Default values (macStartup = SCRIPT, codesignApp = true)

  1. Take arm-Mac with MacOS 15.*.*.
  2. Pack app with default values (macStartup = SCRIPT, codesignApp = true).
  3. Launch packed app.

Result:

  • alert "Application cannot be launched"
  • while trying to launch via terminal "The application /Applications/Icon Generator.app cannot be opened for an unexpected reason, error=Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x600000a584b0 {Error Domain=NSPOSIXErrorDomain Code=162 "Unknown error: 162" UserInfo={NSLocalizedDescription=Launchd job spawn failed}}}" (It didn't happen before MacOS 15.*.* update)

Custom values (macStartup = SCRIPT, codesignApp = false)

  1. Take arm-Mac with MacOS 15.*.*.
  2. Pack app with custom values (macStartup = SCRIPT, codesignApp = false).
  3. Launch packed app.

Result:

  • alert "The application Finder/Dock does not have permission to open null"
  • while trying to launch via terminal "_LSOpenURLsWithCompletionHandler() failed for the application /Applications/Icon Generator.app with error -54."

Custom value (macStartup = UNIVERSAL, codesignApp = false)

  1. Take arm-Mac with MacOS 15.*.*.
  2. Pack app with custom values (macStartup = UNIVERSAL, codesignApp = false).
  3. Launch packed app.

Result:

  • alert "Cannot launch programName"
  • alert with a proposal to send a report of unexpected app shutdown (report example below)
  • while trying to launch via terminal "The application /Applications/Icon Generator.app cannot be opened for an unexpected reason, error=Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x60000179c0f0 {Error Domain=NSPOSIXErrorDomain Code=162 "Unknown error: 162" UserInfo={NSLocalizedDescription=Launchd job spawn failed}}}"
report ------------------------------------- Translated Report (Full Report Below) -------------------------------------

Incident Identifier: E05DE787-1FDB-4B32-8E9A-A7AD86AD79B5
CrashReporter Key: C58B532E-14A7-4418-58B2-E9849A31BF19
Hardware Model: MacBookPro18,3
Process: universalJavaApplicationStub [13073]
Path: /Applications/Icon Generator.app/Contents/MacOS/universalJavaApplicationStub
Identifier: com.ilovepixel.icongenerator
Version: 1.0.0 (1.0.0)
Code Type: X86-64 (Native)
Role: Default
Parent Process: launchd [1]
Coalition: com.ilovepixel.icongenerator [5392]

Date/Time: 2024-11-27 12:07:36.5048 +0100
Launch Time: 2024-11-27 12:07:36.4629 +0100
OS Version: macOS 15.1.1 (24B91)
Release Type: User
Report Version: 104

Exception Type: EXC_CRASH (SIGKILL (Code Signature Invalid))
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: CODESIGNING 4 Launch Constraint Violation

Triggered by Thread: 0

Thread 0 Crashed:
0 main_executable_path_missing 0x7ff7ffccaf7c 0x7ff7ffcc8000 + 12156

Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x0000000000000000
rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp: 0x0000000000000000 rsp: 0x0000000000000000
r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x0000000000000000 r11: 0x0000000000000000
r12: 0x0000000000000000 r13: 0x0000000000000000 r14: 0x0000000000000000 r15: 0x0000000000000000
rip: rfl: 0x0000000000000203
tmp0: 0x0000000000000000 tmp1: 0x0000000000000000 tmp2: 0x0000000000000000

Binary Images:
0x200f61000 - 0x200fedfff dyld_path_missing () <4d52bd1e-6a0e-31db-b564-9e2029fdcd6f> /dyld_path_missing
0x7ff7ffcc8000 - 0x7ff7ffcf7fff main_executable_path_missing (
) <2315e5a0-93f9-38af-a9d5-102bbd4c4c00> /main_executable_path_missing
0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

Error Formulating Crash Report:
dyld_process_snapshot_get_shared_cache failed
PC register does not match crashing frame (0x0 vs 0x7FF7FFCCAF7C)

EOF


Full Report

{"app_name":"universalJavaApplicationStub","timestamp":"2024-11-27 12:07:36.00 +0100","app_version":"1.0.0","slice_uuid":"a97bba30-e21a-30d7-8269-419271e5b75a","build_version":"1.0.0","platform":0,"bundleID":"com.ilovepixel.icongenerator","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 15.1.1 (24B91)","roots_installed":0,"name":"universalJavaApplicationStub","incident_id":"E05DE787-1FDB-4B32-8E9A-A7AD86AD79B5"}
{
"uptime" : 20000,
"procRole" : "Default",
"version" : 2,
"userID" : 501,
"deployVersion" : 210,
"modelCode" : "MacBookPro18,3",
"coalitionID" : 5392,
"osVersion" : {
"train" : "macOS 15.1.1",
"build" : "24B91",
"releaseType" : "User"
},
"captureTime" : "2024-11-27 12:07:36.5048 +0100",
"codeSigningMonitor" : 1,
"incident" : "E05DE787-1FDB-4B32-8E9A-A7AD86AD79B5",
"pid" : 13073,
"translated" : true,
"cpuType" : "X86-64",
"roots_installed" : 0,
"bug_type" : "309",
"procLaunch" : "2024-11-27 12:07:36.4629 +0100",
"procStartAbsTime" : 496482714467,
"procExitAbsTime" : 496483121429,
"procName" : "universalJavaApplicationStub",
"procPath" : "/Applications/Icon Generator.app/Contents/MacOS/universalJavaApplicationStub",
"bundleInfo" : {"CFBundleShortVersionString":"1.0.0","CFBundleVersion":"1.0.0","CFBundleIdentifier":"com.ilovepixel.icongenerator"},
"storeInfo" : {"deviceIdentifierForVendor":"218019D8-59AF-5196-B7A7-7D16B7C8455A","thirdParty":true},
"parentProc" : "launchd",
"parentPid" : 1,
"coalitionName" : "com.ilovepixel.icongenerator",
"crashReporterKey" : "C58B532E-14A7-4418-58B2-E9849A31BF19",
"codeSigningID" : "",
"codeSigningTeamID" : "",
"codeSigningFlags" : 16777216,
"codeSigningValidationCategory" : 0,
"codeSigningTrustLevel" : 4294967295,
"bootSessionUUID" : "B7384369-8BE2-495D-893D-922196384C08",
"wakeTime" : 3606,
"sleepWakeUUID" : "CE47E1DD-CBE4-442F-9023-EE6D4680C1D5",
"sip" : "enabled",
"exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGKILL (Code Signature Invalid)"},
"termination" : {"flags":66,"code":4,"namespace":"CODESIGNING","indicator":"Launch Constraint Violation"},
"extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
"faultingThread" : 0,
"threads" : [{"triggered":true,"id":1181830,"threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":0},"r12":{"value":0},"rosetta":{"tmp2":{"value":0},"tmp1":{"value":0},"tmp0":{"value":0}},"rbx":{"value":0},"r8":{"value":0},"r15":{"value":0},"r10":{"value":0},"rdx":{"value":0},"rdi":{"value":0},"r9":{"value":0},"r13":{"value":0},"rflags":{"value":515},"rax":{"value":0},"rsp":{"value":0},"r11":{"value":0},"rcx":{"value":0},"r14":{"value":0},"rsi":{"value":0}},"frames":[{"imageOffset":12156,"imageIndex":1}]}],
"usedImages" : [
{
"source" : "P",
"arch" : "x86_64",
"base" : 8606060544,
"size" : 577536,
"uuid" : "4d52bd1e-6a0e-31db-b564-9e2029fdcd6f",
"path" : "/dyld_path_missing",
"name" : "dyld_path_missing"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 140703125241856,
"size" : 196608,
"uuid" : "2315e5a0-93f9-38af-a9d5-102bbd4c4c00",
"path" : "/main_executable_path_missing",
"name" : "main_executable_path_missing"
},
{
"size" : 0,
"source" : "A",
"base" : 0,
"uuid" : "00000000-0000-0000-0000-000000000000"
}
],
"vmSummary" : "ReadOnly portion of Libraries: Total=1068K resident=0K(0%) swapped_out_or_unallocated=1068K(100%)\nWritable regions: Total=32.4M written=144K(0%) resident=144K(0%) swapped_out=0K(0%) unallocated=32.2M(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nSTACK GUARD 56.0M 1 \nStack 8176K 1 \nVM_ALLOCATE 24.2M 7 \n__DATA 76K 4 \n__DATA_CONST 24K 1 \n__DATA_DIRTY 8K 2 \n__LINKEDIT 336K 4 \n__TEXT 756K 2 \n__TPRO_CONST 276K 1 \nmapped file 8.6G 39 \npage table in kernel 144K 1 \n=========== ======= ======= \nTOTAL 8.7G 63 \n",
"legacyInfo" : {
"threadTriggered" : {

}
},
"logWritingSignature" : "78527d797240784ad7b650419280b6b78a642777",
"trialInfo" : {
"rollouts" : [
{
"rolloutId" : "632c763c58740028737bfdd2",
"factorPackIds" : {
"SIRI_DIALOG_ASSETS" : "64a57d23fa6fd41b2353e2ae"
},
"deploymentId" : 240000034
},
{
"rolloutId" : "658361a603dc58766bab2d2a",
"factorPackIds" : {
"SIRI_TTS_DEVICE_TRAINING" : "66bcae55caad4670b8e6ac29"
},
"deploymentId" : 240000045
}
],
"experiments" : [
{
"treatmentId" : "45f4e2a5-551b-4bc2-a2dc-19c244dda8f8",
"experimentId" : "6643969b3099cf28e049862f",
"deploymentId" : 400000007
}
]
},
"reportNotes" : [
"dyld_process_snapshot_get_shared_cache failed",
"PC register does not match crashing frame (0x0 vs 0x7FF7FFCCAF7C)"
]
}

Model: MacBookPro18,3, BootROM 11881.41.5, proc 10:8:2 processors, 32 GB, SMC
Graphics: Apple M1 Pro, Apple M1 Pro, Built-In
Display: Color LCD, 3024 x 1964 Retina, Main, MirrorOff, Online
Memory Module: LPDDR5, Hynix
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x4387), wl0: Jul 26 2024 20:03:40 version 20.10.1123.2.8.7.186 FWID 01-94146b8e
IO80211_driverkit-1315.7 "IO80211_driverkit-1315.7" Sep 28 2024 16:04:40
AirPort:
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
USB Device: USB31Bus
USB Device: USB31Bus
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.

What is the motivation for changing the behavior?
All apps cannot be launched on MacOS 15.*.*.

Environment

  • JavaPackager version: 1.7.2, 1.7.4, 1.7.5, 1.7.6
  • Hardware: MacBook Pro 2021 (Apple M1 Pro)
  • OS version: MacOS 15.1.1 (24B91), MacOS 15.0.1
  • JDK version: openjdk-23, openjdk-21, openjdk-17
  • Build tool:
    • Maven
    • Gradle

Temporary workaround for users
Set macStartup = ARM64, codesignApp = false in all your projects (if you aren't using signing).
Do not forget to repack your projects and distribute updates

@mremars
Copy link

mremars commented Nov 28, 2024

Unfortunately, temporary workaround doesn't work with macStartup = X86_64 and codesignApp = false

@fvarrui
Copy link
Owner

fvarrui commented Nov 28, 2024

Hi @little-mystic-stuff and @mremars!
There was a similar issue: #430 ... it was fixed on MacOS 15 setting macStarup=UNIVERSAL.
I hope it helps!

@mremars
Copy link

mremars commented Nov 28, 2024

Thanks a lot. Works fine with macStartup=UNIVERSAL

@little-mystic-stuff
Copy link
Author

little-mystic-stuff commented Nov 28, 2024

Unfortunately, temporary workaround doesn't work with macStartup = X86_64 and codesignApp = false

That's true.

Hi @little-mystic-stuff and @mremars! There was a similar issue: #430 ... it was fixed on MacOS 15 setting macStarup=UNIVERSAL. I hope it helps!

Unfortunately UNIVERSAL property value has another error I mentioned before
"The application /Applications/Icon Generator.app cannot be opened for an unexpected reason, error=Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x60000179c0f0 {Error Domain=NSPOSIXErrorDomain Code=162 "Unknown error: 162" UserInfo={NSLocalizedDescription=Launchd job spawn failed}}}"

@maths22
Copy link
Contributor

maths22 commented Dec 1, 2024

You could try setting customLauncher to a copy of the nativeJavaApplicationStub here: https://github.com/maths22/universalJavaApplicationStub/actions/runs/12102350031 . I don't know if it will work, but it's an entirely separate implementation of the launcher, so it might work? (see fvarrui/universalJavaApplicationStub#1 for context)

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

No branches or pull requests

4 participants