How to: Fixing Various Mac Developer Hangs

A bunch of you are on our wave where we’ve been keeping this updated. Summarizes information scattered around the forum along with some of our own additions. Please feel free to add additional information and links below and I’ll keep this post updated now.

1 Smart client opens to a blank screen

See viewtopic.php?t=13140 for a more detailed discussion of this issue.

Fix #1
Close all open editors and restart Servoy.

Fix #2
Delete the globals.js.launch files in your workspace:

rm [workspace_directory]/.metadata/.plugins/org.eclipse.debug.core/.launches/* 

2 Servoy doesn’t finish starting up

This one is not fun. Either your workspace and/or your Servoy directory have some messed up files in them.

Fix #1: Reset your workspace
1 Rename your workspace. IE, add “_archive” to the end of the name
2 Create a new folder with the same name as your original workspace folder
3 Open Servoy. You should have nothing in your file system at this point. But hey, now it’s opening again! If not, see “Fix #2
4 Choose “File > Import… > General > Existing projects into workspace”
5 Click “Next” and for “Select root directory” navigate to your archived workspace.
6 Choose the projects you want to import, make sure “Copy projects into workspace” is selected and click “Finish.”

You now have all of your projects back. The unfortunate part is that many custom Eclipse settings have to be set back up from scratch again at this point. Like your SVN connections. (An SVN bug is probably the single biggest culprit for this issue though and somewhere on the forum I think Servoy recommends a different versioning system. TODO: insert link).

Fix #2: Reinstall Servoy
If Servoy doesn’t startup with a blank workspace as described in steps 1 & 2 above, then reinstall Servoy and start at step 4 above to get your files back.

3 “Servoy takes too long to connect to the IDE”
Fairly benign error as you just can’t use the debugger when this happens. Restart.

4 Headless client quits working
This happens everytime you terminate the debugger before a method the headless client triggered is finished. Restart.

5 Crash when hitting a dialogue plugin call with the debugger on
This is a guaranteed crash everytime on a Mac (not sure with windows). 50% of the time it whacks out your SVN information as well (again, likely SVN bug fault). You can either reset your SVN up from scratch or:

Fix

  • delete directory: “<workspace_directory>/.metadata/.plugins/org.eclipse.core.resources”
  • in Eclipse, go to “File->Import->Existing projects into Workspace”
  • choose your workspace as root directory and do NOT check “Copy projects into workspace” (they’re already there)

6 Servoy doesn’t finish quitting

This one is messing with us. I moved a big solution up to 5.1.4 to test and soon discovered that with smart client open, Servoy hangs on quit every time. Troy’s been having this same problem with just about every v5 version to date and 5.1.4 solved it on his machine. head scratch

I’m on Mac 10.5.8 and I think Troy is on 10.6.x. I have the latest Java update (thanks Apple for the bonus delete character) and Troy doesn’t.

Fix

  • Force quit. (At the point Servoy hangs, Eclipse has already done its workspace cleanup – I haven’t had any adverse consequences yet.)

A very nice compilation David, thanks for sharing!

When I see the kind of crap you guys are confronted with in developer on Mac OS X, I’m always wondering whether you are brave or simply mad?
I mean, it would probably be a lot easier (and less buggy) to develop with Servoy using a Virtual Windows install…
For client, I can see the point of having a platform capable of delivering to Mac OS X of course, but for development? :roll: :!: :?: :!: :shock:

Maybe the best workaround for various Mac developer hangs would be VMWare or Parallels? :twisted:

Oh man Patrick,

Don’t even say that! We started using FoxPro about 15 years ago because at the time they had Mac and Windows versions and we have about a 50-50 mac/pc ratio here. Within a couple years, Microsoft killed the Mac version, and we were stuck with lame solutions for over 10 years.

Now, we are just starting to move that old foxpro db to Servoy. If they pulled the plug on the Mac client, I’d ask for a refund!

ShaneK:
Oh man Patrick,

Don’t even say that! We started using FoxPro about 15 years ago because at the time they had Mac and Windows versions and we have about a 50-50 mac/pc ratio here. Within a couple years, Microsoft killed the Mac version, and we were stuck with lame solutions for over 10 years.

Now, we are just starting to move that old foxpro db to Servoy. If they pulled the plug on the Mac client, I’d ask for a refund!

I’m not saying anything like that!
Like you I care a lot about Servoy Mac CLIENT.
I’m just saying that for developer this is clearly not the best platform…

Believe it or not, with this cheat sheet close at hand developing on a Mac is quite smooth…now. With standard Servoy development tasks, I rarely have to pull this out anymore (without SVN, you’d probably never be reading this once you figure out to avoid debugging a dialogue plugin call).

Pushing the envelope is when things can get a bit dicey. Usually happens when we’re combining various additional technologies (web client integrations, inline Java libraries, your Browser Suite, etc). Just have to be ready on those days.

Hey David,
As you know, pushing the envelope is what I like to do as much as I can…
so I guess OS X is not for me then :(

@Patrick

I just would strongly like to say that Mac Developers should have the same treatment as Windows Developers, and of course for that matter, Linux Developers. So I expect from Servoy the same attention in doing their work right for the Mac platform as for other platforms. I really do not have much humour for that topic, as I do not see it as very funny.

Regards,Robert

Robert Huber:
I really do not have much humour for that topic, as I do not see it as very funny.

I don’t find it particularly funny either, but it’s more to do with Apple’s treatment of Java than Servoy’s treatment of the Mac.

As far as I know, there is more specific code related to Mac to workaround various quirks than there is for any other platforms.
I can tell you that it’s also the case for the BrowserSuite, and I didn’t find it funny.

So what else to do than take it with humor, except perhaps pressing Steve Jobs to finally accept Java as a first class citizen on his platform?

Considering the long history of Mac Java bugs, I think Steve-o is trying to kill Java on a Mac like he his Flash :)

I am always wondering what about these long standing Java bugs only existing on Macs? Is this a myth or does a platform specific, long standing bug list exist therefor? I would really prefer facts which help a developer for this specific case. Most problems we have/found with Servoy don’t seem to be related to (Mac) Java bugs, but I may be wrong.

Regards, Robert

david:
Considering the long history of Mac Java bugs, I think Steve-o is trying to kill Java on a Mac like he his Flash :)

Robert Huber:
Most problems we have/found with Servoy don’t seem to be related to (Mac) Java bugs, but I may be wrong.

many developer bugs/hangs that David numbered out in the top post are mac specific

1> blank screens: mac only
2> doesnt finish starting up: this mostly because of a kill or crash and the subversion plugin you use (subversive instead of subclipse) at least that is what i did see in many many stack dumps
3> This one i am interested in. I never see that anymore, but maybe it could be a build problem that took to long or something, if anybody can give me more info that would be very appreciated!
4> There shouldnt be a need to restart serclipse when doing that, But why are you terminating the debugger? dont do that, that is (or should) never (be) needed.
5> Does this really crash or just completely hangs serclipse? But this is mac only, Its the same thing that we dont allow modal form dialogs to show in the developer of the mac, This will result in <2> yes…
6> does the admin page still works through the browser? If so please make a stackdump for me.

Robert Huber:
@Patrick

I just would strongly like to say that Mac Developers should have the same treatment as Windows Developers, and of course for that matter, Linux Developers. So I expect from Servoy the same attention in doing their work right for the Mac platform as for other platforms. I really do not have much humour for that topic, as I do not see it as very funny.

Regards,Robert

Robert our R&D team spends more time on Mac quirks than any other platform.

Jan, thanks for giving an indication that you also spent (a lot of) time to make Servoy be a good development environment on the Mac as well. Good to hear that Servoy cares, thank you.

Best regards, Robert

Jan Aleman:
Robert our R&D team spends more time on Mac quirks than any other platform.

Robert Huber:
Jan, thanks for giving an indication that you also spent (a lot of) time to make Servoy be a good development environment on the Mac as well. Good to hear that Servoy cares, thank you.

I do all my demos on Mac so hey we have to!

Good to hear Jan, you save the Servoy Mac developer universe :-)

jcompagner:
many developer bugs/hangs that David numbered out in the top post are mac specific

1> blank screens: mac only

Johan, any news on this one?
Just spent (too) much time on helping a Mac colleague, ended up trying to find this post.
As for a solution: David’s ‘fix2’ did it, so something must be wrong in the file(s) he mentioned.

and that is just some kind of threading issue,
if you delete that file then there is a little more time at some point creating that file again, and that seems to be the trigger some how.
Strange thing is if i fake this extra time, then it doesn’t have that same effect…

jcompagner:
if you delete that file then there is a little more time at some point creating that file again, and that seems to be the trigger some how.
Strange thing is if i fake this extra time, then it doesn’t have that same effect…

and there’s no way to automate the delete action when executing the client?
or at least create some kind of cleanup button for our fellow Mac users?

marc,

In my case, I had never to delete that file!

I only have to take care, that there are no, global.js tab (window) open in eclipse
if that’s true, in my case, the debug client always opens!! if the first start was succesfull, than opening globals.js, has no issue, even when your restart a debug client.

So, to keep it short, when I close eclipse, I always, take care of that all tab’s (window) are closed before.
than (again, in my case) the debug client always opens fine the first time!

I have noticed that what I need to do is as soon as Serclipse has launched and everything is built, launch Debug Client, then you can quit it, do stuff in Serclipse and from then on (in that session) Client will always open.
You also need to be careful to make sure Client is not running when you quit Serclipse.

Rafi