Fresh Gitlab-CE 12.10.7 installation; asset compile step fails after filling up RAM on FreeBSD 12.1

Hi there,

I have been trying to install Gitlab from pkg as well as from ports for the past week or so, on different combinations of FreeBSD(11.1, 12.0, 12.1) and Gitlab-CE (12.10.6, 12.10.7). However all roads lead to the inevitable asset-compilation step, which is where my issue arrises.

command;

# su -l git -c “cd /usr/local/www/gitlab-ce && rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production NODE_OPTIONS=’–max_old_space_size=4096’”

expected;
Assets to be compiled successfully

actual result;
The asset compile process takes over an hour steadily increasing memory (24gig) usage until it is killed for filling up the swap (5gig)


environment info;

# su -l git -c “cd /usr/local/www/gitlab-ce && rake gitlab:env:info RAILS_ENV=production”

System information
System:
Current User: git
Using RVM: no
Ruby Version: 2.6.6p146
Gem Version: 3.0.6
Bundler Version:2.0.2
Rake Version: 12.3.3
Redis Version: 5.0.9
Git Version: 2.26.2
Sidekiq Version:5.2.8
Go Version: go1.14.3 freebsd/amd64

GitLab information
Version: 12.10.7
Revision: Unknown
Directory: /usr/local/www/gitlab-ce
DB Adapter: PostgreSQL
DB Version: 11.8
URL: https://gitlab..
HTTP Clone URL: https://gitlab../some-group/some-project.git
SSH Clone URL: git@gitlab..:some-group/some-project.git
Using LDAP: yes
Using Omniauth: no

GitLab Shell
Version: 12.2.0
Repository storage paths:

  • default: /usr/home/git/repositories
    GitLab Shell path: /usr/local/share/gitlab-shell
    Git: /usr/local/bin/git

application info;

# su -l git -c “cd /usr/local/www/gitlab-ce && rake gitlab:check RAILS_ENV=production”

Checking GitLab subtasks …
Checking GitLab Shell …
GitLab Shell: … GitLab Shell version >= 12.2.0 ? … OK (12.2.0)
Running /usr/local/share/gitlab-shell/bin/check
Internal API available: OK
Redis available via internal API: OK
gitlab-shell self-check successful
Checking GitLab Shell … Finished
Checking Gitaly …
Gitaly: … default … OK
Checking Gitaly … Finished
Checking Sidekiq …
Sidekiq: … Running? … yes
Number of Sidekiq processes … 1
Checking Sidekiq … Finished
Checking Incoming Email …
Incoming Email: … Reply by email is disabled in config/gitlab.yml
Checking Incoming Email … Finished
Checking LDAP …
LDAP: … Server: ldapmain
LDAP authentication… Success
LDAP users with access to your GitLab server (only showing the first 100 results)

Checking LDAP … Finished
Checking GitLab App …
Git configured correctly? … yes
Database config exists? … yes
All migrations up? … yes
Database contains orphaned GroupMembers? … no
GitLab config exists? … yes
GitLab config up to date? … yes
Log directory writable? … yes
Tmp directory writable? … yes
Uploads directory exists? … yes
Uploads directory has correct permissions? … yes
Uploads directory tmp has correct permissions? … skipped (no tmp uploads folder yet)
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 namespace: … can’t check, you have no projects
Redis version >= 4.0.0? … yes
Ruby version >= 2.5.3 ? … yes (2.6.6)
Git version >= 2.22.0 ? … yes (2.26.2)
Git user has default SSH configuration? … yes
Active users: … 2
Is authorized keys file accessible? … yes
Checking GitLab App … Finished
Checking GitLab subtasks … Finished

1 Like

I had the same problem, but today assets:precompile (!) finished successfully without filling up RAM and lot of hours. The source of problem – rubygem-sassc-2.4.0: after deletion of this packet there’s no more problem, because dynamic library from packet rubygem-sassc22-2.2.1 (dependence of textproc/rubygem-sassc-rails-rails60) precompiles all assets. Webpack successfully finished too at last.
FreeBSD 12.1, GitLab 13.0.6.

Hi @zerg,
Thanks for your reply, I am still facing the same issue as I do not have that Gem installed;

pkg info | grep “rubygem-sassc”
rubygem-sassc-rails-rails60-2.1.2_2 Integrate SassC-Ruby into Rails
rubygem-sassc22-2.2.1 Use libsass with Ruby

I did upgrade to GitLab 13.0.5 but the results are exactly the same, all commands run and finish without issue accept the asset:compile, that still hangs indefinitely until the process is killed either manually or by the OS.

Today my working Gitlab is 13.0.6:
pkg info | grep sassc
rubygem-sassc-rails-rails60-2.1.2_2 Integrate SassC-Ruby into Rails
rubygem-sassc22-2.2.1 Use libsass with Ruby
Command “rake gitlab:assets:compile” is finished fastly and successfully without any issue. Gitlab && rubygems are from ports, FreeBSD 12.1-RELEASE-p3.
find /usr/local/lib/ruby/gems/2.6/ -name libsass.so
/usr/local/lib/ruby/gems/2.6/extensions/amd64-freebsd-12/2.6/sassc-2.2.1/sassc/libsass.so
/usr/local/lib/ruby/gems/2.6/gems/sassc-2.2.1/ext/libsass.so
/usr/local/lib/ruby/gems/2.6/gems/sassc-2.2.1/lib/sassc/libsass.so
No more any different libsass.so anywhere else, but when I looked at problem with gdb, I saw active libsass.so from rubygem-sassc-2.4.0. Maybe will be found anything with
find /usr/local/www/gitlab-ce/ -name libsass.so
?

@zerg

find /usr/local/lib/ruby/gems/2.6/ -name libsass.so

/usr/local/lib/ruby/gems/2.6/extensions/amd64-freebsd-11/2.6/sassc-2.3.0/sassc/libsass.so
/usr/local/lib/ruby/gems/2.6/gems/sassc-2.2.1/ext/libsass.so
/usr/local/lib/ruby/gems/2.6/gems/sassc-2.2.1/lib/sassc/libsass.so
/usr/local/lib/ruby/gems/2.6/gems/sassc-2.4.0/ext/libsass.so
/usr/local/lib/ruby/gems/2.6/gems/sassc-2.4.0/lib/sassc/libsass.so
/usr/local/lib/ruby/gems/2.6/gems/sassc-2.3.0/ext/libsass.so
/usr/local/lib/ruby/gems/2.6/gems/sassc-2.3.0/lib/sassc/libsass.so

find /usr/local/www/gitlab-ce/ -name libsass.so

did not return any results

# pkg remove rubygem-sassc-2.4.0
# pkg remove <any other sassc version you have around but 2.2.1>
# pkg install -f rubygem-sassc22-2.2.1