500 (Template::Error) on file browse #2613

Closed
tillmzw opened this Issue Jan 16, 2013 · 2 comments

Comments

Projects
None yet
3 participants

tillmzw commented Jan 16, 2013

Hey guys,

I recently updated to v4.0 and had this issue, which even persists after a complete reinstall (with database drop and everything):
Whenever I want to browse files in one project (only one project has problems), I get a 500 and this message from the logs:

Started GET "/group/project/tree/master" for xxx.xxx.xxx.xxx at 2013-01-16 13:32:46 +0100
Processing by TreeController#show as HTML
  Parameters: {"project_id"=>"stromer/stromer_ios", "id"=>"master"}
  Rendered shared/_ref_switcher.html.haml (1.0ms)
  Rendered shared/_clone_panel.html.haml (0.5ms)
  Rendered tree/_head.html.haml (2.3ms)
  Rendered tree/_tree_item.html.haml (2.3ms)
  Rendered tree/_tree_item.html.haml (0.6ms)
  Rendered tree/_tree_item.html.haml (0.5ms)
  Rendered tree/_tree_item.html.haml (0.5ms)
  Rendered tree/_tree_item.html.haml (0.5ms)
  Rendered tree/_tree_item.html.haml (0.5ms)
  Rendered tree/_tree_item.html.haml (0.5ms)
  Rendered tree/_submodule_item.html.haml (2.1ms)
  Rendered tree/_tree_item.html.haml (0.5ms)
  Rendered tree/_tree_item.html.haml (0.6ms)
  Rendered tree/_tree_item.html.haml (0.5ms)
  Rendered tree/_tree_item.html.haml (0.5ms)
  Rendered tree/_submodule_item.html.haml (1.7ms)
  Rendered tree/_submodule_item.html.haml (1.8ms)
  Rendered tree/_tree.html.haml (17.0ms)
  Rendered tree/show.html.haml within layouts/project_resource (19.7ms)
Completed 500 Internal Server Error in 36ms

ActionView::Template::Error (can't convert nil into String):
    31:           %td
    32:           %td
    33: 
    34:       = render_tree(tree.contents)
    35: 
    36:     - if tree.readme
    37:       = render "tree/readme", readme: tree.readme
  app/helpers/tree_helper.rb:18:in `+'
  app/helpers/tree_helper.rb:18:in `block in render_tree'
  app/helpers/tree_helper.rb:15:in `each'
  app/helpers/tree_helper.rb:15:in `render_tree'
  app/views/tree/_tree.html.haml:34:in `_app_views_tree__tree_html_haml__1735886882668765874_65870620'
  app/views/tree/show.html.haml:3:in `_app_views_tree_show_html_haml___2264633649725472648_61346760'
  app/controllers/tree_controller.rb:17:in `show'
 sudo -u gitlab -H bundle exec rake gitlab:check RAILS_ENV=production

yields

Checking Environment ...

gitlab user is in git group? ... yes
Has no "-e" in ~git/.profile ... yes
Git configured for gitlab user? ... yes
Has python2? ... yes
python2 is supported version? ... yes

Checking Environment ... Finished

Checking Gitolite ...

Using recommended version ... yes
Repo umask is 0007 in .gitolite.rc? ... yes
Allow all Git config keys in .gitolite.rc ... yes
Config directory exists? ... yes
Config directory owned by git:git ... yes
Config directory access is drwxr-x---? ... yes
Repo base directory exists? ... yes
Repo base directory is a symlink? ... no
Repo base owned by git:git? ... yes
Repo base access is drwsrws---? ... yes
Can clone gitolite-admin? ... Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
yes
Can commit to gitolite-admin? ... yes
post-receive hook exists? ... yes
post-receive hook up-to-date? ... yes
post-receive hooks in repos are links: ... 
<group / projects > ... all ok 

Git config in repos: ... 
<group / projects > ... all ok

Checking Gitolite ... Finished

Checking Resque ...

Running? ... yes

Checking Resque ... Finished

Checking GitLab ...

Database config exists? ... yes
Database is SQLite ... no
All migrations up? ... yes
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Init script exists? ... no
  Try fixing it:
  Install the init script
  For more information see:
  doc/install/installation.md in section "Install Init Script"
  Please fix the error above and rerun the checks.
Init script up-to-date? ... can't check because of previous errors
Projects have satellites? ... 
<group / projects > ... all yes

Checking GitLab ... Finished

I am not planing to use the upstartd script because it ruins my current webserver setup (which I need for a lot of different stuff as well).
As I said - all other projects work perfectly well to browse.

The project (in which I can't browse my files) is an iOS project with 4 submodules in the root folder structure. Please let me know if I can provide any more information.

Also, here gitlab:env:info:

System information
System:     Debian 6.0.6
Current User:   gitlab
Using RVM:  no
Ruby Version:   1.9.3p327
Gem Version:    1.8.23
Bundler Version:1.2.3
Rake Version:   10.0.3

GitLab information
Version:    4.0.1
Revision:   f254de7
Directory:  /home/gitlab/gitlab
DB Adapter: mysql2
URL:        https://gitlab.meyerzuwestram.net
HTTP Clone URL: https://gitlab.meyerzuwestram.net/some-project.git
SSH Clone URL:  git@meyerzuwestram.net:some-project.git
Using LDAP: no
Using Omniauth: yes
Omniauth Providers: google_oauth2

Gitolite information
Version:    v3.2-gitlab-patched-0-g2d29cf7
Admin URI:  git@localhost:gitolite-admin
Admin Key:  gitlab
Repositories:   /home/git/repositories/
Hooks:      /home/git/.gitolite/hooks/
Git:        /usr/bin/git


Contributor

riyad commented Jan 16, 2013

I suspect it has to do with the submodules ... can you confirm, that it works ok with paths that don't contain submodules?

tillmzw commented Jan 16, 2013

I do have another project (1 submodule) where browsing works. Is it possible that gitlab chokes if there's a submodule, where the referenced commit cannot be found? That's the case with one submodule inside the malfunctioning project.
/edit: Nope. Just fixed all submodules (I can now do a git clone --recursive repo.url.git without errors).

@mikkyhouse mikkyhouse closed this Feb 25, 2013

DouweM added a commit that referenced this issue Sep 29, 2015

Merge branch 'doc-omniauth-ldap-limitations' into 'master'
Documentation of omniauth-ldap limitations

Further documentation about limitations directly impacting settings of
users' LDAP servers.

Closes #2613

See merge request !1421
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment