"Internal Error Updating Bot"

Hi,


I am trying to set up OS X Server 5 for continuous integration on El Capitan. I need to modify my bot. If I click "Edit Bot..." to change its configuration, I am unable to save my changes. Even if I do not change anything in the resulting sheet, clicking "Done" results in this error message:


Internal Error Updating Bot

Please try configuring the bot again.


I see these messages in the Console, although I do not think they are relevant:

7/15/15 7:54:31.735 PM servermgr_certs[364]: validating connection from 0 : 100000
7/15/15 7:54:31.853 PM com.apple.xpc.launchd[1]: (com.apple.serviceproxy[15749]) Service exited with abnormal code: 1
7/15/15 7:54:31.853 PM com.apple.xpc.launchd[1]: (com.apple.serviceproxy) Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
7/15/15 7:54:41.939 PM certadmin[15763]: Connected to the Notify Service
7/15/15 7:54:41.940 PM servermgr_certs[364]: validating connection from 0 : 100000
7/15/15 7:54:42.046 PM com.apple.xpc.launchd[1]: (com.apple.serviceproxy[15760]) Service exited with abnormal code: 1
7/15/15 7:54:42.047 PM com.apple.xpc.launchd[1]: (com.apple.serviceproxy) Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
7/15/15 7:54:48.942 PM secd[440]:  securityd_xpc_dictionary_handler Xcode[1105] copy_matching The operation couldn’t be completed. (OSStatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)
7/15/15 7:54:48.942 PM Xcode[1105]:  SecOSStatusWith error:[-34018] The operation couldn’t be completed. (OSStatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)
7/15/15 7:54:52.125 PM certadmin[15783]: Connected to the Notify Service
7/15/15 7:54:52.126 PM servermgr_certs[364]: validating connection from 0 : 100000
7/15/15 7:54:52.247 PM com.apple.xpc.launchd[1]: (com.apple.serviceproxy[15781]) Service exited with abnormal code: 1
7/15/15 7:54:52.247 PM com.apple.xpc.launchd[1]: (com.apple.serviceproxy) Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
7/15/15 7:54:57.868 PM WindowServer[242]: disable_update_timeout: UI updates were forcibly disabled by application "Server" for over 1.00 seconds. Server has re-enabled them.
7/15/15 7:55:01.175 PM WindowServer[242]: common_reenable_update: UI updates were finally reenabled by application "Server" after 4.31 seconds [0.23fps] (server forcibly re-enabled them after 1.00 seconds [1.00fps])


How can I go about further troubleshooting this?


John

I am experiencing the same "com.apple.xpc.launchd[1]: (com.apple.serviceproxy) Service only ran for 0 seconds. Pushing respawn out by 10 seconds." after installing Server 5. In one of my cases, it's due to the server screwing up the location of the security certs in the file /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf


I am getting that error repeated in the logs and cannot get any websites to come up.


It comes from this file: apache_serviceproxy.conf


<VirtualHost *:443>

ProxyPreserveHost On

SetEnv proxy-chain-auth on

RequestHeader set X-Forwarded-Proto "https"

RequestHeader set X-Forwarded-Port "443"


SSLEngine On

SSLCertificateFile "PATH_PLACEHOLDER.cert.pem"

SSLCertificateKeyFile "PATH_PLACEHOLDER.key.pem"

SSLCertificateChainFile "PATH_PLACEHOLDER.chain.pem"

SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"

SSLProtocol -ALL +TLSv1

SSLProxyEngine On

SSLProxyProtocol -ALL +TLSv1

SSLProxyCheckPeerCN off

SSLProxyCheckPeerName off


I'm not sure what other service is borked, but it seems there's a critical bug in Server 5.

I had this problem too. My setup is very very simple: just one site for internal use. I can tell you I banged my head a LOT on this issue.



So the symptom I had was the same as many: web service is not working after upgrading OSX Server app. Log showed repeatedly:

com.apple.xpc.launchd[1] (com.apple.serviceproxy[xxxx]): Service exited with abnormal code: 1                         
com.apple.xpc.launchd[1] (com.apple.serviceproxy): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.


Some things you need to know:



- once you install the server app, the config files are no longer at /etc/apache2 contrary to the non-server version of OSX. The server app overrides this and creates a brand new set of files, located at /Library/Server/Web/Config. This confused me when Googling for help since a lot of answers refer to files located in the client version. And... the server app does not remove them, they are still there! So I spent quite a bit of time fiddling with wrong the config files and really not understanding why nothing was changing :-)



- the server app uses a proxy system to listen to outside ports and redirect everything to internal ports 80->34580 and 443->34543.



Now the log says com.apple.serviceproxy cannot start: it keeps quitting all the time. Since the entire web service relies on this proxy service, no web site is available...



Here's how I diagnosed and fixed my problem.


1. open Console, expand /var/log and then apache2



2. check the log for service_proxy_error.log. I had errors saying

could not bind to address [::]:8443
could not bind to address 0.0.0.0:8443

You might have different errors, just jot down the port number giving you errors.



3. Stop the web service in the Server app. No need to stop other services.



4. Navigate to /Library/Server/Web/Config/Proxy. (in the Finder, use the "Go to folder" option in the "Go" menu and type "/Library" to open that otherwise not accessible folder)



5. Duplicate apache_serviceproxy.conf and rename it apache_serviceproxy.conf_backup - this is important so you can revert to the original config. You'll have to authenticate with an admin user/password to do this.



6. Drag apache_serviceproxy.conf to your desktop (it will be copied automatically since the original folder is locked). This will allow you to modify it and be able to save it. Open it with TextWrangler.


(I use TextWrangler, great tool and free, to edit the files. You can also use the terminal with tools like vi or nano. Just don't use Text Edit as the config files are sensible to line endings and Text Edit tends to modify them.)



7. At the top of that file, you'll see a bunch of "listen" lines like:

listen 80
listen 443
listen 8008
listen 8800
listen 8443
listen 8843


8. Now change the line matching the port number you had an error on by adding the local address before the port. Mine was 8443, so I changed it to:

listen 80
listen 443
listen 8008
listen 8800
listen 127.0.0.1:8443
listen 8843


9. Save the file, drag it to replace the original (type an admin password).


10. In server app. start the service again. Watch the log to see if you have any more errors. Open your web browser and type your address (make sure you reload in case an error page was cached by your browser).



Please keep in touch and let me know if this solution works for you or not. I'm really curious to see if this solves someone else's problems.



I'm not an expert with Apache or OS X and I'm not sure exactly how all the pieces of this proxy puzzle work together, but I am a software developer myself and a network guy, so I was guided by my knowledge and experience to find this.

"Internal Error Updating Bot"
 
 
Q