This page lists a few general troubleshooting hints.
Check `~/Library/Application Support/TextMate` for an old TextMate.pid` file. Delete it an try launching again.
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](RevertToDefaultBundles) and/or (backup and then) remove your `~/Library/Preferences/com.macromates.textmate.plist` file.
Plug-ins can also be the source of stability problems. These are found under `~/Library/Application Support/TextMate/PlugIns`.
- - -
Try [revert to the default set of bundles](http://macromates.com/wiki/Troubleshooting/RevertToDefaultBundles).
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.
- - -
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.
- - -
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.
- - -
A lot of things go via the shell which source a few startup files. You can have `bash` show which lines are executed as part of this process by running the following line in Terminal:
BASH_ENV=/Applications/TextMate.app/Contents/SharedSupport/Support/lib/bash_init.sh /bin/bash -xc 'echo test'