Illegal instruction in json.rb after upgrade to 15.2.0-ce
Summary
After upgrading to version 15.2.0-ce, GitLab is inaccessible, reporting that "GitLab is taking too much time to respond" (502). According to the logs, this is caused by an illegal instruction in /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/json.rb:97
.
Steps to reproduce
Upgrade an Omnibus installation on Debian 11 to version 15.2.0-ce and try to access the login page.
What is the current bug behavior?
HTTP error 502: "Whoops, GitLab is taking too much time to respond."
What is the expected correct behavior?
Login page loads normally.
Relevant logs and/or screenshots
==> /var/log/gitlab/sidekiq/current <==
{"severity":"INFO","time":"2022-07-23T20:02:44.643Z","message":"GitLab reliable fetch activated!"}
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/json.rb:97: [BUG] Illegal instruction at 0x00007fd6f4ed45e9
ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
Results of GitLab environment info
Expand for output related to GitLab environment info
System information System: Debian 11 Current User: git Using RVM: no Ruby Version: 2.7.5p203 Gem Version: 3.1.4 Bundler Version:2.3.15 Rake Version: 13.0.6 Redis Version: 6.2.7 Sidekiq Version:6.4.0 Go Version: unknown GitLab information Version: 15.2.0 Revision: a876afc5fd8 Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: PostgreSQL DB Version: 13.6 URL: https://HOST_REDACTED HTTP Clone URL: https://HOST_REDACTED/some-group/some-project.git SSH Clone URL: git@HOST_REDACTED:some-group/some-project.git Using LDAP: no Using Omniauth: yes Omniauth Providers: GitLab Shell Version: 14.9.0 Repository storage paths: - default: /var/opt/gitlab/git-data/repositories GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell
lscpu outout
Expand for lscpu output
Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 36 bits physical, 48 bits virtual CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 23 Model name: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz Stepping: 10 CPU MHz: 3007.719 CPU max MHz: 3003.0000 CPU min MHz: 2003.0000 BogoMIPS: 6015.43 Virtualization: VT-x L1d cache: 64 KiB L1i cache: 64 KiB L2 cache: 6 MiB NUMA node0 CPU(s): 0,1 Vulnerability Itlb multihit: KVM: Mitigation: VMX disabled Vulnerability L1tf: Mitigation; PTE Inversion; VMX EPT disabled Vulnerability Mds: Vulnerable: Clear CPU buffers attempted, no microcode; SMT disabled Vulnerability Meltdown: Mitigation; PTI Vulnerability Mmio stale data: Not affected Vulnerability Spec store bypass: Vulnerable Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; Retpolines, STIBP disabled, RSB filling Vulnerability Srbds: Not affected Vulnerability Tsx async abort: Not affected Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nop l cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti tpr_shadow vnmi flexpriority vpid dtherm
Workaround
Edited by Stan Hu