How one word of code for Leopard can break something on Tiger
November 15, 2007
The bug
Update: the issue that I was talking about here is now fixed in the freshly released Path Finder 4.8.3. Thanks for bearing with us!
When you empty the Trash via Path Finder 4.8.2 under Tiger, its helper application ctask crashes. You get several crash report windows popping up right away if your bug reporter is enabled and “Quit Path Finder” menu gets disabled as a side effect. You must force quit Path Finder when you want it to be quit. If you usually quit PF only upon system shutdown, you will get a “Path Finder cancelled shutdown” dialog because of the disabled “quit” menu. It doesn’t have any effect on the empty trash operation itself - it is done correctly every time.
The workaround
There’s no feasible workaround as such, except to stop emptying the Trash via Path Finder under Tiger. Disabling the bug reporter (Preferences -> General -> uncheck “Enable bug reporter”) will stop the crash reporter windows appearing right away after emptying the Trash, but you will still have them popping up at next PF startup and the “quit” menu will get grayed out. The bug is already fixed internally and we’re working at getting out this fix as soon as possible.
The story of the bug
It has been only two weeks since the moment that Leopard was released and we already started to feel the double-workload that is coming upon us, because testing and writing code for two different OS versions can be very difficult and error prone.
Internally we all switched to Leopard for our everyday use - I even made it a couple of months before the Leopard GM was out. So for Tiger testing, I should basically switch to my Tiger partition, look through the changelog and figure out which areas I should test. However switching to another partition and spending some time for testing is not the same thing as using the application 24/7 on your main user account. We still have a bunch of beta testers that use Path Finder on Tiger, maybe even the half of them, but it was unfortunately still not enough to uncover the problem described below.
At some point during Path Finder 4.8.2 development, Steve noticed a console message on Leopard that was pointing to a small internal problem in our helper application - ctask - it appeared to quit before the main application finished communicating with it. That was not correct, so Steve proceeded with fixing it and changed this:
- (oneway void)unsubscribeClient:(in bycopy NSNumber*)identifier;
into this:
- (void)unsubscribeClient:(in bycopy NSNumber*)identifier;
You see the difference is just in one word “oneway” which was removed (for technically inclined this works using Distributed Objects). The console message on Leopard disappeared and all was well. “Hopefully I didn’t break anything on Tiger” said Steve. Several beta builds went out to beta testing, I switched to Tiger several times, tested copy, move, delete - those are the operations that the helper tool is responsible for - also some other things, and it appeared to be ok. Hopefully.
Hours after the release of 4.8.2 a flood of ctask crashes on Tiger started to pour into our mailboxes. Unfortunately this one word change that fixed a tiny problem on Leopard introduced a crash under Tiger!
Thoughts
What did it teach us? We should try to test more on Tiger from now on. True. That means that every fix must be now tested twice - on Tiger and Leopard. And it already revealed itself as a difficult situation. We would prefer to be rock solid on one OS than slightly buggy on both. Just thinking aloud.
If you’re a developer, how do you organize the testing of your application on the previous OS version? Please share your experience in comments.
Posted by grotsasha at November 15, 2007 2:52 PMComments
Path Finder 5 - Leopard only, I presume?
> Path Finder 5 - Leopard only, I presume?
Most likely yes. As we can see, even simple bug fixes can introduce a problem on one of the OS versions. It is very hard for a mission critical app like Path Finder to always garantee correct behaviour on two OS versions, not even mentionning implementing new features.
> I think 2008 will just be less productive if we support Tiger + Leopard.
I can't agree more.
The problem at this point is that Leopard isn't ready for prime time. I have numerous applications with Leopard issues, and Leopard itself has quite a few, namely the firewall. As soon as Leopard is ready for me, I'm ready for it, and will move over, but a software developer _should_ support the last two OS versions. That's the price of doing business. I have things about my business that suck too, and take extra time, but I don't make my paying customers pay for it. Support the last two versions of OS X...it's good for your customers, and ultimately good for you.
Keith
Is there someplace I can download the previous release of Path Finder that did not have this problem under Tiger?
> Internally we all switched to Leopard for our everyday use
Therein is the problem. If the PF devs all go to Leopard (and even in advance of GM) then who's watching the fort for Tiger users?
I'm sure that a lot of PF users are early adopters and so might be looking to have PF on their Leopard box *now*.
I'll bet, though, that a lot of PF users are somewhat opposite and are using PF more because they're tired of waiting for never-to-come Finder bug fixes and also aren't all agog to jump up to the next v-point-zero OS X release.
If all the devs just have to upgrade their daily OS *now/yesterday*, some possible strategies for developing for the (1 point!) prior OS version include:
* send out a call for more beta testers who are using the previous OS version
* make sure some people in the company both have to use previous OS *and* have to beta test the new product versions
* increase the testing/beta time before pushing updates/releases
* tell your users "we're only sorta supporting Tiger, it's so last month"
:S
I tried Leopard. I had it for 2 days and sent it back to Apple. Leopard has problems, and I think you will have problems trying to keep up with all the fixes that will be coming out for Leopard. How about a final stable release for us that have no intention of using Leopard?
The vast majority of OSX users are still on Tiger. People were getting Tiger from Apple as little as 22 days ago (not even one full month). I would not expect Tiger to continue to be supported indefinitely, but 22 days is not really justified for cutting support for the older, established and majority share version.
I will upgrade to Leopard, but probably not until 10.5.2 or 10.5.3 to ensure most if not all of the early bugs in Leopard have been fixed and that all of my apps work with Leopard (some right now do not, or not properly). However I want to continue using Path Finder because, well, it's the best Finder I've ever used. If necessary I can learn to stop emptying the trash from the sidebar, but what new problems might 4.8.3 bring to Tiger users?
I'm glad to hear this bug has been fixed internally. I just hope you won't completely dismiss Tiger too quickly -- give users a chance to upgrade before cutting them off for support. Thank you kindly.
Of course I was not talking about dropping Tiger support right now - our first goal at the moment is to be rock solid with 4.x.x release before going Leopard-only. We keep our code in a Subversion repository, which means that we can fork the code base in two branches and still release a critical fix for the 4.x version for example even if we already work on the next big release.
Of course we understand that majority of users are still on Tiger and you can agree that the change that we made for Leopard was really tiny - I just wanted to highlight how easy it is to break something on the other OS, not to say that we're running away in panic immediately :)
Something I don't understand is that you
- bring out 4.8.2
- find out it breaks some basic stuff on Tiger
- still deliver 4.8.2 to your Tiger customers
- and give them no way to go back to 4.8.1
Please do a 4.8.3 pretty soon that just hotfixes that one issue on tiger. thx.
Why not give the user an option to disable Empty Trash in 4.8.2 at least? Or a confirm dialog that activates under Tiger. I understand that the problem snuck in, but a quick fix would be a good thing if the issue can't be addressed.
I usually run Finder and Pathfinder, even though 80% of what I do is in PF, and I'm sure others do too. PF keeps getting better, and it would be a shame to see a stumble here hold up adoption by others.
A retroactive download for Tiger users would be reasonable - is this coming?
The irony of your Tiger vs. Leopard dilemma to me is that it is exactly because of all the ways that Path Finder fixes what's wrong with the Finder that I feel no particular rush to switch to Leopard.
I too installed Leopard, played with it long enough to realize that half my apps weren't working properly, and then nuked my system drive and restored Tiger. From a user's POV, it's not just PF that has problems with Leopard, it's lots of things.
OS developers always try to follow a "prime directive" of not breaking applications, but as the OS and GUI code becomes ever more bloated and complex, this prime directive becomes less and less realistic. The only thing I can see to do, as a previous poster noted, is to sit out a few Leopard point releases before switching over my main machine. Leopard still contains way too many unpleasant surprises, and that will go on for months.
I feel sorry for the app developers having to juggle so many balls, but that's just how it is. Please don't strand us Tiger users too soon.
I've been in a product management role and keeping up with the latest OS releases vs. product releases has always been a problem.
My general strategy is to maintain support on the product one OS version back, and introduce newer OS-specific changes only as needed, but only if those changes do not cause backward-incompatibilities on the older OS version.
I use my system professionally, so I understand the importance of having stability. But I also understand that if you guys keep glancing back at Tiger, you'll miss out on the great possibilities of Leopard. I use Leopard for the most part now and most things work very well. So I say, one last hurrah for Tiger with a nice rock solid release that remains available for Tiger users and then move on.
I would say that if it is two difficult to support two OS, then freeze (or minimize development) the latest one in the prior OS and move development forward on the new OS. Presuming eventually regular users of computers will enhance their system with the more technologically advanced OS in the future.
I too ran out and got and installed Leopard on day one of the release. I own a lot of Mac software and had alot of difficulties with several of them. It was just irritating enough to make me start to not like my recent switch to Mac. Can't have that, so I went back to Tiger... nice move!
Some say that Leopard has too many issues to use it. I say that it is not Leopard itself, it is a difficult situation in certain circumstances that developers have been put in by the release schedule of Leopard.
I would rather have apps that needed to be tweaked for an OS rather than an OS with difficulties within itself. I believe we have mostly the prior, not the latter.
Hi there~
I love Pathfinder..Can u make it possible that we can change the default email applications and put the rating things(Like stars)in windows? I use Entourage a lot.Microsoft is going to publish New Office 2008. It might be a good upgrade for this good software. And I also have a lot of Photos and Clips in my HardDrive. I hope I can rate it personally.
Best Regards!
Hmmm ...
I'm running Leopard. On a dual 2.0 GHz G5 system.
Did an upgrade form Tiger.
With no problems (other than that keychain issue which was quickly fixed).
I guess I'm the only one.
And oh yeah, I like the new dock. I don't care one way or the other about the transparent menu bar. And wish stacks was a folder option, as I like it for some things but not others.
And Path Finder rocks. :-)
SteveM
Once a new OS is out, I'd say feature frezze the current product version, and only do bug fixes in a separate branch. All new development going forward should be for the new OS only.
That minimizes developer head-ache, and improves product stability.
Please please dont drop Tiger support until Leopard is at least stable. I had to downgrade to Tiger for I couldnt afford Leopard hunger for resources. I feared my MacBook would take off and enter an earth orbit because of the fans going full throttle with little silly tiny apps running... not to speak about professional productivity software. I still havent found all the "impressive new set of Leopard features". You guys think that way?? Tiger+Path finder has more new features than Leopard. Spaces? come on! I have a virtual desktop since Windows 3.0 times. Time Machine? Come on! what's new in an automatic backup program. Does that justify the million stability problems everybody seem to have? dont think so. Tiger 10.4.11 works silently and rock-stable. Keep up the good work but please dont forgret professional mac users relying on Tiger until Leopard is mature.
Leopard & v4.8.3. Quit Path Finder disabled. Not 100% sure that this happened after emptying the trash but had to force quit PF in order to restart.
Post a comment
Remember Me?
Comments Preview:

I feel your pain. I've also been hit with problems between Leopard and Tiger -- I really don't have a great strategy short of rebooting in tiger and Rerunning Testing.
Clearly having automated regression testing or unit testing can help but sadly I just don't know if it can really replace stick time.
I think 2008 will just be less productive if we support Tiger + Leopard.