I have noticed that especially after upgrading to 10.6, TextMate has become more and more crash prone -- especially after switching from another app back to TextMate. I use it mainly in larger LaTeX projects in conjunction with git and nowadays it would crash, two, three times a week. I often switch back and forth between Skim or Preview and Textmate. Hence, I mostly don't lose any data, because I've saved the file before switching apps, but nevertheless, it's quite disconcerting.
Back in the (good old ;-) 10.4 days, TextMate was absolutely rock solid and it was exceedingly rare for TextMate to crash. Are those known issues? Will there be more fixes down the road for 1.5 addresses stability problems? What are the root causes?
On Dec 27, 2010, at 9:23 AM, Max Lein wrote:
I have noticed that especially after upgrading to 10.6, TextMate has become more and more crash prone -- especially after switching from another app back to TextMate. I use it mainly in larger LaTeX projects in conjunction with git and nowadays it would crash, two, three times a week.
I don't think this is TextMate's fault. Let me guess: You're using the ProjectPlus plug-in. Does the issue below sound like your problem?
https://github.com/ciaran/projectplus/issues/issue/29
I don't know if it will ever get looked at, but as a temporary fix, disabling status flags for Git should keep it from crashing. They usually aren't accurate anyway, in my experience.
On Dec 27, 2010, at 9:40 AM, Rob McBroom wrote:
On Dec 27, 2010, at 9:23 AM, Max Lein wrote:
I have noticed that especially after upgrading to 10.6, TextMate has become more and more crash prone -- especially after switching from another app back to TextMate. I use it mainly in larger LaTeX projects in conjunction with git and nowadays it would crash, two, three times a week.
I don't think this is TextMate's fault. Let me guess: You're using the ProjectPlus plug-in. Does the issue below sound like your problem?
https://github.com/ciaran/projectplus/issues/issue/29
I don't know if it will ever get looked at, but as a temporary fix, disabling status flags for Git should keep it from crashing. They usually aren't accurate anyway, in my experience.
Gerd Knops addressed this a while back. ProjectPlus expects older compiler settings than what's default in Snow Leopard, but it wasn't too difficult to compile a patched version of PP.
On Aug 12, 2010, at 10:57 AM, Gerd Knops wrote:
On Aug 12, 2010, at 7:22 AM, Rob McBroom wrote:
On Aug 10, 2010, at 8:33 PM, Louis Sherwin wrote:
I recently started using TM again to work on a Rails project and upgraded form 1.5.7 to 1.5.9 (1510) on 10.6.4. Now the program is crashing several times a day. I am working with projects and git scm enabled. Other than that nothing special or unusual.
Does this sound like your problem?
A long time ago I sent in a patch, but that never made it into PP. I work with TM, PP and git all day, and do not have any crashes, so maybe that patch may help folks. I'll attach it below.
Gerd
On Mon, Dec 27, 2010 at 10:53 AM, Charles Turner vze26m98@optonline.net wrote:
Gerd Knops addressed this a while back. ProjectPlus expects older compiler settings than what's default in Snow Leopard, but it wasn't too difficult to compile a patched version of PP.
Are there any instructions on how to apply this patch?
On Tue, Dec 28, 2010 at 9:18 AM, Rick DeNatale rick.denatale@gmail.com wrote:
On Mon, Dec 27, 2010 at 10:53 AM, Charles Turner vze26m98@optonline.net wrote:
Gerd Knops addressed this a while back. ProjectPlus expects older compiler settings than what's default in Snow Leopard, but it wasn't too difficult to compile a patched version of PP.
Are there any instructions on how to apply this patch?
So, I tried to answer my own question and it led me on an adventure.
I downloaded the zip file attachment in Charle's post, then upzipped it.
I figured I'd have a look at it, so I clicked 'open with>Textmate(default)' in the finder.
Textmate never opened, and no matter what I did Textmate would NO LONGER open.
So, I re-downloaded textmate, and it STILL wouldn't open.
So I went into Library/Application Support/Textmate and removed the project plus plugin, and TEXTMATE STILL WOULDN'T open.
Finally I rebooted, and TextMate is once again working, I think.
On 28 Dec 2010, at 16:16, Rick DeNatale wrote:
[…] Textmate never opened, and no matter what I did Textmate would NO LONGER open.
For the records, a bug was introduced in r1616 related to this file:
~/Library/Application Support/TextMate/TextMate.pid
If that file exists and contains a process ID of a running process, TextMate will not start.
This should be rare, since process IDs are not re-used (before the counter wraps) and TextMate does delete the file on quit — but e.g. a machine shutdown w/o properly shutdown can cause the problem to arise.
On Dec 28, 2010, at 9:18 AM, Rick DeNatale wrote:
Are there any instructions on how to apply this patch?
The patch is applied against the ProjectPlus source code:
https://github.com/ciaran/projectplus
C.
Max Lein realoreocookie@gmx.de wrote:
I have noticed that especially after upgrading to 10.6, TextMate has
become more and more crash prone
I use TextMate very, very, VERY heavily and constantly and I never crash. I do freeze sometimes (the result of some darned language syntax parser getting caught in a loop, so I save frequently just in case, but I never crash). m.
On 2010-12-28 13:34, Matt Neuburg wrote:
Max Leinrealoreocookie@gmx.de wrote:
I have noticed that especially after upgrading to 10.6, TextMate has
become more and more crash prone
I use TextMate very, very, VERY heavily and constantly and I never crash. I do freeze sometimes (the result of some darned language syntax parser getting caught in a loop, so I save frequently just in case, but I never crash). m.
Try doing a regular expression search with a malformed regex (say, a missing parenthesis). *THAT* will let you experience the joy of crashing. :-)
Hey Allan, feature request for TM2: Regex syntax highlighting in the search/replace dialog!
On 2010-12-29 06:25:58 -0800, Steve King said:
Hey Allan, feature request for TM2: Regex syntax highlighting in the search/replace dialog!
How about a search/replace engine capable of filtering 1M lines of Apache access log. Attempted to do that recently and TM entered a deadlock, greater than 100% CPU usage (108-125%) and hopping from core to core as the OS tried to work around the stuck process. Specifically attempted to do that with the following regex: (stripping access from localhost)
Search: '^::1.+$\n' (without quotes) Replace: '' (empty)
Searching one item at a time (pressing next) works fine and matches exactly what I'd expect. (And yeah, I know grep is a better solution; it's what I used after TM locked up.)
- Alice.
On 2010-12-31 15:55:55 -0800, Alice Bevan–McGregor said:
greater than 100% CPU usage (108-125%) and hopping from core to core as the OS tried to work around the stuck process.
In an effort to be helpful, rather than just bitter, replacements (and searches / find in project) needs to be optimized to use GCD (Grand Central Dispatch). Optimizations can be made to chop an in-memory file up into parts which are then distributed. This also allows for search/replace operations to be killed if something goes wrong without taking out the main TextMate process.
- Alice.
On 1 Jan 2011, at 00:55, Alice Bevan–McGregor wrote:
On 2010-12-29 06:25:58 -0800, Steve King said:
Hey Allan, feature request for TM2: Regex syntax highlighting in the search/replace dialog!
How about a search/replace engine capable of filtering 1M lines of Apache access log. Attempted to do that recently and TM entered a deadlock, greater than 100% CPU usage (108-125%) and hopping from core to core as the OS tried to work around the stuck process.
Did you do a Find All? If so, I think the issue was more likely showing you the 1M results in the list view.
On 2011-01-02 11:06:40 -0800, Allan Odgaard said:
Did you do a Find All? If so, I think the issue was more likely showing you the 1M results in the list view.
No, I had a single document open as its own project and was using Find / Replace (Command+F) to replace text in this one document.
- Alice.
On 4 Jan 2011, at 18:55, Alice Bevan–McGregor wrote:
On 2011-01-02 11:06:40 -0800, Allan Odgaard said:
Did you do a Find All? If so, I think the issue was more likely showing you the 1M results in the list view.
No, I had a single document open as its own project and was using Find / Replace (Command+F) to replace text in this one document.
Ok, a “Replace All” over 1M lines where the newline character is involved is indeed something that will take forever — GCD etc. is not the cure, as this is related to the underlying data structure used.
I have a better data structure in 2.0 but also some new features which probably overall will result in worse performance (and more memory used), so as for your original question, I symphatize with you and it is an understandable request, but TM tend to be more about features which work for normal sized documents than a text editor that scales well regardless of what you throw at it.
On 29 Dec 2010, at 15:25, Steve King wrote:
Try doing a regular expression search with a malformed regex (say, a missing parenthesis). *THAT* will let you experience the joy of crashing. :-)
Any reproducible example? A malformed regexp should not be accepted.
Perhaps you are thinking of a maliciously crafted regexp which cause exponential running time?
On Jan 2, 2011, at 2:03 PM, Allan Odgaard wrote:
On 29 Dec 2010, at 15:25, Steve King wrote:
Try doing a regular expression search with a malformed regex (say, a missing parenthesis). *THAT* will let you experience the joy of crashing. :-)
Any reproducible example? A malformed regexp should not be accepted.
Perhaps you are thinking of a maliciously crafted regexp which cause exponential running time?
Best "reproducible example" I can give you is install the Grails / Groovy bundles and start coding. You should experience some crashes / lockups soon. It happens when it tries to regex for syntax highlighting.
Regards,
-Josh
____________________________________ Joshua Kehn | Josh.Kehn@gmail.com http://joshuakehn.com
On 2 Jan 2011, at 20:07, Joshua Kehn wrote:
[…] Best "reproducible example" I can give you is install the Grails / Groovy bundles and start coding. You should experience some crashes / lockups soon. It happens when it tries to regex for syntax highlighting.
A grammar can cause infinite loops → lookup TextMate. Sounds like the Groovy grammar has such problems (which should be fixed in the grammar).
This wasn’t exactly what Steven was talking about.