Hello Tiit, or anyone else affected,

Accepted golang-google-grpc into disco-proposed. The package will build
now and be available at https://launchpad.net/ubuntu/+source/golang-
google-grpc/1.6.0-3ubuntu0.19.04.1 in a few hours, and then in the
-proposed repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.  Your feedback will aid us getting this
update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-disco to verification-done-disco. If it does not fix
the bug for you, please add a comment stating that, and change the tag
to verification-failed-disco. In either case, without details of your
testing we will not be able to proceed.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance for helping!

N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.

** Description changed:

  [Impact]
  
  The version of golang-google-grpc packaged in bionic and cosmic
  (1.6.0-3) crashes intermittently due to a race condition. Upstream bug
  report and pull requests:
  
  https://github.com/grpc/grpc-go/issues/1111
  https://github.com/grpc/grpc-go/pull/1546
  https://github.com/grpc/grpc-go/pull/1687
  
  This can cause all packages Built-Using: golang-google-grpc=1.6.0-3 to
  crash as well (see
  https://bugs.launchpad.net/ubuntu/+source/etcd/+bug/1800973).
  
  The attached debdiff contains two upstream fixes squashed together:
  
  
https://github.com/grpc/grpc-go/commit/22c3f92f5faea8db492fb0f5ae4daf0d2752b19e
  
https://github.com/grpc/grpc-go/commit/c6b46087ab923e9f453ec433f99174cdd45b9b89
  
  These fix the race by synchronizing the entire function.
  
  [Test Case]
+ The patch includes patches to test cases to exercise the race condition.  One 
test case would fail sometimes without the fix; the second test case would 
always fail without the fix.
  
- 1. Download the source: apt source golang-google-grpc && cd 
golang-google-grpc-1.6.0
- 2. Patch in the attached test cases: patch -p1 < test-cases-only.patch
-    - Theses are part of the upstream patch. Only apply manually to verify 
problem pre-patch.
- 3. Build the package, running the test cases: dpkg-buildpackage --target 
clean,build
-    - Since this is a race condition, the first test case is not guaranteed to 
fail.
-    - The second test case should always fail.
- 
- With the fixes applied there is no need for step 2 (the test cases are
- part of the patch) and step 3 succeeds every time without failure.
+ If the package builds successfully with the patch, then the test cases
+ have passed.
  
  [Regression Potential]
  
  Regressions are unlikely due to the size and scope of the patch. The fix
  has been applied upstream since 30 Nov 2017 and is still in use in the
  latest release:
  
  https://github.com/grpc/grpc-
  go/blob/v1.19.0/internal/transport/handler_server.go#L193
  
  A possible source of regressions would be the squashing of the two
  commits into one. Luckily they were also applied upstream immediately
  one after the other so it should work without problems.
  
  Another source would be if these patches depended on some other changes
  made since 1.6.0-3. However testing has not revealed this to be the
  case.
  
  Issues might also arise from my inexperience in updating Ubuntu packages
  and submitting patches for Stable Release Updates.
  
  [Other Info]
  
  As golang-google-grpc is a Go library it is linked into other packages
  statically. This means that simply updating this package is not enough
  and dependents need to be rebuilt to benefit from these fixes.
  
  If this patch is accepted then I plan to open another SRU request to set
  the fixed version as a minimal build dependency for etcd to have it also
  rebuilt and resolve
  https://bugs.launchpad.net/ubuntu/+source/etcd/+bug/1800973.
  
  Release: Ubuntu 18.04.2 LTS
  Package: golang-google-grpc 1.6.0-3

** Changed in: golang-google-grpc (Ubuntu Disco)
       Status: In Progress => Fix Committed

** Tags added: verification-needed verification-needed-disco

** Changed in: golang-google-grpc (Ubuntu Cosmic)
       Status: In Progress => Fix Committed

** Tags added: verification-needed-cosmic

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1819936

Title:
  intermittent panic in 1.6.0-3 due to race in WriteStatus

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/golang-google-grpc/+bug/1819936/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to