Hi.

I've created very simple QWidget-based application for test. This is simple QWidget with QLabel on it. Nothing more.

This application works fine in simulator but crashes when starts on real iPad device.

Here is stack trace...

#00x018433bc in EAGLContext_renderbufferStorageFromDrawable(EAGLContext*, objc_selector*, unsigned int, id<EAGLDrawable>) () #10x000ca20e in QIOSContext::backingFramebufferObjectFor(QPlatformSurface*) const at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/qioscontext.mm:208 #20x000c9cb6 in QIOSContext::backingFramebufferObjectFor(QPlatformSurface*) const at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/qioscontext.mm:165 #30x000c9c00 in QIOSContext::makeCurrent(QPlatformSurface*) at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/qioscontext.mm:128 #40x000ca450 in non-virtual thunk to QIOSContext::makeCurrent(QPlatformSurface*) at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/qioscontext.mm:136 #50x004c17d8 in QOpenGLContext::makeCurrent(QSurface*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qopenglcontext.cpp:936 #60x000c58ae in QIOSBackingStore::makeCurrent() at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/qiosbackingstore.mm:97 #70x000c601c in QIOSBackingStore::beginPaint(QRegion const&) at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/qiosbackingstore.mm:133 #80x005bfed8 in QBackingStore::beginPaint(QRegion const&) at /work/build/qt5_workdir/w/s/qtbase/src/gui/painting/qbackingstore.cpp:153 #90x00112a28 in QWidgetBackingStore::beginPaint(QRegion&, QWidget*, QBackingStore*, BeginPaintInfo*, bool) at /work/build/qt5_workdir/w/s/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:315 #100x001152b2 in QWidgetBackingStore::doSync() at /work/build/qt5_workdir/w/s/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:1186 #110x00114a7e in QWidgetBackingStore::sync(QWidget*, QRegion const&) at /work/build/qt5_workdir/w/s/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:954 #120x00130934 in QWidgetPrivate::syncBackingStore(QRegion const&) at /work/build/qt5_workdir/w/s/qtbase/src/widgets/kernel/qwidget.cpp:1901 #130x0015b6d6 in QWidgetWindow::handleExposeEvent(QExposeEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/widgets/kernel/qwidgetwindow.cpp:822 #140x00159da8 in QWidgetWindow::event(QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/widgets/kernel/qwidgetwindow.cpp:255 #150x001090de in QApplicationPrivate::notify_helper(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/widgets/kernel/qapplication.cpp:3717 #160x0010a6b8 in QApplication::notify(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/widgets/kernel/qapplication.cpp:3161 #170x0084a854 in QCoreApplication::notifyInternal(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qcoreapplication.cpp:965 #180x00142e46 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/widgets/../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:227 #190x0048942c in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qguiapplication.cpp:2643 #200x004867a8 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qguiapplication.cpp:1644 #210x0047afd6 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:608 #220x0047a7d6 in QWindowSystemInterface::flushWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:592 #230x000d4084 in -[QUIView sendUpdatedExposeEvent] at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/quiview.mm:190 #240x000d3de8 in -[QUIView displayLayer:] at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/quiview.mm:173
#250x28503686 in CA::Layer::display() ()
#260x284e7798 in CA::Layer::display_if_needed(CA::Transaction*) ()
#270x284e745c in CA::Layer::layout_and_display_if_needed(CA::Transaction*) ()
#280x284e6df0 in CA::Context::commit_transaction(CA::Transaction*) ()
#290x284e6bde in CA::Transaction::commit() ()
#300x28d318a4 in -[UIApplication _reportMainSceneUpdateFinished:] ()
#310x28d3263c in -[UIApplication _runWithMainScene:transitionContext:completion:] () #320x28d3ce68 in __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke ()
#330x28d3098a in -[UIApplication workspaceDidEndTransaction:] ()
#340x2bf30ec8 in __31-[FBSSerialQueue performAsync:]_block_invoke_2 ()
#350x2543efd4 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ ()
#360x2543e298 in __CFRunLoopDoBlocks ()
#370x2543cdd2 in __CFRunLoopRun ()
#380x25389200 in CFRunLoopRunSpecific ()
#390x25389012 in CFRunLoopRunInMode ()
#400x28b32e66 in -[UIApplication _run] ()
#410x28b2da58 in UIApplicationMain ()
#420x000c0b96 in main at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/qioseventdispatcher.mm:224

And here point where crash occurs...

libglInterpose.dylib`EAGLContext_renderbufferStorageFromDrawable(EAGLContext*, objc_selector*, unsigned int, id<EAGLDrawable>):

0x18432f0 <+0>:    push   {r4, r5, r6, r7, lr}

0x18432f2 <+2>:    add    r7, sp, #0xc

0x18432f4 <+4>:    push.w {r8, r10, r11}

0x18432f8 <+8>:    sub.w  r4, sp, #0x40

0x18432fc <+12>:   bic    r4, r4, #0xf

0x1843300 <+16>:   mov    sp, r4

0x1843302 <+18>:   vst1.64 {d8, d9, d10, d11}, [r4:128]!

0x1843306 <+22>:   vst1.64 {d12, d13, d14, d15}, [r4:128]

0x184330a <+26>:   sub    sp, #0xe0

0x184330c <+28>:   mov    r11, r1

0x184330e <+30>:   str    r0, [sp, #0x44]

0x1843310 <+32>:   movw   r1, #0xd04a

0x1843314 <+36>:   movt   r1, #0x3

0x1843318 <+40>:   mov    r10, r3

0x184331a <+42>:   add    r1, pc

0x184331c <+44>:   mov    r8, r2

0x184331e <+46>:   ldr    r1, [r1]

0x1843320 <+48>:   str    r1, [sp, #0x2c]

0x1843322 <+50>:   ldr    r1, [r1]

0x1843324 <+52>:   str    r1, [sp, #0xdc]

0x1843326 <+54>: blx 0x187fe5c ; symbol stub for: GLIContextFromEAGLContext

0x184332a <+58>:   mov    r4, r0

0x184332c <+60>:   movw   r0, #0xd054

0x1843330 <+64>:   movt   r0, #0x3

0x1843334 <+68>:   movw   r1, #0xd020

0x1843338 <+72>:   add    r0, pc

0x184333a <+74>:   movt   r1, #0x3

0x184333e <+78>:   ldr    r0, [r0]

0x1843340 <+80>:   add    r1, pc

0x1843342 <+82>:   ldr    r1, [r1]

0x1843344 <+84>:   ldr    r5, [r0]

0x1843346 <+86>:   ldr.w  r0, [pc, #0x8f0]

0x184334a <+90>:   ldr    r6, [r5, #4]!

0x184334e <+94>:   str    r1, [sp, #0x9c]

0x1843350 <+96>:   add    r0, pc

0x1843352 <+98>:   ldr.w  r1, [pc, #0x8e8]

0x1843356 <+102>:  str    r0, [sp, #0xa0]

0x1843358 <+104>:  add    r0, sp, #0x84

0x184335a <+106>:  str    r7, [sp, #0xa4]

0x184335c <+108>:  orr    r1, r1, #0x1

0x1843360 <+112>:  str.w  sp, [sp, #0xac]

0x1843364 <+116>:  add    r1, pc

0x1843366 <+118>:  str    r1, [sp, #0xa8]

0x1843368 <+120>: blx 0x187fee0 ; symbol stub for: _Unwind_SjLj_Register

0x184336c <+124>:  cbz    r6, 0x1843396             ; <+166>

0x184336e <+126>:  mov    r0, r5

0x1843370 <+128>:  ldr    r1, [r6, #0x10]

0x1843372 <+130>:  cmp    r1, r4

0x1843374 <+132>:  bhs 0x184337e                 ; <+142>

0x1843376 <+134>:  ldr    r6, [r6, #0x4]

0x1843378 <+136>:  cmp    r6, #0x0

0x184337a <+138>:  bne 0x1843370                 ; <+128>

0x184337c <+140>:  b 0x1843388                 ; <+152>

0x184337e <+142>:  ldr    r1, [r6]

0x1843380 <+144>:  mov    r0, r6

0x1843382 <+146>:  mov    r6, r1

0x1843384 <+148>:  cmp    r1, #0x0

0x1843386 <+150>:  bne 0x1843370                 ; <+128>

0x1843388 <+152>:  cmp    r0, r5

0x184338a <+154>:  beq 0x1843396                 ; <+166>

0x184338c <+156>:  ldr    r1, [r0, #0x10]

0x184338e <+158>:  cmp    r4, r1

0x1843390 <+160>:  it     lo

0x1843392 <+162>:  movlo  r0, r5

0x1843394 <+164>:  b 0x1843398                 ; <+168>

0x1843396 <+166>:  mov    r0, r5

0x1843398 <+168>:  str.w  r11, [sp, #0x34]

0x184339c <+172>:  movw   r1, #0xcfbc

0x18433a0 <+176>:  movt   r1, #0x3

0x18433a4 <+180>:  ldr.w  r11, [r0, #0x14]

0x18433a8 <+184>:  movw   r0, #0x103c

0x18433ac <+188>:  add    r1, pc

0x18433ae <+190>:  ldr    r1, [r1]

0x18433b0 <+192>:  add.w  r5, r11, r0

0x18433b4 <+196>:  str    r1, [sp, #0x4c]

0x18433b6 <+198>:  movs   r1, #0x1

0x18433b8 <+200>:  dmb    ishst

-> 0x18433bc <+204>:  ldrex  r0, [r5]


EXC_BAD_ACCESS(code=EXC_ARM_DA_ALIGN, address=0x25af496b)


Is it possible to fix somehow? May be some compilation flags or something else? Or this is very ugly bug of Qt 5.5.0 on iPad 4 with iOS 8.3???

Thank you.


_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to