Summary
Installing/loading the Oracle driver plugin can fail with:
Invalid plugin bundle: Bundle failed to load executable
What I found
In app code, the message is emitted when Bundle.load() returns false in PluginManager.validateAndLoadBundle:
TablePro/Core/Plugins/PluginManager.swift:549 throws PluginError.invalidBundle("Bundle failed to load executable")
TablePro/Core/Plugins/PluginError.swift:29 formats that as Invalid plugin bundle: ...
This drops the underlying dyld/NSBundle error, so users cannot tell whether the real cause is OS version, missing Swift runtime, architecture, signature, dependency, etc.
I checked current Oracle registry entry from TableProApp/plugins:
- plugin:
com.TablePro.OracleDriver
- version:
1.2.17
- registry
minAppVersion: 0.56.1
- arm64 ZIP checksum matches registry:
fe51fd2a360151d8d3dd5dff0c31ecd12a8529eb25b7667bd265b5f0732b336b
Extracted OracleDriver.tableplugin/Contents/Info.plist shows:
DTXcode = 2641
DTSDKName = macosx26.4
DTPlatformVersion = 26.4
DTCompiler = com.apple.compilers.llvm.clang.1_0
LSMinimumSystemVersion = 14.0
TableProPluginKitVersion = 18
NSPrincipalClass = OracleDriver.OraclePlugin
otool -L shows dependency on @rpath/TableProPluginKit.framework and several Swift runtime dylibs, including newer weak Swift libs like libswiftSynchronization.dylib.
Why this may be happening
The Oracle plugin artifact appears to be built with Xcode 17 / macOS 26.4 SDK, while the registry allows app version 0.56.1. On user machines with older TablePro builds or older macOS/Swift runtime combinations, Bundle.load() may fail before the plugin class loads. The app then reports only the generic message above.
Suggested fixes
- Surface the underlying load error instead of only
Bundle.load() == false. Using Bundle.loadAndReturnError() would make this actionable.
- Recheck Oracle plugin registry compatibility fields for v1.2.17. If this artifact requires newer TablePro/macOS/runtime than
minAppVersion: 0.56.1, bump registry metadata or rebuild with the intended deployment/toolchain.
- Optional: log
otool/dyld failure details in the plugin diagnostic sheet.
Repro context
User hits this while installing Oracle driver from the plugin marketplace. Artifact checked from current plugin registry.
Summary
Installing/loading the Oracle driver plugin can fail with:
What I found
In app code, the message is emitted when
Bundle.load()returns false inPluginManager.validateAndLoadBundle:TablePro/Core/Plugins/PluginManager.swift:549throwsPluginError.invalidBundle("Bundle failed to load executable")TablePro/Core/Plugins/PluginError.swift:29formats that asInvalid plugin bundle: ...This drops the underlying dyld/NSBundle error, so users cannot tell whether the real cause is OS version, missing Swift runtime, architecture, signature, dependency, etc.
I checked current Oracle registry entry from
TableProApp/plugins:com.TablePro.OracleDriver1.2.17minAppVersion:0.56.1fe51fd2a360151d8d3dd5dff0c31ecd12a8529eb25b7667bd265b5f0732b336bExtracted
OracleDriver.tableplugin/Contents/Info.plistshows:otool -Lshows dependency on@rpath/TableProPluginKit.frameworkand several Swift runtime dylibs, including newer weak Swift libs likelibswiftSynchronization.dylib.Why this may be happening
The Oracle plugin artifact appears to be built with Xcode 17 / macOS 26.4 SDK, while the registry allows app version
0.56.1. On user machines with older TablePro builds or older macOS/Swift runtime combinations,Bundle.load()may fail before the plugin class loads. The app then reports only the generic message above.Suggested fixes
Bundle.load() == false. UsingBundle.loadAndReturnError()would make this actionable.minAppVersion: 0.56.1, bump registry metadata or rebuild with the intended deployment/toolchain.otool/dyldfailure details in the plugin diagnostic sheet.Repro context
User hits this while installing Oracle driver from the plugin marketplace. Artifact checked from current plugin registry.