Branch page displays 'Something went wrong our end' error when slash char in branch name
Summary
When a branch name has a slash (/) char in it (eg: feature/branch-name) the branch page results in a 'Something went wrong our end' error message and the commit data hangs with the spinner and 'Loading commit data' message. This also seems to break for the project network page and tags page too.
Steps to reproduce
Create a branch with a slash char in its name (eg: feature/my-feature-branch) and try to view that branch page within the gitlab web ui.
Expected behavior
I expected the branch page and commit data to load as per previous versions.
Actual behavior
The branch page results in a 'Something went wrong our end' error message and the commit data hangs with the spinner and 'Loading commit data' message.
This is using an Apache and Postgres backend, which has worked flawlessly until a recent Gitlab update (not sure exactly which version broke). The Apache 2.4 config came from https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/apache/gitlab-apache24.conf
If I comment out:
AllowEncodedSlashes NoDecode
in my Apache config, I no longer see the error message, but the commit data still refuses to load.```
It happens for all projects, and old and new branches alike.
Relevant logs and/or screenshots
Processing by Projects::RefsController#logs_tree as JS
Parameters: {"_"=>"1474443340392", "namespace_id"=>"namespace", "project_id"=>"my-project", "id"=>"feature%2F15_downloads-page"}
Filter chain halted as :assign_ref_vars rendered or redirected```
### Output of checks
#### Results of GitLab application Check
```Checking GitLab Shell ...
GitLab Shell version >= 3.4.0 ? ... OK (3.4.0)
Repo base directory exists?
default... yes
Repo storage directories are symlinks?
default... no
Repo paths owned by git:git?
default... yes
Repo paths access is drwxrws---?
default... yes
hooks directories in repos are links: ...
4/1 ... ok
2/2 ... ok
2/3 ... ok
2/4 ... ok
2/5 ... ok
2/6 ... repository is empty
2/7 ... ok
10/9 ... ok
2/10 ... ok
2/11 ... ok
5/12 ... ok
5/13 ... ok
2/14 ... ok
5/15 ... ok
9/16 ... repository is empty
8/17 ... ok
8/18 ... repository is empty
10/19 ... repository is empty
4/25 ... ok
4/31 ... ok
4/32 ... ok
4/33 ... ok
4/34 ... ok
4/35 ... ok
4/36 ... ok
5/40 ... ok
5/41 ... ok
4/42 ... ok
Running /opt/gitlab/embedded/service/gitlab-shell/bin/check
Check GitLab API access: OK
Access to /var/opt/gitlab/.ssh/authorized_keys: OK
Send ping to redis server: OK
gitlab-shell self-check successful
Checking GitLab Shell ... Finished
Checking Sidekiq ...
Running? ... yes
Number of Sidekiq processes ... 1
Checking Sidekiq ... Finished
Checking Reply by email ...
Reply by email is disabled in config/gitlab.yml
Checking Reply by email ... Finished
Checking LDAP ...
LDAP is disabled in config/gitlab.yml
Checking LDAP ... Finished
Checking GitLab ...
Git configured with autocrlf=input? ... yes
Database config exists? ... yes
All migrations up? ... yes
Database contains orphaned GroupMembers? ... no
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Uploads directory setup correctly? ... yes
Init script exists? ... skipped (omnibus-gitlab has no init script)
Init script up-to-date? ... skipped (omnibus-gitlab has no init script)
projects have namespace: ...
4/1 ... yes
2/2 ... yes
2/3 ... yes
2/4 ... yes
2/5 ... yes
2/6 ... yes
2/7 ... yes
10/9 ... yes
2/10 ... yes
2/11 ... yes
5/12 ... yes
5/13 ... yes
2/14 ... yes
5/15 ... yes
9/16 ... yes
8/17 ... yes
8/18 ... yes
10/19 ... yes
4/25 ... yes
4/31 ... yes
4/32 ... yes
4/33 ... yes
4/34 ... yes
4/35 ... yes
4/36 ... yes
5/40 ... yes
5/41 ... yes
4/42 ... yes
Redis version >= 2.8.0? ... yes
Ruby version >= 2.1.0 ? ... yes (2.3.1)
Your git bin path is "/opt/gitlab/embedded/bin/git"
Git version >= 2.7.3 ? ... yes (2.7.4)
Active users: 2
Checking GitLab ... Finished```
#### Results of GitLab environment info
```System information
System: Debian 8.6
Current User: git
Using RVM: no
Ruby Version: 2.3.1p112
Gem Version: 2.6.6
Bundler Version:2.3.0
Rake Version: 10.5.0
Sidekiq Version:4.1.4
GitLab information
Version: 8.11.7
Revision: 62ead92
Directory: /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: postgresql
URL: https://my.domain.name
HTTP Clone URL: https://my.domain.name/some-group/some-project.git
SSH Clone URL: ssh://git@my.domain.name/some-group/some-project.git
Using LDAP: no
Using Omniauth: no
GitLab Shell
Version: 3.4.0
Repository storage paths:
- default: /var/opt/gitlab/git-data/repositories
Hooks: /opt/gitlab/embedded/service/gitlab-shell/hooks/
Git: /opt/gitlab/embedded/bin/git```