Spamsieve 2.7 hangs on startup

When I start Spamsieve 2.7, it hangs on startup with a runaway process. This occurs whether I start it explicitly or Applemail starts is on download.

I’m running Leopard 10.5.2 and everything was working great with the previous versions of Spamsieve. I’ve uninstalled, redownloaded the latest verion, and reinstalled, to no avail.

(To get my mail, I’ve had to run mail.app without it.)

When I force quit, I copied the following report, hoping it could be useful to you.

I appreciate any advice you can give.

Jared

Date/Time: 2008-05-22 08:18:46 -0400
OS Version: 10.5.2 (Build 9C7010)
Architecture: i386
Report Version: 4

Command: SpamSieve
Path: /Applications/SpamSieve.app/Contents/MacOS/SpamSieve
Version: 2.7 (2.7)
Parent: launchd [73]

PID: 309
Event: hang
Time: 28.74s
Steps: 231

Process: SpamSieve [309]
Path: /Applications/SpamSieve.app/Contents/MacOS/SpamSieve

ADDRESS BINARY
00001000 /Applications/SpamSieve.app/Contents/MacOS/SpamSieve
00009000 /System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling
00012000 /usr/lib/libexslt.0.dylib
00085000 /System/Library/Frameworks/AppleScriptKit.framework/Versions/A/AppleScriptKit
0010a000 /System/Library/Frameworks/OSAKit.framework/Versions/A/OSAKit
c0000000 /Applications/SpamSieve.app/Contents/MacOS/…/Frameworks/MJTFoundation.framework/Versions/A/MJTFoundation
c1000000 /Applications/SpamSieve.app/Contents/MacOS/…/Frameworks/MJTApplication.framework/Versions/A/MJTApplication
c2000000 /Applications/SpamSieve.app/Contents/MacOS/…/Frameworks/MJTDatabase.framework/Versions/A/MJTDatabase
c9000000 /Applications/SpamSieve.app/Contents/MacOS/…/Frameworks/SpamSieveFramework.framework/Versions/A/SpamSieveFramework

Thread id: 9189d60
User stack:
231 start + 41 (in SpamSieve) [0x1eb5]
231 __start + 216 (in SpamSieve) [0x1f8e]
231 _NSApplicationMain + 574 (in AppKit) [0x958a330a]
231 -[NSApplication run] + 83 (in AppKit) [0x958d5dfd]
231 -[NSApplication finishLaunching] + 515 (in AppKit) [0x958d6377]
231 -[NSNotificationCenter postNotificationName:object:] + 56 (in Foundation) [0x966c3668]
231 -[NSNotificationCenter postNotificationName:object:userInfo:] + 128 (in Foundation) [0x966b9fd0]
231 __CFXNotificationPostNotification + 179 (in CoreFoundation) [0x93ac4cb3]
231 ___CFXNotificationPost + 362 (in CoreFoundation) [0x93ac49da]
231 __nsnote_callback + 364 (in Foundation) [0x966bccdc]
231 -[MJTApplicationController(ApplicationDelegate) applicationWillFinishLaunching:] + 425 (in MJTApplication) [0xc1004b9c]
231 -[SpamSieve(ApplicationDelegate) mjtApplicationWillFinishLaunching:] + 364 (in SpamSieveFramework) [0xc900fd8c]
231 -[Corpus initWithPath:] + 546 (in SpamSieveFramework) [0xc9001980]
231 -[CompactWordStore initWithFile:] + 337 (in SpamSieveFramework) [0xc902f6fa]
229 -[WordStore readFromData:] + 1233 (in SpamSieveFramework) [0xc90307e7]
179 _CFDictionarySetValue + 348 (in CoreFoundation) [0x93ab46dc]
105 ___CFDictionaryFindBuckets2 + 293 (in CoreFoundation) [0x93ab2ae5]
14 ___CFStringEqual + 43 (in CoreFoundation) [0x93b0387b]
7 ___CFStringEqual + 223 (in CoreFoundation) [0x93b0392f]
7 ___CFStringEqual + 18 (in CoreFoundation) [0x93b03862]
5 ___CFStringEqual + 201 (in CoreFoundation) [0x93b03919]
4 ___CFStringEqual + 192 (in CoreFoundation) [0x93b03910]
4 ___CFStringEqual + 130 (in CoreFoundation) [0x93b038d2]
4 ___CFStringEqual + 107 (in CoreFoundation) [0x93b038bb]
4 ___CFStringEqual + 118 (in CoreFoundation) [0x93b038c6]
4 ___CFStringEqual + 314 (in CoreFoundation) [0x93b0398a]
3 ___CFStringEqual + 149 (in CoreFoundation) [0x93b038e5]
3 ___CFStringEqual + 49 (in CoreFoundation) [0x93b03881]
3 ___CFStringEqual + 85 (in CoreFoundation) [0x93b038a5]
3 ___CFStringEqual + 207 (in CoreFoundation) [0x93b0391f]
3 ___CFStringEqual + 121 (in CoreFoundation) [0x93b038c9]
3 ___CFStringEqual + 36 (in CoreFoundation) [0x93b03874]
2 ___CFStringEqual + 133 (in CoreFoundation) [0x93b038d5]
2 ___CFStringEqual + 215 (in CoreFoundation) [0x93b03927]
2 ___CFStringEqual + 29 (in CoreFoundation) [0x93b0386d]
2 _bcmp + 1 (in libSystem.B.dylib) [0x95157b81]
2 ___CFStringEqual + 82 (in CoreFoundation) [0x93b038a2]
2 ___CFStringEqual + 198 (in CoreFoundation) [0x93b03916]
2 ___CFStringEqual + 98 (in CoreFoundation) [0x93b038b2]
2 ___CFStringEqual + 375 (in CoreFoundation) [0x93b039c7]
2 ___CFStringEqual + 14 (in CoreFoundation) [0x93b0385e]
2 ___CFStringEqual + 4 (in CoreFoundation) [0x93b03854]
1 ___CFStringEqual + 1006 (in CoreFoundation) [0x93b03c3e]
1 ___CFStringEqual + 329 (in CoreFoundation) [0x93b03999]
1 ___CFStringEqual + 323 (in CoreFoundation) [0x93b03993]
1 _bcmp + 45 (in libSystem.B.dylib) [0x95157bad]
1 ___CFStringEqual + 136 (in CoreFoundation) [0x93b038d8]
1 ___CFStringEqual + 162 (in CoreFoundation) [0x93b038f2]
1 _bcmp + 49 (in libSystem.B.dylib) [0x95157bb1]
1 ___CFStringEqual + 60 (in CoreFoundation) [0x93b0388c]
1 ___CFStringEqual + 222 (in CoreFoundation) [0x93b0392e]
1 ___CFStringEqual + 320 (in CoreFoundation) [0x93b03990]
1 ___CFStringEqual + 396 (in CoreFoundation) [0x93b039dc]
1 ___CFStringEqual + 139 (in CoreFoundation) [0x93b038db]
1 ??? [0xa0a375b5]
1 ___CFStringEqual + 100 (in CoreFoundation)

I think you’re running into a performance bug in Leopard. How large is the file:

/Users/<username>/Library/Application Support/SpamSieve/Corpus.corpus

? Could you e-mail it to me (compressed)? SpamSieve contains some alternate code to try to work around the problem. To enable it, open the Terminal program in the Utilities folder in the Applications folder. Enter this command:

defaults write com.c-command.SpamSieve AlwaysUseCFWordStore NO

and press Return. Then try re-launching SpamSieve.

Thanks!
I love how responsive you are.

I’ve sent you my corpus (16mb compressed!). I also made defaults write command you recommend.

All seems good with the world for now, but I await your assessment of whether I need to do something different.

Jared

I think you’re all set now. As long as you leave the default set to “NO”, it should be much faster. (Note that I do not recommend this for all users, only if you’re running Leopard and seeing a hang at launch. Please e-mail to let me know that you’re using this workaround.)

Michael, add me to the list of SS hangs that this fixed. My Corpus.corpus is 6MB.

Andy

Same here, but your terminal fixed worked.

I think my issue could be due to the new way I’m backing up from desktop to laptop, syncing the Home directly? Never had this issue until I started doing this. But the good news is, the terminal fix worked.

No, I think it was due to SpamSieve 2.7 inadvertently not working around a Leopard performance bug as well as 2.6.6 did.

OK, but this issue I was having was a relatively recent issue that only seemed to manifest after attempting to clone the home directory each night using Chronosync. Until that time, your fine product was running AOK on this MacBook Pro and of course the source volume, a MacPro.

OK, thanks for the info. I can only guess that the data in your corpus changed such that it became affected by the performance bug when it wasn’t before.

SpamSieve 2.7.1 make some changes so that the Terminal workaround is no longer necessary.