"Error communicating with Git server" when register repo in RTC

5 answers

The error code 22 is seen when BASIC registry (CCM URL) for authentication is used in config.json with the default authentication mode in JTS/RTC. It works well when Nodejs server is configured against LDAP server.

28 Aug 02:11:00 - HTTPUtils INFO getLanguage(): first matching language = en
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): cmd = /usr/bin/git args = [ 'config', 'rtc.repourl' ] outputCharEncoding = utf8
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): child pid = 22059
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): cmd = /usr/bin/git args = [ 'config', 'rtc.repokey' ] outputCharEncoding = utf8
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): child pid = 22060
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): cmd = /usr/bin/git args = [ 'config', 'rtc.skipaccessvalidation' ] outputCharEncoding = utf8
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): child pid = 22061
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): close event of child process 22060 code = 0 signal = null
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): close event of child process 22059 code = 0 signal = null
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): close event of child process 22061 code = 1 signal = null
28 Aug 02:11:00 - CLGitResourceProvider INFO getConfig.spawnCb(): err = Git Error: 'null' 1:
28 Aug 02:11:00 - GitBackendService VERBOSE validateRepositoryAccess.onComplete(): err = null, rtcUrl = https://ec2-52-209-240-203.eu-west-1.compute.amazonaws.com:9443/ccm, rtcKey = 4598b63f54144f01b40aff64d724e464
28 Aug 02:11:00 - GitBackendService VERBOSE validateRepositoryAccess.onComplete(): postData = gitUser=liora&repositoryKey=4598b63f54144f01b40aff64d724e464
28 Aug 02:11:00 - GitBackendService VERBOSE handleGitRequest(): GET /git/JKEBanking-git-rtc.git
28 Aug 02:11:00 - GitBackendService VERBOSE handleGitRequest(): env = {"TERM":"xterm-256color","SHELL":"/bin/bash","XDG_SESSION_COOKIE":"be145668629f707675216cff000000fd-1472346652.863087-1926075962","SSH_CLIENT":"188.120.133.69 62377 22","OLDPWD":"/var/chef/cache/rtc-git-server-toolkit/server/git-lib","SSH_TTY":"/dev/pts/0","USER":"ubuntu","LS_COLORS":"rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:","RTC_GIT_SERVER_TRACE_LEVEL":"4","MAIL":"/var/mail/ubuntu","PATH":"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games","PWD":"/var/chef/cache/rtc-git-server-toolkit/server","JAVA_HOME":"/usr/lib/jvm/java-7-openjdk-amd64","LANG":"en_US.UTF-8","NODE_PATH":"/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript","SHLVL":"1","HOME":"/home/ubuntu","LOGNAME":"ubuntu","SSH_CONNECTION":"188.120.133.69 62377 10.0.0.131 22","LC_CTYPE":"UTF-8","LESSOPEN":"| /usr/bin/lesspipe %s","LESSCLOSE":"/usr/bin/lesspipe %s %s","_":"/usr/bin/node","HTTP_HOST":"ec2-52-210-11-212.eu-west-1.compute.amazonaws.com:9999","HTTP_REFERER":"undefined","HTTP_USER_AGENT":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36","HTTP_ACCEPT":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","HTTP_ACCEPT_LANGUAGE":"en-US,en;q=0.8,he;q=0.6,de;q=0.4","HTTP_ACCEPT_ENCODING":"gzip, deflate, sdch","HTTP_ACCEPT_CHARSET":"undefined","QUERY_STRING":"","REMOTE_ADDR":"::ffff:188.120.133.69","REMOTE_HOST":"::ffff:188.120.133.69","REMOTE_PORT":"64322","REMOTE_USER":"liora","REQUEST_METHOD":"GET","REQUEST_URI":"/git/JKEBanking-git-rtc.git","PATH_INFO":"/JKEBanking-git-rtc.git","GIT_HTTP_EXPORT_ALL":"1","GIT_PROJECT_ROOT":"/gitrepos","RTC_GIT_SERVER_TOOLKIT_PATH":"/var/chef/cache/rtc-git-server-toolkit"}
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): cmd = /usr/bin/git args = [ 'http-backend' ] outputCharEncoding = null
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): child pid = 22062
28 Aug 02:11:00 - OSUtils VERBOSE doSpawn(): close event of child process 22062 code = 0 signal = null
28 Aug 02:11:00 - GitBackendService VERBOSE handleGitRequest.spawnCb(): { '0': 0,
'1': <Buffer 53 74 61 74 75 73 3a 20 34 30 34 20 4e 6f 74 20 46 6f 75 6e 64 0d 0a 45 78 70 69 72 65 73 3a 20 46 72 69 2c 20 30 31 20 4a 61 6e 20 31 39 38 30 20 30 ... >,
'2': <Buffer 52 65 71 75 65 73 74 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 3a 20 27 2f 67 69 74 72 65 70 6f 73 2f 4a 4b 45 42 61 6e 6b 69 6e 67 2d 67 69 74 2d 72 ... > }
28 Aug 02:11:00 - GitBackendService VERBOSE handleGitRequest.spawnCb(): result = { status: { statusCode: 404, reasonPhrase: 'Not Found' },
headers:
{ Status: '404 Not Found',
Expires: 'Fri, 01 Jan 1980 00:00:00 GMT',
Pragma: 'no-cache',
'Cache-Control': 'no-cache, max-age=0, must-revalidate' },
body: <Buffer > }
28 Aug 02:11:00 - GitBackendService VERBOSE handleGitRequest.spawnCb(): setting status code = 404
Any idea how to to further investigate?
Comments

Is the Apache HTTP server is required if I setup the nodejs server?

No, Apache HTTP Server is not required when using nodejs server. You can either use nodes server or Apache HTTP Server to host the Git repository.

{
"Version": 1,
"Server-Use-HTTPS": false,
"Server-Key-File-Path": "",
"Server-Certificate-File-Path": "",
"Server-Setup-HTTP-Redirector": true,
"Server-Port": 9999,
"Server-Socket-Timeout": 180000,
"Git-Executable-Path": "/usr/bin/git",
"Git-Repositories-Root-Dir": "/gitrepos",
"Git-Use-NodeGit": true,
"Auth-Profiles": {
"Ldap-1": {
"type": "LDAP",
"url": "ldap://<your server>",
"bindDn": null,
"bindCredentials": null,
"searchBase": "ou=people,dc=test,dc=lan",
"searchFilter": "(uid={{username}})",
"searchAttributes": null
},
"Basic-1": {
"type": "BASIC",
"url": "https://ec2-52-18-1-62.eu-west-1.compute.amazonaws.com:9443/ccm/secure/authenticated/identity",
"method": "GET"
}
},
"Git-URL-Prefixes": {
"/git": {
"authProfile": "Basic-1"
}
}
}
Comments

My environment is:

I see 2 possible issues here:

I have already faced both of the issues you mentioned and fixed them according to the answers you listed.

We might have investigate further, could you raise a PMR on this?

Yes. I did follow the article mentioned. I will raise a PMR.

BTW, found in the info center the next info:
Comments
Lukas Steiger
Mar 11 '16, 10:50 a.m.It seems that I'm facing the same issue as you. I've been reverse engineering and debugging for a couple of hours but couldn't really get further.
in your command prompt before starting the server with 'node main.js'. This will give you additional log messages which should be helpful to trace down the issue.One thing that is important, is to execute
In my case, the problem seems to be with the BASIC authentication not working:
11 Mar 16:42:43 - Services ERROR basicAuth(): Error while executing request; response code 302
Stephen Rooks
Mar 18 '16, 12:23 p.m.I'm hitting the same issue. If you remove the line "authProfile": "Basic-1", to make it unauthenticated do you get any further?
Lukas Steiger
Mar 18 '16, 12:34 p.m.No, not at all. The server kills itself as soon as I run the first request.
For me it seems like that there is an issue with certificates, I found the following line when working through the response returned by the server:
authorizationError: 'SELF_SIGNED_CERT_IN_CHAIN'
Stephen Rooks
Mar 21 '16, 5:06 a.m.Can you post the log? How did you switch on the logging?