| Status: open, reported by Will McGovern on 2009-08-30 (bug) |
|
Hang when opening or saving project files over NFS.
I have just performed the upgrade from Mac OS X 10.5.8 to 10.6 and I've hit a major snag with TextMate hanging whenever I try to load or save project files to a network mounted folder (in this case an NFS automounted directory on a company file server).
I have updated to the latest TextMate version 1.5.9 (1510) but the problem persists. I have tried the advice of removing all plug-ins and preferences, but this has not helped the problem. The problem does not occur with local projects and files, or files over an AFP mount to one of my other local macs.
When loading project file over NFS, the project seems to load up correctly and the files from the project appear in the project drawer, but then I get the beachball before I can perform any editing. When saving, the project file appears to save (as I can copy the entire project to a local disk and it loads up fine), but it also beachballs immediately after the save completes.
When it hangs it pegs one of the CPUs at 100% and has to be force quit.
Here is the output from sample (let me know if there is anything else you need):
Analysis of sampling TextMate (pid 1737) every 1 millisecond
Call graph:
8520 Thread_6403 DispatchQueue_1: com.apple.main-thread (serial)
8520 start
8520 _start
8520 NSApplicationMain
8520 -[NSApplication run]
8520 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
8520 _DPSNextEvent
8520 BlockUntilNextEventMatchingListInMode
8520 ReceiveNextEventCommon
8520 RunCurrentEventLoopInMode
8520 CFRunLoopRunInMode
8520 CFRunLoopRunSpecific
8520 __CFRunLoopRun
8520 __NSFireDelayedPerform
8520 -[NSDocumentController _notePendingRecentDocumentURLsForKey:]
8520 LSSharedFileListInsertItemURL
8520 _CFURLCreateBookmarkData
8520 createBookmarkWithURLAtDepth(__CFAllocator const*, __CFURL const*, unsigned long, __CFURL const*, __CFArray const*, BookmarkMutableData&, unsigned int, __CFError**)
8520 BookmarkMutableData::tocExists(unsigned int) const
8520 Thread_6415 DispatchQueue_2: com.apple.libdispatch-manager (serial)
8520 start_wqthread
8520 _pthread_wqthread
8520 _dispatch_worker_thread2
8520 _dispatch_queue_invoke
8520 _dispatch_mgr_invoke
8520 kevent
8520 Thread_6599
8520 thread_start
8520 _pthread_start
8520 PrivateMPEntryPoint
8520 TSystemNotificationTask::SystemNotificationTaskProc(void*)
8520 CFRunLoopRun
8520 CFRunLoopRunSpecific
8520 __CFRunLoopRun
8520 mach_msg
8520 mach_msg_trap
8520 Thread_6616
8520 thread_start
8520 _pthread_start
8520 __CFSocketManager
8520 select$DARWIN_EXTSN
8520 Thread_6794
8520 thread_start
8520 _pthread_start
8520 text::view::tokenize_filter::worker(void*)
8520 text::view::tokenize_filter::actual_worker()
8520 pthread_cond_wait
8520 _pthread_cond_wait
8520 semaphore_wait_signal_trap
Total number in stack (recursive counted multiple, when >=5):
Sort by top of stack, same collapsed (when >= 5):
BookmarkMutableData::tocExists(unsigned int) const 8520
kevent 8520
mach_msg_trap 8520
select$DARWIN_EXTSN 8520
semaphore_wait_signal_trap 8520
|
| Note added by Allan Odgaard on 2009-08-30 07:49:46 |
The hang is in new Snow Leoaprd code, more specifically their new support for creating aliases and called by OS code to maintain the “Open Recent” menu.
So none of this is really my doing, and I am not sure what to suggest for workarounds.
You might try to clear the Open Recent menu, there have been problems in the past where only certain items in that menu caused problems, but these problems showed whenever the system had to update the menu.
Furthermore, if that does not fix the problem, can you try to open a file with TextEdit over NFS, edit and save, and report whether that also hangs?
|
| Note added by Will McGovern on 2009-08-30 08:08:42 |
Thanks for the fast response :-)
I just tried clearing the Open Recent menu. Didn't help.
TextEdit loads and saves files just fine over NFS (I just tried loading and saving the same project files). I did notice, however, that the file that was loaded and saved over NFS did not actually get added to the Open Recent menu of TextEdit. That seems strange.
Just discovered that the problem is more general than just the project file. Even if I open a single file over the NFS mount, the file appears in the TextMate text area but then I get the beachball. The fact that it works fine in TextEdit seems to indicate a TextMate specific issue.
|
| Note added by Will McGovern on 2009-08-30 08:29:33 |
Hey Allan,
Figured out a workaround that works... namely forcing the recent items count to 0 for TextMate to prevent it from trying to update the Open Recent menu:
defaults write com.macromates.textmate NSRecentDocumentsLimit 0
Everything seems to work perfectly with this workaround in place so I'm now unblocked on my coding while you figure out the problem, be it with TextMate or Snow Leopard :-)
- Will
|
| Note added by Will McGovern on 2009-12-22 04:40:01 |
This still seems to be a problem in 10.6.2 with files over NFS :-(
I have to go into the System Preferences and set Recent Servers, Recent Documents and Recent Applications history counts to zero as well as updating the defaults, so the workaround still
works at the cost of some convenience with no recent file history.
|