Unavailable mounts cause beachballing, prevent File>Open etc
Brought to you by:
cannam
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.)
crash log from 1.7.2a on 10.4.11intel mac
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.
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 ()