Important: Please read the Qt Code of Conduct -

cocos2dx in qt weird crash problem

  • I'm combining cocos2d-x 3.12 with Qt 5.7 and now I am able to render a cocos2d::Scene with a image as cocos2d::Sprite in a QMainWindow.

    But, the problem is, if I just leave the app as it is ( do not move the mouse), it will just be fine, once I move my mouse over the app window, the app will crash with a error message:

    The program has unexpectedly finished. crashed.

    Sometimes there will be a error message like :

    objc[72738]: autorelease pool page 0x7fbd4c96e000 corrupted
      magic     0x00000000 0x00000000 0x00000000 0x00000000
      should be 0xa1a1a1a1 0x4f545541 0x454c4552 0x21455341
      pthread   0x0
      should be 0x7fff7c7fc000

    BTW, some information might be useful from cocos2d-x log output at initial stage:

    	gl.supports_vertex_array_object: true
    	cocos2d.x.version: cocos2d-x-3.12
    	gl.vendor: Intel Inc.
    	gl.supports_PVRTC: false
    	gl.renderer: Intel HD Graphics 5000 OpenGL Engine
    	cocos2d.x.compiled_with_profiler: false
    	cocos2d.x.build_type: DEBUG
    	cocos2d.x.compiled_with_gl_state_cache: true
    	gl.max_texture_size: 16384
    	gl.supports_ETC1: false
    	gl.supports_BGRA8888: false
    	gl.max_texture_units: 16
    	gl.supports_OES_packed_depth_stencil: false
    	gl.supports_ATITC: false
    	gl.supports_discard_framebuffer: false
    	gl.supports_NPOT: true
    	gl.version: 2.1 INTEL-10.10.18
    	gl.supports_S3TC: true
    	gl.supports_OES_depth24: false

    And I tried to debug and getting the following informations:

    1  (anonymous namespace)::AutoreleasePoolPage::pop(void *)                                 0x7fff9426ae71 
    2  _CFAutoreleasePoolPop                                                                   0x7fff8a712d02 
    3  -[NSAutoreleasePool drain]                                                              0x7fff8b71196a 
    4  -[NSApplication run]                                                                    0x7fff90ededfb 
    5  QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)             0x10693753f    
    6  QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)                                 0x101c37eb1    
    7  QCoreApplication::exec()                                                                0x101c3c115    
    8  main                                                                        main.cpp 18 0x100006ae0    
    9  start                                                                                   0x7fff91ada5ad 
    10 start                                                                                   0x7fff91ada5ad 

    Any suggestion will be appreciated, thanks :)

Log in to reply