Recent Comments

Open Radar FB11942354: ld64 inserts 4096 nop instructions in __text section between symbols

With the latest Xcode 16 beta I get the following output now:

% bash repro.sh helloworld-unaligned-ptrs.o

  • ld -version_details | jq .version

"1115.5.3"

  • xcodebuild -version

Xcode 16.0

Build version 16A5171c

++ xcode-select -p

  • XCODE_HOME=/Applications/Xcode16-beta1.app/Contents/Developer

++ pwd

++ pwd

  • ld -demangle -lto_library /Applications/Xcode16-beta1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 13.0.0 13.1 -syslibroot /Applications/Xcode16-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -o helloworld-unaligned-ptrs.o.binary -L/private/tmp/d08fa92c3d3193ef8f994d93ec3f7227 -L/usr/local/lib -U _darwin_check_fd_set_overflow -no_compact_unwind -exported_symbols_list /private/tmp/d08fa92c3d3193ef8f994d93ec3f7227/exported_symbols.list helloworld-unaligned-ptrs.o liblibchelper.a libdarwin.a libjvm.a libnet.a libnio.a libjava.a libfdlibm.a -ldl -lpthread -framework Foundation -lz -lSystem /Applications/Xcode16-beta1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16.0.0/lib/darwin/libclang_rt.osx.a /Applications/Xcode16-beta1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a

ld: warning: no platform load command found in '/private/tmp/d08fa92c3d3193ef8f994d93ec3f7227/helloworld-unaligned-ptrs.o', assuming: macOS

ld: warning: disabling chained fixups because of unaligned pointers

ld: illegal text-relocation in '___text'+0x110258 (/private/tmp/d08fa92c3d3193ef8f994d93ec3f7227/helloworld-unaligned-ptrs.o) to '_JavaVMOperation_setQueuingThread_48eaaa57f9b892acb92c7cf8b4ac18c6832bd402'

The linker got more strict and doesn’t allow relocations for movabs anymore. Which I think is fine, according to the reloc.h headers that shouldn’t be possible anyways. It doesn’t exactly fix the issue, but just forces us to find another solution. Which we already have: instead of having a movabs $full_addr instruction, we do PC relative addressing and emit an (valid) relocation for that.

Open Radar FB11942354: ld64 inserts 4096 nop instructions in __text section between symbols

Apple Feedback

Please verify this issue with Xcode 16 Beta and update your bug report with your results by logging into https://feedbackassistant.apple.com/ or by using the Feedback Assistant app.

Xcode 16 Beta (16A5171c) https://developer.apple.com/download/ Posted Date: June 10, 2024

If resolved, you can close your feedback by choosing the Close Feedback menu item in the Actions pop-up in Feedback Assistant.

If the issue persists, please attach a new sysdiagnose captured in the latest build and attach it to the bug report. Thank you.

Xcode Sysdiagnose for macOS Instructions: https://developer.apple.com/services-account/download?path=/OS_X/OS_X_Logs/Xcode_sysdiagnose_Logging_Instructions.pdf

Simulator Diagnose for macOS Instructions: https://developer.apple.com/services-account/download?path=/OS_X/OS_X_Logs/simctl_Diagnose_Logging_Instructions.pdf

Open Radar FB11942354: ld64 inserts 4096 nop instructions in __text section between symbols

Please retry your linker invocation with “helloworld-unaligned-ptrs.o” to reproduce the 4k NOPs symptom.

With “helloworld-aligned-ptrs.o” there are no NOPs inserted indeed, however the resulting binary segfaults in dyld.

Open Radar FB11942354: ld64 inserts 4096 nop instructions in __text section between symbols

Apple Feedback

Please know that we're unable to reproduce the mis-link:

[/tmp/a]> /Applications/Xcode2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld-820.1 -dynamic -arch x86_64 -platform_version macos 13.0.0 13.1 -syslibroot /Applications/Xcode2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -o a.binary -L. -U _darwin_check_fd_set_overflow -no_compact_unwind helloworld-aligned-ptrs.o liblibchelper.a libdarwin.a libjvm.a libnet.a libnio.a libjava.a libfdlibm.a -framework Foundation -lz -lSystem

[/tmp/a]> otool -lv a.binary|grep -A8 LC_BUILD






















































  cmd LC_BUILD_VERSION

cmdsize 32

platform MACOS

minos 13.0

  sdk 13.1

ntools 1

 tool LD

version 820.1

Load command 12

[/tmp/a]> nm -nm a.binary| grep Character.toUpper



















































0000000100154520 (TEXT,text) non-external CharactertoUpperCase_32e6350ee20942d333d8e148b79c97eea2676c03

0000000100154760 (TEXT,text) non-external CharactertoUpperCaseCharArray_d3bece676e84f7b3101e5e3b92b8791bafb5cb4e

0000000100154cb0 (TEXT,text) non-external CharactertoUpperCaseEx_5e336fa9cb982976a8ba6aaa89c54c23324f695a

[/tmp/a]>

There was no 4K of NOPs inserted. But these address are slightly different than in the github readme.

The linker does break up sections at each symbol into "atoms", each with their own alignment requirements. They do during layout if the next atom's layout requirement means the next address won't work, the linker inserts padding until the address will work. For _text section for x8664, the linker inserts NOP bytes. For all other sections, it inserts zeros.

Open Radar 45024092: INPreferences.siriAuthorizationStatus cannot be modified after it is initially set

As per API the result of the call to https://developer.apple.com/documentation/sirikit/intent_handling_infrastructure/requesting_authorization_to_use_siri should be recalled and block execution when it's "denied" but it seems to be ignored.

Cautious developers would check for the value of the "INSiriAuthorizationStatus" and block feature access but that would instead lead to a deadlock as no toggles on Settings-> App -> Siri would trigger a user prompt for authorisation (as suggested by docs)

No documented changes on API I could find on the iOS releases notes > 11.0

By jaime.agudo.lopez at May 24, 2024, 3:32 p.m.

Open Radar 39961709: mapping modifier keys swaps left and right

Looks like it was fixed in macOS Ventura

By fwvdijk at May 21, 2024, 2:23 p.m.

Open Radar FB13754641: Quicklook operation for a single VCF (contact) file requires access to entire Contacts database even though technically not necessary

Apple feedback

Just got a note from Apple that this is now being look into. No confirmation that they can reproduce it, yet.

By tempelmann at May 20, 2024, 7:54 p.m.

Open Radar FB13471297: Equivalent tracks API returns incorrect track

Apple

We believe this has been improved, please verify and let us know.

By darren.mo at May 18, 2024, 1:13 a.m.

Open Radar FB13453582: macOS 14 Sonoma ikev2 vpn rekey sends invalid proposals, causing a disconnect every 24/48 minutes, error NoProposalChosen

Same happens me

Do you have any idea how to solve it? is a lot frustrating to reconnect every 24mins

By engels.medina at May 2, 2024, 4:37 p.m.

Open Radar FB13445046: Cascade delete does not work

Me

I am still able to reproduce the issue with iOS 17.5 Beta 2. See the attached screenshot. I have circled the issue in red. After deleting the parent, the child is still alive and its parent relationship is set to nil.

Are you sure you checked the right store? The sample application uses an in-memory store.

By darren.mo at May 1, 2024, 4:34 a.m.

Open Radar FB13445046: Cascade delete does not work

Apple

After reviewing your feedback, we have some additional information for you, or some additional information, or action is necessary for this issue:

We checked the store before and after the deletion of the parent was performed and the delete cascades- objects from both sides of the relationship are deleted. Tested with the sample application provided.

Please close this feedback report, if there's nothing else you need from us here.

By darren.mo at May 1, 2024, 4:34 a.m.

Open Radar FB13758633: Expose Total Store Ordering to applications

The QEMU project tracks the issue at: https://gitlab.com/qemu-project/qemu/-/issues/2295

By akihiko.odaki at April 27, 2024, 8:07 a.m.

Open Radar FB13363786: SwiftData crashes when saving certain types of enum cases

Apple

Hello,

Thank you for filing the feedback report. We made changes to our system. Please verify this issue with iOS 17.5 beta and update your bug report with your results by logging into https://feedbackassistant.apple.com/ or by using the Feedback Assistant app.

iOS 17.5 beta (Build: 21F5048f) https://developer.apple.com/download/ Posted Date: April 2, 2024

If resolved, you can close your feedback by choosing the Close Feedback menu item in the Actions pop-up in Feedback Assistant.

If the issue persists, please attach a new sysdiagnose captured in the latest build and attach it to the bug report. Thank you.

iOS sysdiagnose Instructions: https://developer.apple.com/services-account/download?path=/iOS/iOS_Logs/sysdiagnose_Logging_Instructions.pdf


For a complete list of logging instructions visit: https://developer.apple.com/bug-reporting/profiles-and-logs/

We appreciate your feedback and looking forward to hear from you.

By darren.mo at April 19, 2024, 6:18 a.m.

Open Radar FB13406194: `DisclosureGroup` does not animate `isExpanded` binding update when inside a `List`

Me

Thanks for looking into it! Looking forward to the long-term solution.

By darren.mo at April 19, 2024, 6:17 a.m.

Open Radar FB13406194: `DisclosureGroup` does not animate `isExpanded` binding update when inside a `List`

Apple

We examined your provided project and did find the difference between macOS and iOS, and it will be addressed in future. For a workaround, please update your binding to the DisclosureGroup from isExpanded: $isExpanded to isExpanded: $isExpanded.animation(), so that the DisclosureGroup will be forced to update the state with animation, and it will let List/DisclosureGroup on macOS behave as the same as iOS

Also just to be clear - the iOS side also does not animate row sizes, it only animate the text size, so it has the same issue of text ‘jumping’

By darren.mo at April 19, 2024, 6:16 a.m.

Open Radar FB13723251: UIDropSession.canLoadObjects(ofClass: NSItemProviderReading) not working correctly when using Universal Control in iOS 17

Workaround

For now you can replace these:

session.canLoadObjects(ofClass: aClass)

With:

session.hasItemsConforming(toTypeIdentifiers: aClass.readableTypeIdentifiersForItemProvider)

By victor.pimentel at April 12, 2024, 8:52 a.m.

Open Radar FB13723251: UIDropSession.canLoadObjects(ofClass: NSItemProviderReading) not working correctly when using Universal Control in iOS 17

Info.plist

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>UIApplicationSceneManifest</key> <dict> <key>UIApplicationSupportsMultipleScenes</key> <false/> <key>UISceneConfigurations</key> <dict> <key>UIWindowSceneSessionRoleApplication</key> <array> <dict> <key>UISceneConfigurationName</key> <string>Default Configuration</string> <key>UISceneDelegateClassName</key> <string>$(PRODUCT_MODULE_NAME).SceneDelegate</string> <key>UISceneStoryboardFile</key> <string>Main</string> </dict> </array> </dict> </dict> <key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeConformsTo</key> <array> <string>public.composite-content</string> </array> <key>UTTypeDescription</key> <string>Example Document</string> <key>UTTypeIconFiles</key> <array/> <key>UTTypeIdentifier</key> <string>com.example.mydocument</string> <key>UTTypeTagSpecification</key> <dict/> </dict> </array> </dict> </plist>

By victor.pimentel at April 12, 2024, 8:47 a.m.

Open Radar FB13723251: UIDropSession.canLoadObjects(ofClass: NSItemProviderReading) not working correctly when using Universal Control in iOS 17

ViewController.swift

import UIKit

class ViewController: UIViewController, UIDropInteractionDelegate {

override func viewDidLoad() {
    super.viewDidLoad()

    let interaction = UIDropInteraction(delegate: self)
    view.addInteraction(interaction)
}

func dropInteraction(_ interaction: UIDropInteraction, canHandle session: UIDropSession) -> Bool {
    true
}

func dropInteraction(_ interaction: UIDropInteraction, sessionDidUpdate session: UIDropSession) -> UIDropProposal {
    UIDropProposal(operation: .copy)
}

func dropInteraction(_ interaction: UIDropInteraction, performDrop session: UIDropSession) {
    if session.canLoadObjects(ofClass: ExampleProviderReading.self) {
        print("Can load objects")
        session.loadObjects(ofClass: ExampleProviderReading.self) { containers in
            guard let container = containers.first as? ExampleProviderReading else {
                fatalError("[BUG] Could not load object!")
            }
            print("Loaded an object: \(container)")
        }
    }
}

}

final class ExampleProviderReading: NSObject, NSItemProviderReading { static var readableTypeIdentifiersForItemProvider: [String] { return ["com.example.mydocument"] }

static func object(withItemProviderData data: Data, typeIdentifier: String) throws -> ExampleProviderReading {
    ExampleProviderReading()
}

}

By victor.pimentel at April 12, 2024, 8:45 a.m.