Fixed
Status Update
Comments
bl...@google.com <bl...@google.com> #2
Automated by Blunderbuss job pigweed-blunderbuss-autoassigner for component 1194524.
am...@google.com <am...@google.com> #3
Initial investigation:
- legacy_binaries_test is a red herring; it's only compatible with macOS.
- The failing tests are flaky; if you run them many times they'll occasionally pass.
- The failures only seem to occur on the C++ client, which suggests this might be related to how the test fixture tears down the C++ client.
ap...@google.com <ap...@google.com> #4
Project: pigweed/pigweed
Branch: main
commit 9231b05b13226c94f36e43c9497a0c642d8bb66d
Author: Armando Montanez <amontanez@google.com>
Date: Wed Aug 02 00:05:33 2023
pw_transfer: Mark linux-only Bazel tests
Marks the legacy_binaries_test integration as linux-only as legacy
binaries are only provided for linux-x86_64.
Bug: b/294101325
Change-Id: If4aa6363b6cf26c3dfc2b22b78c33de01b9b83d9
Reviewed-on:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162094
Pigweed-Auto-Submit: Armando Montanez <amontanez@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Chinchilla <cachinchilla@google.com>
M pw_transfer/integration_test/BUILD.bazel
https://pigweed-review.git.corp.google.com/162094
Branch: main
commit 9231b05b13226c94f36e43c9497a0c642d8bb66d
Author: Armando Montanez <amontanez@google.com>
Date: Wed Aug 02 00:05:33 2023
pw_transfer: Mark linux-only Bazel tests
Marks the legacy_binaries_test integration as linux-only as legacy
binaries are only provided for linux-x86_64.
Bug:
Change-Id: If4aa6363b6cf26c3dfc2b22b78c33de01b9b83d9
Reviewed-on:
Pigweed-Auto-Submit: Armando Montanez <amontanez@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Chinchilla <cachinchilla@google.com>
M pw_transfer/integration_test/BUILD.bazel
am...@google.com <am...@google.com> #5
Yup, it's a teardown ordering issue:
PROXY ERR: 22:58:36.752-INFO: New client connection from ('::1', 51930, 0, 0)
SERVER ERR: INF Starting pw_rpc server
PROXY ERR: 22:58:36.763-INFO: New connection opened to server
PROXY ERR: 22:58:36.763-INFO: client DataDropper initialized with seed 1649963713563718435
PROXY ERR: 22:58:36.763-INFO: server DataDropper initialized with seed 1649963713563718436
SERVER ERR: INF Starting read transfer 1 for resource 5
SERVER ERR: DBG Local transfer timing configuration: chunk_timeout=5000ms, max_retries=4, interchunk_delay=2000us
SERVER ERR: DBG Local transfer windowing configuration: pending_bytes=32768, extend_window_divisor=32, max_chunk_size_bytes=216
SERVER ERR: DBG Preparing read for file /var/folders/l6/677rkrv13fg452nf3vcz_fmc00jw6r/T/tmpcyl3883m
SERVER ERR: DBG Negotiating protocol version: ours=2, theirs=2
SERVER ERR: INF Transfer 1: using protocol version 2
SERVER ERR: DBG Transfer 1 received parameters type=RETRANSMIT offset=0 window_end_offset=480
SERVER ERR: DBG Transfer 1 sending chunk offset=0 size=206
SERVER ERR: DBG Transfer 1 sending chunk offset=206 size=203
SERVER ERR: DBG Transfer 1 received parameters type=CONTINUE offset=409 window_end_offset=889
SERVER ERR: DBG Transfer 1 sending chunk offset=409 size=103
SERVER ERR: DBG Transfer 1 sending final chunk with remaining_bytes=0
CLIENT ERR: libc++abi: terminating due to uncaught exception of type std::__2::system_error: mutex lock failed: Invalid argument
CLIENT OUT: INF Client loaded config:
CLIENT OUT: transfer_actions {
CLIENT OUT: resource_id: 5
CLIENT OUT: file_path: "/var/folders/l6/677rkrv13fg452nf3vcz_fmc00jw6r/T/tmp9pqhmgh
CLIENT OUT: INF Connecting to pw_rpc client at localhost:3305
CLIENT OUT: INF Starting transfer for resource 5
CLIENT OUT: DBG Negotiating protocol version: ours=2, theirs=2
CLIENT OUT: INF Transfer 1: using protocol version 2
CLIENT OUT: INF Transfer rate: 9511 B/s
Key line:
CLIENT ERR: libc++abi: terminating due to uncaught exception of type std::__2::system_error: mutex lock failed: Invalid argument
The mutex is likely getting destroyed before another thread attempts to use it.
ap...@google.com <ap...@google.com> #6
Project: pigweed/pigweed
Branch: main
commit 9361d8abd4dab7022c46a609499a8fba4016635f
Author: Armando Montanez <amontanez@google.com>
Date: Tue Aug 08 23:41:14 2023
pw_transfer: Fix use-after-destroy in integration test client
If you give a mouse a cookie, it might choose to hold onto it longer
than you expected. Except in this case, the mouse is the
pw::transfer::Client and the cookie is a BinarySemaphore.
Bug: b/294101325
Change-Id: Ic209887ce6ed609819d42b5f06c32e5f3c030887
Reviewed-on:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163252
Reviewed-by: Keir Mierle <keir@google.com>
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Armando Montanez <amontanez@google.com>
M pw_transfer/integration_test/client.cc
https://pigweed-review.git.corp.google.com/163252
Branch: main
commit 9361d8abd4dab7022c46a609499a8fba4016635f
Author: Armando Montanez <amontanez@google.com>
Date: Tue Aug 08 23:41:14 2023
pw_transfer: Fix use-after-destroy in integration test client
If you give a mouse a cookie, it might choose to hold onto it longer
than you expected. Except in this case, the mouse is the
pw::transfer::Client and the cookie is a BinarySemaphore.
Bug:
Change-Id: Ic209887ce6ed609819d42b5f06c32e5f3c030887
Reviewed-on:
Reviewed-by: Keir Mierle <keir@google.com>
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Armando Montanez <amontanez@google.com>
M pw_transfer/integration_test/client.cc
Description
Several pw_transfer tests are failing on the macOS Bazel build:
Log snippet from a failure:
The two status codes are
PW_STATUS_UNKNOWN
andPW_STATUS_INTERNAL
.