Bug 254014

Summary: devel/rubygem-google-protobuf 3.15.0 and 3.15.4 causes gitlab-ce to crash
Product: Ports & Packages Reporter: Matthias Fechner <mfechner>
Component: Individual Port(s)Assignee: Po-Chuan Hsieh <sunpoet>
Status: Closed FIXED    
Severity: Affects Many People CC: mfechner
Priority: --- Flags: bugzilla: maintainer-feedback? (sunpoet)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 254010    

Description Matthias Fechner freebsd_committer freebsd_triage 2021-03-04 17:09:59 UTC
Using the new version 3.15.0 causes gitlab to fail.
-- C level backtrace information -------------------------------------------
/usr/local/lib/libruby27.so.27(rb_profile_frame_full_label+0x1665) [0x80059c535]
/usr/local/lib/libruby27.so.27(0x8003fa3fb) [0x8003fa3fb]
/usr/local/lib/libruby27.so.27(0x8005094d2) [0x8005094d2]
/lib/libthr.so.3(_pthread_sigmask+0x53e) [0x800649b7e]
/lib/libthr.so.3(0x80064913f) [0x80064913f]
[0x7ffffffff193]
/usr/local/lib/ruby/gems/2.7/gems/google-protobuf-3.15.0/lib/google/protobuf_c.so(Defs_register+0xc99) [0x811958699]
/usr/local/lib/ruby/gems/2.7/gems/google-protobuf-3.15.0/lib/google/protobuf_c.so(0x81195c675) [0x81195c675]
/usr/local/lib/libruby27.so.27(0x80058ded6) [0x80058ded6]
/usr/local/lib/libruby27.so.27(0x8005760da) [0x8005760da]
/usr/local/lib/libruby27.so.27(rb_vm_exec+0xc00) [0x80058a330]
/usr/local/lib/libruby27.so.27(0x800584eed) [0x800584eed]
/usr/local/lib/libruby27.so.27(0x8005847fb) [0x8005847fb]
/usr/local/lib/libruby27.so.27(0x8005804b8) [0x8005804b8]
/usr/local/lib/libruby27.so.27(0x8005972f2) [0x8005972f2]
/usr/local/lib/libruby27.so.27(rb_funcall_with_block+0x41) [0x800582951]
/usr/local/lib/ruby/gems/2.7/gems/google-protobuf-3.15.0/lib/google/protobuf_c.so(0x811958415) [0x811958415]

Please see link bug for more details.
Comment 1 Matthias Fechner freebsd_committer freebsd_triage 2021-03-04 17:11:41 UTC
An upgrade to 3.15.4 does not help, same problem.
So it seems to be a new bug that is not fixed by newer releases:
https://github.com/protocolbuffers/protobuf/releases
Comment 2 commit-hook freebsd_committer freebsd_triage 2021-03-06 10:08:51 UTC
A commit references this bug:

Author: mfechner
Date: Sat Mar  6 10:08:32 UTC 2021
New revision: 567475
URL: https://svnweb.freebsd.org/changeset/ports/567475

Log:
  Security update to gitlab-ce 13.9.2.
  Changelog:
  https://about.gitlab.com/releases/2021/03/04/security-release-gitlab-13-9-2-released/

  This commit also enforces an older version of devel/rubygem-google-protobuf of version 3.14.0.
  This also linked PR.
  This ensures that users to not upgrade by accident to a version that is core dumping.
  So it is wanted that this port is currently not buildable to protect users from an update.

  If you want to this upgrade, wait till devel/rubygem-google-protobuf is fixed or downgrade it to 3.14.0.

  PR:		254014 254010
  Security:	8bf856ea-7df7-11eb-9aad-001b217b3468

Changes:
  head/devel/gitaly/Makefile
  head/devel/gitaly/distinfo
  head/www/gitlab-ce/Makefile
  head/www/gitlab-ce/distinfo
  head/www/gitlab-ce/files/patch-Gemfile
  head/www/gitlab-ce/pkg-plist
  head/www/gitlab-workhorse/Makefile
  head/www/gitlab-workhorse/distinfo
Comment 3 Po-Chuan Hsieh freebsd_committer freebsd_triage 2021-03-07 23:23:30 UTC
I've added rubygem-google-protobuf314 and changed gitlab family to it.
This should fix the runtime issue.

But please report it upstream. It should be reflected in its Gemfile.
Comment 4 Matthias Fechner freebsd_committer freebsd_triage 2021-03-08 12:00:46 UTC
Thanks.
I added some more commits to finially fix the problem.