#151 Unavailable mounts cause beachballing, prevent File>Open etc

open
nobody
None
9
2010-10-13
2010-07-01
Dan Stowell
No

On Mac 10.4.11 (both intel and ppc), SV 1.7.2, I have problems opening a file chooser (for example to open a new audio file or to Save-as a project), because choosing the menu option starts off something that tries to access network shares which may or may not be available (they certainly aren't mounted, and I don't think they're even in SV's recent files list). This causes beachballing (frozen GUI) for many minutes, before an error dialog appears and I can't proceed.

(I am able to open files by drag-and-drop.)

Discussion

  • Dan Stowell
    Dan Stowell
    2010-07-01

    crash log from 1.7.2a on 10.4.11intel mac

     
  • Dan Stowell
    Dan Stowell
    2010-07-14

    On my own laptop I have an old alias (not a symlink, a mac-style alias) on my desktop which points at an old server no longer existing. I hit this bug again, so I trashed the alias and restarted SV, and now I can open a file dialog fine.

    It's possible that the issue could be worked around by setting QFileDialog::setResolveSymlinks(false) on the Mac build. (I can't compile sv on mac so I can't test this!) It would be a shame since I'm sure it's nice usability to have symlinks work transparently.

     
  • Dan Stowell
    Dan Stowell
    2010-10-13

    • priority: 5 --> 9
     
  • Dan Stowell
    Dan Stowell
    2010-10-13

    OK just tried on the hg version of SV, and QFileDialog::setResolveSymlinks(false) DOESN'T fix it.

    I found q QTBUG entry that seems to match, suggesting we may need to wait for qt to get fixed:
    http://bugreports.qt.nokia.com/browse/QTBUG-6039

    In case useful, here's a backtrace captured just after pressing Cmd-O and getting SV beachballing.

    #0 0x90029a57 in wait4 ()
    #1 0x14b707ca in _ZStL8__ioinit ()
    #2 0x14b70f61 in CIFSURLMounterFactory ()
    #3 0x94fb1c03 in RemountServerURLAsync ()
    #4 0x94fb1c40 in RemountServerURL ()
    #5 0x90caa7b8 in PBVolumeMount ()
    #6 0x90caa6ea in AL_aliasVolumeMount ()
    #7 0x90caa69d in AL_mountVolume ()
    #8 0x90c9fbb1 in AL_findVolume ()
    #9 0x90c9f6b1 in FSMatchAliasInternal ()
    #10 0x90ce81d7 in FSFollowFinderAliasInternal ()
    #11 0x90cb135e in ResolveAliasFileWithMountFlagsCommon ()
    #12 0x90cb101c in FSResolveAliasFile ()
    #13 0x02ec8749 in QFSFileEngine::fileName ()
    #14 0x02e8743c in QFileInfoPrivate::getFileName ()
    #15 0x02e874e2 in QFileInfo::readLink ()
    #16 0x02ebfa33 in QFSFileEnginePrivate::canonicalized ()
    #17 0x02ec850b in QFSFileEngine::fileName ()
    #18 0x02e8743c in QFileInfoPrivate::getFileName ()
    #19 0x02e87828 in QFileInfo::canonicalFilePath ()
    #20 0x0250de16 in QFileIconProviderPrivate::getMacIcon ()
    #21 0x0250e967 in QFileIconProvider::icon ()
    #22 0x0245b6e9 in QFileInfoGatherer::getInfo ()
    #23 0x0245a98c in QFileSystemModelPrivate::_q_fileSystemChanged ()
    #24 0x0245b3cf in QFileSystemModel::qt_metacall ()
    #25 0x02efb7ec in QMetaCallEvent::placeMetaCall ()
    #26 0x02efd140 in QObject::event ()
    #27 0x024536e5 in QFileSystemModel::event ()
    #28 0x01fddc63 in QApplicationPrivate::notify_helper ()
    #29 0x01fe5299 in QApplication::notify ()
    #30 0x02eedb1d in QCoreApplication::notifyInternal ()
    #31 0x02eee879 in QCoreApplicationPrivate::sendPostedEvents ()
    #32 0x01f941a1 in QEventDispatcherMacPrivate::postedEventsSourcePerformCallback ()
    #33 0x9082cf06 in CFRunLoopRunSpecific ()
    #34 0x9082ca42 in CFRunLoopRunInMode ()
    #35 0x92e01878 in RunCurrentEventLoopInMode ()
    #36 0x92e00eb9 in ReceiveNextEventCommon ()
    #37 0x92f1799c in ReceiveNextEvent ()
    #38 0x01f947a5 in QEventDispatcherMac::processEvents ()
    #39 0x02eecfa9 in QEventLoop::processEvents ()
    #40 0x02eed262 in QEventLoop::exec ()
    #41 0x024281e7 in QDialog::exec ()
    #42 0x0016dcbf in InteractiveFileFinder::getOpenFileName ()
    #43 0x00074d65 in MainWindowBase::getOpenFileName ()
    #44 0x00043117 in MainWindow::openSession ()
    #45 0x0004fe97 in MainWindow::qt_metacall ()
    #46 0x02f0042c in QMetaObject::activate ()
    #47 0x01fd7cdb in QAction::triggered ()
    #48 0x01fd8eaa in QAction::activate ()
    #49 0x01fbf698 in qt_mac_activate_action ()
    #50 0x01fbfca0 in qt_mac_menu_event ()
    #51 0x92e004d7 in DispatchEventToHandlers ()
    #52 0x92dffb7c in SendEventToEventTargetInternal ()
    #53 0x92e06f7c in SendEventToEventTarget ()
    #54 0x92e87add in SendHICommandEvent ()
    #55 0x92ebb8c6 in ProcessHICommandWithContextAndModifiers ()
    #56 0x92ebb864 in SendMenuItemSelectedEvent ()
    #57 0x92eda8b6 in CompatibilityMenuBarEventHandler ()
    #58 0x92e004d7 in DispatchEventToHandlers ()
    #59 0x92dffb7c in SendEventToEventTargetInternal ()
    #60 0x92dffa41 in SendEventToEventTargetWithOptions ()
    #61 0x92e075c0 in ToolboxEventDispatcherHandler ()
    #62 0x92e0088e in DispatchEventToHandlers ()
    #63 0x92dffb7c in SendEventToEventTargetInternal ()
    #64 0x92e06f7c in SendEventToEventTarget ()
    #65 0x01f948a8 in QEventDispatcherMac::processEvents ()
    #66 0x02eecfa9 in QEventLoop::processEvents ()
    #67 0x02eed262 in QEventLoop::exec ()
    #68 0x02eeeb7a in QCoreApplication::exec ()
    #69 0x00010244 in main ()