Skip to main content
Participating Frequently
June 8, 2012
Question

ADT hangs over ssh

  • June 8, 2012
  • 1 reply
  • 1983 views

I am putting the finishing touches on our build system and have run into a show stopper bug in ADT.  It seems that ADT will not function propertly over ssh.  When I issue my ADT package command remotely on my Mac OS X machine via ssh, ADT simply hangs forever.

The following are the errors I see on the Mac System Log:

com.apple.SecurityServer: Session 24524 created

naip: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.

naip: _RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.

And then nothing happens.  Forever.

Looking on the remote system, I see that the ADT process has created 2 files and a directory in the output directory:

drwxr-xr-x  2 build  staff     68 Jun  8 13:10 adt3612439737122910737.tmp

-rw-r--r--  1 build  staff  11553 Jun  8 13:10 air6133709946041732094.tmp

-rw-r--r--  1 build  staff  11553 Jun  8 13:10 air8135951800351503639.tmp

However, nothing else happens.  The directory adt3612439737122910737.tmp is empty.

The ADT package command I am running is:

adt -package -storetype pkcs12 -keystore ../build/input/air/cert.p12 -storepass mypassword -tsa none -target bundle ../build/output/tmp/StoicAssetCompiler.mac.app ../build/output/tmp/EngineCompiler-app.xml -C ../build/output/app app.engine.compiler.swf

The command works perfectly when I execute it from a terminal session as the build user.  However, any ssh session causes the adt program to hang forever.

Short version:  How do I invoke ADT over ssh on Mac OS X?

This topic has been closed for replies.

1 reply

Participating Frequently
June 8, 2012

Additional point of information:

There are 2 users involved here:

john

build

john is logged into a desktop session. john can run ADT from a terminal, or even from a terminal ssh-d back to localhost as john.

build can run ADT from a terminal su'd to build.  build cannot run ADT in any ssh session, including one ssh'd from the su'd terminal that works otherwise.

Participating Frequently
June 8, 2012

Furthermore, enabling ssh X11Forwarding does not seem to help.  I can confirm that X11Forwarding is setup correctly otherwise by testing a simple X11 app:

ssh -X build@localhost /usr/X11/bin/xeyes

But trying to run the ADT thing fails with the same system log errors.

ssh -X build@localhost adt -package etc...

Participating Frequently
June 8, 2012

Ok, I got working.  It's pretty hacky but here's what I did:

First, ensure that Fast User Switching is enabled in User & Groups settings.

Then, switch to build user, which logs them on to a desktop session.  Now, you can switch back to your other desktop (in my case, john), and ADT will now function through ssh as user 'build'.

It would be nice if this were addressed in the next build of ADT if possible.