Skip to main content
betheflexcoder
Participant
January 24, 2012
Question

How to run adt.jar in headless mode?

  • January 24, 2012
  • 1 reply
  • 2939 views

Hi,

I am facing issues packaging flex iOS applicaition in headless mode. Here is the error I am getting: After googling, I found this error might not occur when run in headless mode. I have already set the <headless-server>true</headless-server> in the air-config.xml and others.

     [java] Exception in thread "main" java.lang.InternalError: Can't connect to window server - not enough permissions.

     [java]     at java.lang.ClassLoader$NativeLibrary.load(Native Method)

     [java]     at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)

     [java]     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1724)

     [java]     at java.lang.Runtime.loadLibrary0(Runtime.java:823)

     [java]     at java.lang.System.loadLibrary(System.java:1045)

     [java]     at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)

     [java]     at java.security.AccessController.doPrivileged(Native Method)

     [java]     at java.awt.Toolkit.loadLibraries(Toolkit.java:1605)

     [java]     at java.awt.Toolkit.<clinit>(Toolkit.java:1627)

     [java]     at java.awt.Dimension.<clinit>(Dimension.java:70)

     [java]     at com.adobe.air.validator.ApplicationDescriptorValidator.validateImageUri(ApplicationDescriptorValidator.java:183)

     [java]     at com.adobe.air.validator.ApplicationDescriptorValidator20.validateElement(ApplicationDescriptorValidator20.java:121)

     [java]     at com.adobe.air.validator.ApplicationDescriptorValidator25.validateElement(ApplicationDescriptorValidator25.java:65)

     [java]     at com.adobe.air.validator.ApplicationDescriptorValidator26.validateElement(ApplicationDescriptorValidator26.java:62)

     [java]     at com.adobe.air.validator.ApplicationDescriptorValidator30.validateElement(ApplicationDescriptorValidator30.java:52)

     [java]     at com.adobe.air.validator.ApplicationDescriptorValidator31.validateElement(ApplicationDescriptorValidator31.java:46)

     [java]     at com.adobe.air.validator.DescriptorValidator.endElement(DescriptorValidator.java:239)

     [java]     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)

     [java]     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)

     [java]     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2939)

     [java]     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)

     [java]     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)

     [java]     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)

     [java]     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)

     [java]     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)

     [java]     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)

     [java]     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)

     [java]     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)

     [java]     at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)

     [java]     at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)

     [java]     at com.adobe.air.Descriptor.validateXML(Descriptor.java:182)

     [java]     at com.adobe.air.Descriptor.<init>(Descriptor.java:56)

     [java]     at com.adobe.air.ApplicationDescriptor.<init>(ApplicationDescriptor.java:84)

     [java]     at com.adobe.air.ApplicationPackager.validateApplicationDescriptor(ApplicationPackager.java:101)

     [java]     at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:64)

     [java]     at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:217)

     [java]     at com.adobe.air.ADT.parseArgsAndGo(ADT.java:557)

     [java]     at com.adobe.air.ADT.run(ADT.java:414)

     [java]     at com.adobe.air.ADT.main(ADT.java:464)

Please help.

Thanks,

Swathi.

This topic has been closed for replies.

1 reply

Participating Frequently
February 6, 2012

I had the same issue while running e.g. Jenkins as a deamon calling ant scripts that used adt.

The easy workaround for this was to start Jenkins as an OS X user and not as a deamon.

A "ps aux | grep app" can show you which user is running the application.

If you are running it as a deamon you can always shut it down with "sudo launchtl stop packagename".

Thanks,

Ignacio

betheflexcoder
Participant
February 15, 2012

Hi Ignacio,

Thank you for the suggestion. Our organisation requires Jenkins to run as daemon instead of OS X user. So, this is more like a workaround for us.

Thanks,

Swathi.

February 16, 2012

Hi Swathi,

Can you quickly check the following:

1) Are you using the <headless-server> tag correctly, i.e. inside the <compiler> tag?

2) Are you able to run it as a normal user and the problem is only when running via Jenkins?

3) Can you check that the libraries you are trying to load are loadable via a daemon process?

4) Does your daemon process have sufficient permissions for reading/writing/executing as per your requirements?

5) Does the issue exist for an application not using native extensions(ANE) or is it specific to when using extensions?

Also, please check your firewall settings.