Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-141414 Investigate file access for sandboxed apps on Apple platforms
  3. QTBUG-141415

Sandboxed apps without User Selected File Read app sandbox entitlement crash

XMLWordPrintable

    • Icon: Technical task Technical task
    • Resolution: Unresolved
    • Icon: Not Evaluated Not Evaluated
    • None
    • None
    • None

      Unable to display open panel: your app is missing the User Selected File Read app sandbox entitlement. Please ensure that your app's target capabilities include the proper entitlements.

      (lldb) bt
      * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=1, subcode=0x18b894c0c)
          frame #0: 0x000000018b894c10 AppKit`AppKitBreakInDebugger + 192
          frame #1: 0x000000018b7c2c70 AppKit`REPORT_APP_ENTITLEMENTS_INSUFFICIENT + 272
          frame #2: 0x000000018b7c31f4 AppKit`-[NSSavePanel _initBridgeAndStuff] + 1000
          frame #3: 0x000000018b7c4108 AppKit`-[NSSavePanel initWithContentRect:styleMask:backing:defer:] + 432
          frame #4: 0x000000018b79af34 AppKit`-[NSOpenPanel initWithContentRect:styleMask:backing:defer:] + 132
          frame #5: 0x000000018b7c3f34 AppKit`-[NSSavePanel init] + 92
          frame #6: 0x000000018b7ce274 AppKit`+[NSSavePanel(NSSavePanelPrivate) _createPanel:] + 256
        * frame #7: 0x00000001092954c8 libqcocoa.dylib`-[QNSOpenSavePanelDelegate initWithAcceptMode:options:helper:](self=0x0000000b3048c500, _cmd="initWithAcceptMode:options:helper:", selectFile=0x000000016b77d680, options=SharedPointerFileDialogOptions @ 0x000000016b77d670, helper=0x0000000b3177b5c0) at qcocoafiledialoghelper.mm:74:24
          frame #8: 0x000000010929b5b8 libqcocoa.dylib`QCocoaFileDialogHelper::createNSOpenSavePanelDelegate(this=0x0000000b3177b5c0) at qcocoafiledialoghelper.mm:749:42
          frame #9: 0x000000010929b3d4 libqcocoa.dylib`QCocoaFileDialogHelper::show(this=0x0000000b3177b5c0, windowFlags=Qt::WindowFlags @ 0x000000016b77d724, windowModality=ApplicationModal, parent=0x0000000b31ca8d80) at qcocoafiledialoghelper.mm:735:5
          frame #10: 0x0000000106a910b0 QtWidgets`QDialogPrivate::setNativeDialogVisible(this=0x0000000b31476800, visible=true) at qdialog.cpp:169:41
          frame #11: 0x0000000106aa4868 QtWidgets`QFileDialogPrivate::setVisible(this=0x0000000b31476800, visible=true) at qfiledialog.cpp:866:13
          frame #12: 0x0000000106688814 QtWidgets`QWidget::setVisible(this=0x0000000b31eb0b70, visible=true) at qwidget.cpp:8364:8
          frame #13: 0x0000000106a92858 QtWidgets`QDialog::setVisible(this=0x0000000b31eb0b70, visible=true) at qdialog.cpp:753:14
          frame #14: 0x0000000106aa4814 QtWidgets`QFileDialog::setVisible(this=0x0000000b31eb0b70, visible=true) at qfiledialog.cpp:850:14
          frame #15: 0x00000001066871d8 QtWidgets`QWidget::show(this=0x0000000b31eb0b70) at qwidget.cpp:7981:13
          frame #16: 0x0000000106a91bd0 QtWidgets`QDialog::exec(this=0x0000000b31eb0b70) at qdialog.cpp:568:5
          frame #17: 0x0000000106aabc18 QtWidgets`QFileDialog::getExistingDirectoryUrl(parent=0x000000016b782bc8, caption=0x000000016b77dc48, dir=0x000000016b77db80, options=QFileDialog::Options @ 0x000000016b77dac4, supportedSchemes=0x000000016b77dbc0) at qfiledialog.cpp:2595:36
          frame #18: 0x0000000106aaba88 QtWidgets`QFileDialog::getExistingDirectory(parent=0x000000016b782bc8, caption=0x000000016b77dc48, dir=0x000000016b77dc30, options=QFileDialog::Options @ 0x000000016b77dbe4) at qfiledialog.cpp:2547:13
          frame #19: 0x0000000104684280 standarddialogs`Dialog::setExistingDirectory(this=0x000000016b782bc8) at dialog.cpp:357:25
          frame #20: 0x000000010468a6b8 standarddialogs`QtPrivate::FunctorCall<std::__1::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (Dialog::*)()>::call(void (Dialog::*)(), Dialog*, void**)::'lambda'()::operator()(this=0x000000016b77dd10) const at qobjectdefs_impl.h:127:24
          frame #21: 0x000000010468a5cc standarddialogs`void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::__1::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (Dialog::*)()>::call(void (Dialog::*)(), Dialog*, void**)::'lambda'()>(args=0x000000016b77e140, fn=0x000000016b77dd10) at qobjectdefs_impl.h:65:17
          frame #22: 0x000000010468a54c standarddialogs`QtPrivate::FunctorCall<std::__1::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (Dialog::*)()>::call(f=(standarddialogs`Dialog::setExistingDirectory() at dialog.cpp:354), o=0x000000016b782bc8, arg=0x000000016b77e140) at qobjectdefs_impl.h:126:13
          frame #23: 0x000000010468a48c standarddialogs`void QtPrivate::FunctionPointer<void (Dialog::*)()>::call<QtPrivate::List<>, void>(f=(standarddialogs`Dialog::setExistingDirectory() at dialog.cpp:354), o=0x000000016b782bc8, arg=0x000000016b77e140) at qobjectdefs_impl.h:174:13
          frame #24: 0x000000010468a350 standarddialogs`QtPrivate::QCallableObject<void (Dialog::*)(), QtPrivate::List<>, void>::impl(which=1, this_=0x0000000b30bfdbe0, r=0x000000016b782bc8, a=0x000000016b77e140, ret=0x0000000000000000) at qobjectdefs_impl.h:545:21
          frame #25: 0x0000000107a309e8 QtCore`QtPrivate::QSlotObjectBase::call(this=0x0000000b30bfdbe0, r=0x000000016b782bc8, a=0x000000016b77e140) at qobjectdefs_impl.h:461:51
          frame #26: 0x0000000107c4df28 QtCore`void doActivate<false>(sender=0x0000000b30b27600, signal_index=9, argv=0x000000016b77e140) at qobject.cpp:4342:26
          frame #27: 0x0000000107c4cb68 QtCore`QMetaObject::activate(sender=0x0000000b30b27600, m=0x0000000106f15b90, local_signal_index=2, argv=0x000000016b77e140) at qobject.cpp:4402:9
          frame #28: 0x00000001065b5ec4 QtWidgets`void QMetaObject::activate<void, bool>(sender=0x0000000b30b27600, mo=0x0000000106f15b90, local_signal_index=2, ret=0x0000000000000000, args=0x000000016b77e187) at qobjectdefs.h:319:9
          frame #29: 0x00000001068204ac QtWidgets`QAbstractButton::clicked(this=0x0000000b30b27600, _t1=false) at moc_qabstractbutton.cpp:254:5
          frame #30: 0x0000000106820390 QtWidgets`QAbstractButtonPrivate::emitClicked(this=0x0000000b30a9b000) at qabstractbutton.cpp:382:13
          frame #31: 0x0000000106820180 QtWidgets`QAbstractButtonPrivate::click(this=0x0000000b30a9b000) at qabstractbutton.cpp:375:9
          frame #32: 0x000000010682176c QtWidgets`QAbstractButton::mouseReleaseEvent(this=0x0000000b30b27600, e=0x000000016b77f8d8) at qabstractbutton.cpp:977:12
          frame #33: 0x0000000106689a08 QtWidgets`QWidget::event(this=0x0000000b30b27600, event=0x000000016b77f8d8) at qwidget.cpp:9025:9
          frame #34: 0x0000000106821530 QtWidgets`QAbstractButton::event(this=0x0000000b30b27600, e=0x000000016b77f8d8) at qabstractbutton.cpp:934:21
          frame #35: 0x00000001069a609c QtWidgets`QPushButton::event(this=0x0000000b30b27600, e=0x000000016b77f8d8) at qpushbutton.cpp:687:29
          frame #36: 0x00000001065c36d8 QtWidgets`QApplicationPrivate::notify_helper(this=0x0000000105f67900, receiver=0x0000000b30b27600, e=0x000000016b77f8d8) at qapplication.cpp:3270:26
          frame #37: 0x00000001065c591c QtWidgets`QApplication::notify(this=0x000000016b782d30, receiver=0x0000000b30b27600, e=0x000000016b77f8d8) at qapplication.cpp:2750:30
          frame #38: 0x0000000107b7dc58 QtCore`QCoreApplication::notifyInternal2(receiver=0x0000000b30b27600, event=0x000000016b77f8d8) at qcoreapplication.cpp:1109:18
          frame #39: 0x0000000107b7eed8 QtCore`QCoreApplication::sendSpontaneousEvent(receiver=0x0000000b30b27600, event=0x000000016b77f8d8) at qcoreapplication.cpp:1563:12
          frame #40: 0x00000001065c4424 QtWidgets`QApplicationPrivate::sendMouseEvent(receiver=0x0000000b30b27600, event=0x000000016b77f8d8, alienWidget=0x0000000b30b27600, nativeWidget=0x000000016b782bc8, buttonDown=0x0000000106f4c048, lastMouseReceiver=0x0000000106f4c060, spontaneous=true, onlyDispatchEnterLeave=false) at qapplication.cpp:2349:22
          frame #41: 0x00000001066c264c QtWidgets`QWidgetWindow::handleMouseEvent(this=0x0000000b31ca8d80, event=0x000000016b780c58) at qwidgetwindow.cpp:688:9
          frame #42: 0x00000001066c0a98 QtWidgets`QWidgetWindow::event(this=0x0000000b31ca8d80, event=0x000000016b780c58) at qwidgetwindow.cpp:293:9
          frame #43: 0x00000001065c36d8 QtWidgets`QApplicationPrivate::notify_helper(this=0x0000000105f67900, receiver=0x0000000b31ca8d80, e=0x000000016b780c58) at qapplication.cpp:3270:26
          frame #44: 0x00000001065c75a4 QtWidgets`QApplication::notify(this=0x000000016b782d30, receiver=0x0000000b31ca8d80, e=0x000000016b780c58) at qapplication.cpp:3220:18
          frame #45: 0x0000000107b7dc58 QtCore`QCoreApplication::notifyInternal2(receiver=0x0000000b31ca8d80, event=0x000000016b780c58) at qcoreapplication.cpp:1109:18
          frame #46: 0x0000000107b7eed8 QtCore`QCoreApplication::sendSpontaneousEvent(receiver=0x0000000b31ca8d80, event=0x000000016b780c58) at qcoreapplication.cpp:1563:12
          frame #47: 0x0000000109a1210c QtGui`QGuiApplicationPrivate::processMouseEvent(e=0x0000000b2fa6f480) at qguiapplication.cpp:2460:5
          frame #48: 0x0000000109a10fb8 QtGui`QGuiApplicationPrivate::processWindowSystemEvent(e=0x0000000b2fa6f480) at qguiapplication.cpp:2184:9
          frame #49: 0x0000000109b0d1c0 QtGui`QWindowSystemInterface::sendWindowSystemEvents(flags=QEventLoop::ProcessEventsFlags @ 0x000000016b781014) at qwindowsysteminterface.cpp:1117:13
          frame #50: 0x00000001091ab514 libqcocoa.dylib`QCocoaEventDispatcherPrivate::processPostedEvents(this=0x0000000b3147c300) at qcocoaeventdispatcher.mm:873:9
          frame #51: 0x00000001091ace60 libqcocoa.dylib`QCocoaEventDispatcherPrivate::postedEventsSourceCallback(info=0x0000000b3147c300) at qcocoaeventdispatcher.mm:894:8
          frame #52: 0x000000018650fad8 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
          frame #53: 0x000000018650fa6c CoreFoundation`__CFRunLoopDoSource0 + 172
          frame #54: 0x000000018650f7d8 CoreFoundation`__CFRunLoopDoSources0 + 232
          frame #55: 0x000000018650e468 CoreFoundation`__CFRunLoopRun + 820
          frame #56: 0x00000001865cc898 CoreFoundation`_CFRunLoopRunSpecificWithOptions + 532
          frame #57: 0x0000000192f0b730 HIToolbox`RunCurrentEventLoopInMode + 316
          frame #58: 0x0000000192f0e9d0 HIToolbox`ReceiveNextEventCommon + 488
          frame #59: 0x00000001930981f4 HIToolbox`_BlockUntilNextEventMatchingListInMode + 48
          frame #60: 0x000000018ade625c AppKit`_DPSBlockUntilNextEventMatchingListInMode + 236
          frame #61: 0x000000018a8fcedc AppKit`_DPSNextEvent + 588
          frame #62: 0x000000018b34f958 AppKit`-[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
          frame #63: 0x000000018b34f664 AppKit`-[NSApplication(NSEventRouting) nextEventMatchingMask:untilDate:inMode:dequeue:] + 72
          frame #64: 0x000000018a8f5720 AppKit`-[NSApplication run] + 368
          frame #65: 0x00000001091a9824 libqcocoa.dylib`QCocoaEventDispatcher::processEvents(this=0x0000000b3092d7e0, flags=QEventLoop::ProcessEventsFlags @ 0x000000016b78283c) at qcocoaeventdispatcher.mm:375:17
          frame #66: 0x0000000107b99e2c QtCore`QEventLoop::processEvents(this=0x000000016b782ab0, flags=QEventLoop::ProcessEventsFlags @ 0x000000016b782904) at qeventloop.cpp:104:55
          frame #67: 0x0000000107b9a090 QtCore`QEventLoop::exec(this=0x000000016b782ab0, flags=QEventLoop::ProcessEventsFlags @ 0x000000016b7829dc) at qeventloop.cpp:186:9
          frame #68: 0x0000000107b7e9b4 QtCore`QCoreApplication::exec() at qcoreapplication.cpp:1452:32
          frame #69: 0x000000010468b980 standarddialogs`main(argc=1, argv=0x000000016b783510) at main.cpp:43:12
          frame #70: 0x00000001860b1d54 dyld`start + 7184

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            vestbo Tor Arne Vestbø
            vestbo Tor Arne Vestbø
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes