Closed lenkawell closed 2 years ago
This backtrace doesn't seem indicative of a crash, but it's entirely possible that an assertion or other error is bubbling up out of the sync loading API. Does this happen with all glTF files? If not, can you attach a representative one?
The app isn't crashing - its Swift catch block is being invoked. I've tried setting an All Exceptions breakpoint, but it doesn't break there.
I thought I'd try using the synchronous form of GLTFAsset() because I have my own operation queues that manage async loading of all model files. When I use the async version of GLTFAsset.load() it works (at least it loads the model ok - there is still some synchronization issue that I haven't debugged yet).
The synchronous API problem seems to occur with 6 different models that I've tried (including the ones I posted in other issues, like Fox.glb).
Here's the synchronous code snipett:
let asset = try GLTFAsset(url: url, options: [:])
let source = GLTFSCNSceneSource(asset: asset)
if let scene = source.defaultScene {
return scene
} else {
}
Here is a "bt all" (I disabled my own operation queues for this test to hopefully simplify the traces): btall.txt
Thanks for the additional detail. I'll investigate this.
There was an off-by-one error in the blocking logic for synchronous loading. This should be fixed as of 0038041.
Seems to work fine now. Thanks!
It seems like synchronous asset loading is failing with some kind of exception.
I apologize that I cannot seem to get more info. I can't locate an error code or a very helpful backtrace to include. I have an exception handler (do / catch in Swift) which is being invoked, but error is nil. Let me know if this is useful or if I should continue to look for more info.