[Interest] iOS application crash with EXC_ARM_DA_ALIGN
Igor Mironchik
igor.mironchik at gmail.com
Mon Sep 7 16:28:18 CEST 2015
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150907/fd11c4dc/attachment.html>
More information about the Interest
mailing list