Raw File Download from Web fails

Hi there! Very happy Gitlab users since version 5 here, but by no means an expert on sysadmin yet… long way to go :slight_smile:

I just upgraded to 8.6 and everything works great, except one thing: whenever I try to download a raw file (be it a bigger .wav audio or a simple text file), I receive the file instantly, but it is zero bytes.
Here’s the output from the log:

Started GET “/repo/pieces/something.wav” for IP at 2016-03-31 17:30:35 +0200
Processing by Projects::RawController#show as HTML
Parameters: {“namespace_id”=>“fbp”, “project_id”=>“Sound”, “id”=>“master/pieces/something.wav”}
Completed 200 OK in 367ms (ActiveRecord: 3.5ms)

nothing more in the log. What could I do to fix this?

Thank you,


How did you upgrade? From source? I suspect you have an old NGINX config. Try to upgrade that.

Thanks for your reply! Source install here. I upgraded gradually each time. There were some hiccups installing the new redis version, but it’s all set up now.

I use Apache 2.2 instead of NGINX- using the template config file from here :https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/apache/gitlab-ssl-apache22.conf

I noticed that everything works (git operations, web frontend, etc.) except for file downloads/zip creation AND sending emails. I tried to search the logs, but they just say “sent email to ----.com” . :frowning: Maybe the two erroneous behaviours are linked?

Thanks for your help!


I assume you followed the info in the conf:

# Note this config assumes unicorn is listening on default port 8080 and
# gitlab-workhorse is listening on port 8181. To allow gitlab-workhorse to
# listen on port 8181, edit or create /etc/default/gitlab and change or add the following:
# gitlab_workhorse_options="-listenUmask 0 -listenNetwork tcp -listenAddr -authBackend"


Hi Axil,

here are the contents of the file below… there was one commented out line that read:

#gitlab_workhorse_options="-listenUmask 0 -listenNetwork unix -listenAddr $socket_path/gitlab-git-http-server.socket -authBackend"

but the actual file is below.

should be all set? :worried:

Copy this lib/support/init.d/gitlab.default.example file to

/etc/default/gitlab in order for it to apply to your system.

RAILS_ENV defines the type of installation that is running.

Normal values are “production”, “test” and “development”.


app_user defines the user that GitLab is run as.

The default is “git”.


app_root defines the folder in which gitlab and it’s components are installed.

The default is “/home/$app_user/gitlab”


pid_path defines a folder in which the gitlab and it’s components place their pids.

This variable is also used below to define the relevant pids for the gitlab components.

The default is “$app_root/tmp/pids”


socket_path defines the folder in which gitlab places the sockets

#The default is “$app_root/tmp/sockets”

web_server_pid_path defines the path in which to create the pid file fo the web_server

The default is “$pid_path/unicorn.pid”


sidekiq_pid_path defines the path in which to create the pid file for sidekiq

The default is “$pid_path/sidekiq.pid”



The -listenXxx settings determine where gitlab-git-http-server

listens for connections from NGINX. To listen on localhost:8181, write

#’-listenNetwork tcp -listenAddr localhost:8181’.

The -authBackend setting tells gitlab-git-http-server where it can reach




gitlab_workhorse_options="-listenUmask 0 -listenNetwork tcp -listenAddr localhost:8181 -authBackend"

mail_room_enabled specifies whether mail_room, which is used to process incoming email, is enabled.

This is required for the Reply by email feature.

The default is “false”


mail_room_pid_path defines the path in which to create the pid file for mail_room

The default is “$pid_path/mail_room.pid”


shell_path defines the path of shell for “$app_user” in case you are using

shell other than “bash”

The default is “/bin/bash”


Found the problem! I had an old version of the apache config file… newbie error :slight_smile: Everything works now. Thanks for your support!