iPadOS: [API] Failed to create 0x88 image slot (alpha=1 wide=0) (client=0xfbe80e61) [0x5 (os/kern) failure]

I got the error "[API] Failed to create 0x88 image slot (alpha=1 wide=0) (client=0xfbe80e61) [0x5 (os/kern) failure]" when using NavigationStack of SwiftUI for navigation. It only happen in iPadOS (16.4) but not iOS in iPhone.

Below is the view I am using.


struct NewView: View {
    var body: some View {
        NavigationStack {
            VStack {
                NavigationLink("Show Detail View") {
                    DetailView()
                }
            }
            .navigationTitle("Navigation")
        }
    }
}

struct DetailView: View {
    var body: some View {
        Text("This is the detail view")
    }
}

Anyone know the reason?

I face the same issue. It work well on simulator but doesn't work on my iPad Pro 12" Failed to create 0x88 image slot (alpha=1 wide=1) (client=0x76821718) [0x5 (os/kern) failure]

`ScrollView(.horizontal){ HStack{ Spacer(minLength: 20) ForEach(filteredImagesItemList) {imagesItem in NavigationLink { NavigationStack { ImageView(imagesItem : imagesItem) } } label: { RectImageItemView(imagesItem : imagesItem) } Spacer(minLength: 40) } }.padding() }

I have a simple SceneKit app that uses SCNRenderer to render into an offscreen Metal texture. Working fine on macOS and iPhone OS but on iPad OS it runs with the above error message as well. If it is running under Xcode debugger the view appears and renders correctly, but when running on the device without the debugger it just crashes.

com.apple.scenekit.renderingQueue.SCNView0x107b05380
Thread 1 Crashed:
0   libsystem_kernel.dylib        	       0x1c57f7558 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x1e62b1118 pthread_kill + 268
2   libsystem_c.dylib             	       0x18e8ea178 abort + 180
3   libsystem_c.dylib             	       0x18e9420a4 __assert_rtn + 272
4   Metal                         	       0x18217921c MTLReportFailure.cold.1 + 48
5   Metal                         	       0x1821580b8 MTLReportFailure + 464
6   Metal                         	       0x18206dab8 -[_MTLCommandBuffer addCompletedHandler:] + 128
7   OrbEnergy                     	       0x104500544 MTLOffscreenContext.offscreenRender(withTextureTarget:clearColor:waitUntilCompleted:sceneRender:) + 2984
8   OrbEnergy                     	       0x1045077d4 OrbSCNScene2Metal2MetalViewController.renderOffscreenSCNRenderer(atRenderTime:) + 544
9   OrbEnergy                     	       0x104507a04 OrbSCNScene2Metal2MetalViewController.renderer(_:updateAtTime:) + 68
10  OrbEnergy                     	       0x104507a4c @objc OrbSCNScene2Metal2MetalViewController.renderer(_:updateAtTime:) + 60
11  SceneKit                      	       0x1d44f048c -[SCNRenderer _update:] + 360
12  SceneKit                      	       0x1d44f0014 -[SCNRenderer _drawSceneWithNewRenderer:] + 156
13  SceneKit                      	       0x1d44eff14 -[SCNRenderer _drawScene:] + 44
14  SceneKit                      	       0x1d44e90fc -[SCNRenderer _drawAtTime:] + 504
15  SceneKit                      	       0x1d44e8cdc -[SCNView _drawAtTime:] + 372
16  SceneKit                      	       0x1d4606b84 _

The exact error message is:

[API] Failed to create 0x88 image slot (alpha=1 wide=1) (client=0x18960791) [0x5 (os/kern) failure]

I faced the same issue. Project was legacy UIKit app and I was adding new features with SwiftUI. It would run on the phone and ipad emulator but crash with this error.

Fix:

I changed the navigation view in my view files to a scrollview and removed all the navigation buttons and hide overloads. I then used a UIHostingController and use the UIKit Navigation components and was able to build and run. Main thing is remove the NavigationView in your SwiftUI Code.

Below is example of the hybrid navigation control with the hosting controller:

import Foundation import UIKit import SwiftUI

class MfaChooseMethodsViewController : UIViewController { var vm : MfaViewModel = MfaViewModel()

func setNavBarAppearance()
{
    let navigationBarAppearance = UINavigationBarAppearance()
    navigationBarAppearance.configureWithDefaultBackground()
    navigationBarAppearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
    navigationBarAppearance.backgroundColor = .systemBlue
    navigationController?.navigationBar.tintColor = .white
    navigationItem.largeTitleDisplayMode = .always
    
    let label = UILabel()
    label.font = label.font.withSize(30)
    label.text = "Two Step Verification"
    label.textColor = .white
    label.textAlignment = .left
    self.navigationItem.titleView = label
    label.translatesAutoresizingMaskIntoConstraints = false
    label.superview?.addConstraint(NSLayoutConstraint(item: label, attribute: .centerX, relatedBy: .equal, toItem: label.superview, attribute: .centerX, multiplier: 1, constant: 0))
    label.superview?.addConstraint(NSLayoutConstraint(item: label, attribute: .width, relatedBy: .equal, toItem: label.superview, attribute: .width, multiplier: 1, constant: 0))
    label.superview?.addConstraint(NSLayoutConstraint(item: label, attribute: .centerY, relatedBy: .equal, toItem: label.superview, attribute: .centerY, multiplier: 1, constant: 0))
    label.superview?.addConstraint(NSLayoutConstraint(item: label, attribute: .height, relatedBy: .equal, toItem: label.superview, attribute: .height, multiplier: 1, constant: 0))
    
    
    //let play = UIBarButtonItem(title: "Play", style: .plain, target: self, action: #selector(playTapped))

    //navigationItem.rightBarButtonItems = [add, play]
    
    navigationItem.standardAppearance = navigationBarAppearance
    navigationItem.compactAppearance = navigationBarAppearance
    navigationItem.scrollEdgeAppearance = navigationBarAppearance
}


override func viewDidLoad() {
    super.viewDidLoad()
    
    print("*** data for MfaChooseMethodsViewController:viewDidLoad \(vm)")
    
    setNavBarAppearance()
    // 1.
    let mfaChooseUIView = MfaMethodsView(model: vm)
    
    // 2.
    let hostingController = UIHostingController.init(rootView: mfaChooseUIView)
    
    // 3.
    self.addChild(hostingController)
    
    // 4.
    hostingController.didMove(toParent: self)
    
    // 5.
    self.view.addSubview(hostingController.view)
    
    // 6.
    hostingController.view.translatesAutoresizingMaskIntoConstraints = false
    NSLayoutConstraint.activate([
        hostingController.view.topAnchor.constraint(equalTo: self.view.topAnchor),
        hostingController.view.leadingAnchor.constraint(equalTo: self.view.leadingAnchor),
        hostingController.view.trailingAnchor.constraint(equalTo: self.view.trailingAnchor),
        hostingController.view.bottomAnchor.constraint(equalTo: self.view.bottomAnchor),
    ])
    
}

override func viewWillAppear(_ animated: Bool) {
    print("*** data for MfaChooseMethodsViewController:viewWillAppear \(vm)")
}


override func viewWillDisappear(_ animated: Bool) {
    print("*** data for MfaChooseMethodsViewController:viewWillDisappear \(vm)")
}

}

iPadOS: [API] Failed to create 0x88 image slot (alpha=1 wide=0) (client=0xfbe80e61) [0x5 (os/kern) failure]
 
 
Q