Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
Crash in metalShaderEngine — Gideros Forum

Crash in metalShaderEngine

troysandaltroysandal Member
edited December 2023 in Bugs and issues
I'm trying to build a Gideros iOS simulator that include Flurry but every time I add the Flurry SDK my simulator starts crashing. The steps I took were as follows:
  1. Create a new Gideros project
  2. Add the Flurry plugin in gideros
  3. Export the project to Xcode
  4. Build and run the Xcode project to make sure it works with the Bird Animation Example project in the iOS simulator (it works)
  5. Add Flurry according to the Gideros instructions for adding Flurry.
  6. Rebuild the project and run.
Expected: Project to run
Actually: Crash

Macbook Pro 16", Apple M1, macOS 14.1.2
Xcode 15.0.1
simulator: iPad 10th Generation, iOS 17.0

Xcode output

[gideros] starting render thread.
-[_MTLCommandBuffer presentDrawable:]:771: failed assertion `drawable must not be nil.'
-[_MTLCommandBuffer presentDrawable:], line 771: error 'drawable must not be nil.'
Message from debugger: Terminated due to signal 6
Simulator Thread Dump

Thread 19 Crashed:
0 ??? 0x104792a78 ???
1 ??? 0x1065a4c1c ???
2 libsystem_pthread.dylib 0x112d66f30 pthread_kill + 262
3 libclang_rt.tsan_iossim_dynamic.dylib 0x10dcf10da wrap_pthread_kill + 234
4 libsystem_c.dylib 0x11262cd60 abort + 133
5 libsystem_c.dylib 0x11262c046 __assert_rtn + 314
6 Metal 0x1128dfa01 MTLReportFailure.cold.1 + 41
7 Metal 0x1128b84a9 MTLReportFailure + 513
8 Metal 0x1128c8b51 -[_MTLCommandBuffer presentDrawable:] + 420
9 GPUToolsCapture 0x10ffb0ce3 -[CaptureMTLCommandBuffer presentDrawable:] + 186
10 GiderosPlayer iOS 0x1042cfc9a metalShaderEngine::present(id) + 92 (metalShaderEngine.mm:373)
11 GiderosPlayer iOS 0x1040c4800 -[EAGLView deleteFramebuffer] + 192 (EAGLView.m:128)
12 GiderosPlayer iOS 0x1040c4a4e -[EAGLView setFramebuffer] + 142 (EAGLView.m:143)
13 GiderosPlayer iOS 0x1042f4003 ApplicationManager::renderLoop() + 229 (giderosapi.mm:982)
14 GiderosPlayer iOS 0x1042f3f19 ApplicationManager::renderLoop_s(void*) + 9 (giderosapi.mm:962)
15 Foundation 0x1176cb699 __NSThread__start__ + 1024
16 libclang_rt.tsan_iossim_dynamic.dylib 0x10dcee499 __tsan_thread_start_func + 121
17 libsystem_pthread.dylib 0x112d67202 _pthread_start + 99
18 libsystem_pthread.dylib 0x112d62bab thread_start + 15
I've tried installing Flurry both via CocoaPods as well as adding it as a Package, either way it crashes. Removing the pod or package and it goes away. Any help would be appreciated.


Likes: troysandal

+1 -1 (+1 / -0 )Share on Facebook


  • I just realized that there are some other files compiling into my project like bhWax that are complicating things and probably the source of the issue. If I remove these files the project doesn’t crash. I’ll try adding things back the project one by one to see what is causing the issue. Bhwax hasn’t been updated in 10 years but the old game project I’m trying the ressurect depends on it. Probably the issue.

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited December 2023
    sorry troysandal but flurry plugin hasn't been updated in a long time, I don't think it is working with latest Gideros versions.
    EDIT: Flurry may work :) waiting for feedback from troysandal ;)

    EDIT2: well I just got my feet wet with this flurry thing, created an account, opened the flurry Gideros example file and this is working :o windows 10 Gideros 2023.11 android 12

    Now I have to understand the basics and update the wiki :p

    Viva Gideros <3
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • Thanks for the reply and trying this out. Question, did you use the CocoaPods method or Add Package Dependencies? I was only able to get #import "Flurry.h" to work when I used the Add Package Dependencies method, curious if you got the CocoaPods working, I couldn't compile with it. Thanks for updating the Wiki.
  • MoKaLuxMoKaLux Member
    edited December 2023
    troysandal, I haven't tried with apple, and I barely know what CocoaPods is!
    I tried flurry using Gideros Sudio on my windows 10 pc. I copied the Gideros Flurry project to a new location and all I had to do was add the Flurry plugin.

    First try the app crashed but that was because I didn't pass any Flurry app id.

    I also have updated my android Gideros player to include the Flurry plugin and all seems to work pretty well.

    Have you figured it out on your side if it's Flurry or bhWax?
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • Sorry, didn't see the part about Windows. I'm going to work on this today, will let you know what I find.
  • Ok, I figured it out, I had turned off ObjC Automatic Reference Counting in order to get bhWax to build. Turning that off in a vanilla exported Gideros project causes the same crash. My bad! I will try to refactor bhWax to support ARC. Sorry for the waste of time.

    Likes: MoKaLux, pie

    +1 -1 (+2 / -0 )Share on Facebook
Sign In or Register to comment.