101
This page lists a few general troubleshooting hints.
Is the problem local?
A quick way to determine if it is a local problem is by going to System Preferences → Accounts and create a new account.
Then launch TextMate from this (new) account and test if the problem persists. If it does not, it is definitely a local problem and you may want to revert to default bundles and/or (backup and then) remove your ~/Library/Preferences/com.macromates.textmate.plist file.
Is it related to Bundles?
Try revert to the default set of bundles.
The installed bundles affect everything reachable from the Bundles menu and language grammars. A very common problem is having checked out a default bundle at a given version (from the subversion repository) but not its dependencies, or checked out dependencies, updated TextMate, and now have an old version of the dependencies, etc.
Are any errors reported?
In addition to normal error dialogs, TextMate (or the components which it use) can report errors to the system console.
To see these you need to start Console located in Applications → Utilities.
In the left table (with the header of Logs) select the console.log and look for errors, normally these would mention TextMate.
Why does TextMate stall?
From the shell (i.e. Terminal) you can run:
sample TextMate 10
This will monitor the TextMate process for 10 seconds and produce a log file. You can inspect the log yourself and it might give you a hint of what goes on.
Some common problems which can cause stalling is third party spell checkers, mounting a non-existing volume (when the system tries to populate the Recent Items menu with document type icons)¹, etc. The sample might often give a hint about this.
¹ The solution to this problem would be to quit TextMate and then from the shell execute: defaults delete com.macromates.textmate NSRecentDocumentRecords to remove the problematic item from the preferences.