tamird
Repos
32
Followers
191
Following
14

Events

issue comment
aws/install reports "No such file or directory" when `dirname "$@"` contains a space

Sure, it might be. This issue contains a proposed solution, though.

Created at 2 weeks ago
issue comment
Bump actions/setup-go from 3.3.0 to 3.3.1

@dependabot merge

Created at 1 month ago

[tls] Correctly handle unary constructor

The previous implementation did not implement the correct semantics for unary-initialized TLS; the default value would have been set in the calling thread only, rather than for all threads.

Store the default value separately from the per-thread TLS value, and use an extra boolean in the per-thread value to distinguish the two cases. Specialize the implementation for pointers to avoid using additional pthread TLS keys for pointer types.

Created at 2 months ago
issue comment
[tls] Handle initialization for pthread-style tls variables

Well, I adedd the pointer specialization 🤷‍♂️

Created at 2 months ago
Created at 2 months ago

[tls] Correctly handle unary constructor

The previous implementation did not implement the correct semantics for unary-initialized TLS; the default value would have been set in the calling thread only, rather than for all threads.

Store the default value separately from the per-thread TLS value, and use an extra boolean in the per-thread value to distinguish the two cases. Specialize the implementation for pointers to avoid using additional pthread TLS keys for pointer types.

Created at 2 months ago

[tls] Use std::enable_if

This is more elegant than static assertions.

[tls] Correctly handle unary constructor

The previous implementation did not implement the correct semantics for unary-initialized TLS; the default value would have been set in the calling thread only, rather than for all threads.

Store the default value separately from the per-thread TLS value, and use an extra boolean in the per-thread value to distinguish the two cases.

Created at 2 months ago

[tls] Correctly handle unary constructor

The previous implementation did not implement the correct semantics for unary-initialized TLS; the default value would have been set in the calling thread only, rather than for all threads.

Store the default value separately from the per-thread TLS value, and use an extra boolean in the per-thread value to distinguish the two cases.

Created at 2 months ago

[tls] Correctly handle unary constructor

The previous implementation did not implement the correct semantics for unary-initialized TLS; the default value would have been set in the calling thread only, rather than for all threads.

Store the default value separately from the per-thread TLS value, and use an extra boolean in the per-thread value to distinguish the two cases.

Created at 2 months ago
pull request opened
Tls unary default

@ctiller an alternative to #31030.

Created at 2 months ago
create branch
tamird create branch tls-unary-default
Created at 2 months ago

Revert "Fault injection filter -> promises (#29288)" (#29395)

This reverts commit f3897a5f7ab666f015af2ce05b56eed10243f804.

Fixing the build breakage from #29285 (#29399)

HTTP: Conditionally allow PUT requests (#29397)

  • Maybe fix for PUT deprecation

  • Guard PUT request accepting with a flag and add tests

  • Reviewer comments

  • Add fallthrough notation

  • Reviewer comments

Co-authored-by: Craig Tiller ctiller@google.com

iOS binary size script cleanup (#29377)

  • iOS binary size script cleanup

  • add job cfg for running iOS binary size on master

Simplify ARM64 bazel invocation (and produce resultstore bazel results). (#29355)

  • resultstore results from arm64 bazel run

  • simplify bazel invocation in linux arm64 C/C++

  • address comments

Don't allocate slice buffers when using the zero copy protector, as they are entirely unused. (#29392)

xds_end2end_test: Move fault injection tests into their own file (#29283)

  • move some code around

  • remove num_backends parameter from XdsEnd2endTest

  • remove use_xds_enabled_server param from XdsEnd2endTest

  • remove xds_resource_does_not_exist_timeout_ms param from XdsEnd2endTest

  • remove client_load_reporting_interval_seconds param from XdsEnd2endTest

  • start moving CreateAndStartBackends() into individual tests

  • finish moving CreateAndStartBackends() into individual tests

  • remove unused variable

  • remove SetEdsResourceWithDelay

  • fix test flake

  • clang-tidy

  • clang-format

  • move test framework to its own library

  • fix build

  • clang-format

  • fix windows build

  • move fault injection tests to their own file

  • rename TestType to XdsTestType

  • move BackendServiceImpl inside of BackendServerThread

  • clang-format

  • generate_projects

  • appease clang-tidy

  • move AdminServerThread to CSDS test suite

  • remove unnecessary deps

  • generate_projects

  • don't mark test as flaky

Fixes a flake with the LoadReporter end2end test. (#29383)

  • Fixes a flake with the LoadReporter end2end test.

I believe the test is wrong, based on the .proto description of the LoadReporter.

The protocol described in src/proto/grpc/lb/v1/load_reporter.proto has the ReportLoad rpc returns a stream of LoadReportResponse, which itself has a repeated field of Load messages. The comment before it states:

"It is not strictly necessary to aggregate all entries into one entry per <tag, user_id> tuple, although it is preferred to do so."

Debugging the issue shows we are in fact properly getting all 3 expected load report types, just in two separate messages instead of a single one.

This new test codepath will coalesce the load report responses, and also addresses the fact the original test wasn't verifying that we were getting the 3 expected types.

  • Automated change: Fix sanity tests

  • Renaming variables.

  • ASSERT_ -> EXPECT_

  • Automated change: Fix sanity tests

Duration: add method for generating JSON form of google.protobuf.Duration (#29401)

xds_end2end_test: Move RLS tests to their own file (#29290)

  • move some code around

  • remove num_backends parameter from XdsEnd2endTest

  • remove use_xds_enabled_server param from XdsEnd2endTest

  • remove xds_resource_does_not_exist_timeout_ms param from XdsEnd2endTest

  • remove client_load_reporting_interval_seconds param from XdsEnd2endTest

  • start moving CreateAndStartBackends() into individual tests

  • finish moving CreateAndStartBackends() into individual tests

  • remove unused variable

  • remove SetEdsResourceWithDelay

  • fix test flake

  • clang-tidy

  • clang-format

  • move test framework to its own library

  • fix build

  • clang-format

  • fix windows build

  • rename TestType to XdsTestType

  • move BackendServiceImpl inside of BackendServerThread

  • clang-format

  • move AdminServerThread to CSDS test suite

  • move RLS tests to their own file

  • remove unnecessary deps

  • generate_projects

RouteGuide example: Abort if database file not found (#29398)

Add Session Token to AWS IMDSv2 Metadata requests (#29296)

  • Add AWS Session Token to AWS IMDS Metadata Requests

  • Formatted code

  • rename header method, remove unused code

  • formatted code

  • minor fixes

  • fix duplicate param in test function header

  • fixing build failures

Clarify that only Bazel LTS releases count in support policy (#29406)

priority and ring_hash LBs: fix interactions when using ring_hash under priority (#29332)

  • refactor connection delay injection from client_lb_end2end_test

  • fix build

  • fix build on older compilers

  • clang-format

  • buildifier

  • a bit of code cleanup

  • start failover time whenever the child reports CONNECTING, and don't cancel when deactivating

  • clang-format

  • rewrite test

  • simplify logic in priority policy

  • clang-format

  • switch to using a bit to indicate child healthiness

  • fix reversed comment

  • more changes in priority and ring_hash.

priority:

  • go back to starting failover timer upon CONNECTING, but only if seen READY or IDLE more recently than TRANSIENT_FAILURE

ring_hash:

  • don't flap back and forth between IDLE and CONNECTING; once we go CONNECTING, we stay there until either TF or READY
  • after the first subchannel goes TF, we proactively start another subchannel connecting, just like we do after a second subchannel reports TF, to ensure that we don't stay in CONNECTING indefinitely if we aren't getting any new picks
  • always return ring hash's picker, regardless of connectivity state
  • update the subchannel connectivity state seen by the picker upon subchannel list creation
  • start proactive subchannel connection attempt upon subchannel list creation if needed
  • ring_hash: fix connectivity state seen by aggregation and picker

  • fix obiwan error

  • swap the order of ring_hash aggregation rules 3 and 4

  • restore original test

  • refactor connection injector QueuedAttempt code

  • add test showing that ring_hash will continue connecting without picks

  • clang-format

  • don't actually need seen_failure_since_ready_ anymore

  • fix TSAN problem

  • address code review comments

orca_service_end2end_test: increase flake timing tolerance (#29405)

xds_end2end_test: move core XdsClient tests to their own file (#29403)

  • xds_end2end_test: move core XdsClient tests to their own file

  • clang-format

  • also move SecureNaming and XdsStreamErrorPropagation tests

Bump dev version to v1.47.0-dev (#29414)

  • bump version to 1.47.0-dev

  • regenerate projects

Improve the MaxFault test case (#29407)

Support unix socket in grpc_sockaddr_to_string (#29169)

  • Support unix socket in grpc_sockaddr_to_string

  • make it return statusor

  • clang fix

  • made grpc_sockaddr_to_string() to return statusor

  • Let Chttp2ServerListener::Start crash

  • test failure fixed

  • api_fuzzer fixed

  • comments addressed.

  • more comments addressed

  • comments addressed

  • fix other broken builds

PSM Security: Increase test timeout to 240 for C++ and Python (#29420)

Created at 2 months ago
issue comment
[tls] Handle initialization for pthread-style tls variables

Are you sure we need an extra key? Instead of storing T in the TLS keys, couldn't we store struct { T t; set bool; }? That gives us roughly std::optional semantics and likely won't eat another key (and would require much less code to change here).

Created at 2 months ago
go-tuf logs to stdout/stderr when used as a library

Internal operations log directly to stdout/stderr starting with #160.

It would be preferable not to interact with stdout/stderr except from within cmd/.

Created at 2 months ago
Improve the CLI experience

This PR and various subsequent changes have made it considerably more noisy to use go-tuf as a library. Would it be possible to thread an io.Writer through rather than calling fmt.Print{f,ln} directly?

Created at 2 months ago
delete branch
tamird delete branch no-name-nodeinfo
Created at 2 months ago
create branch
tamird create branch no-name-nodeinfo
Created at 2 months ago
pull request opened
[fuchsia] Avoid naming fuchsia::io::NodeInfo

The argument is unused and the type is being renamed in https://fxrev.dev/719447.

@akbiggs

Created at 2 months ago
issue comment
dart analyze --packages should allow a relative path

Fixed by c626cb8. cc @akbiggs this should probably be closed.

Created at 2 months ago
closed issue
cmd/compile: missing BCE when index is modulo len

What version of Go are you using (go version)?

Does this issue reproduce with the latest release?

Yes.

What operating system and processor architecture are you using (go env)?

What did you do?

package main

type foo struct {
	number int
}

var foos []foo

func init() {
	foos = make([]foo, 3)
}

func getFoo(n int) *foo {
	foos[len(foos)-1] = foo{} // IsInBounds
	if len(foos) != 0 {
		foos[len(foos)-1] = foo{} // No IsInBounds
		return &foos[n%len(foos)] // IsInBounds
	}
	return nil
}

func main() {

}

compiler output visible on godbolt

What did you expect to see?

No bounds checks.

What did you see instead?

Bounds check.

Created at 2 months ago
issue comment
cmd/compile: missing BCE when index is modulo len

Good point; casting to uint removes the bounds check.

Created at 2 months ago
issue comment
cmd/compile: missing BCE in range expression

Makes sense, thanks for explaining that.

Created at 2 months ago
opened issue
cmd/compile: missing BCE when index is modulo len

What version of Go are you using (go version)?

Does this issue reproduce with the latest release?

Yes.

What operating system and processor architecture are you using (go env)?

What did you do?

package main

type foo struct {
	number int
}

var foos []foo

func init() {
	foos = make([]foo, 3)
}

func getFoo(n int) *foo {
	foos[len(foos)-1] = foo{} // IsInBounds
	if len(foos) != 0 {
		foos[len(foos)-1] = foo{} // No IsInBounds
		return &foos[n%len(foos)] // IsInBounds
	}
	return nil
}

func main() {

}

compiler output visible on godbolt

What did you expect to see?

No bounds checks.

What did you see instead?

Bounds check.

Created at 2 months ago
opened issue
cmd/compile: missing BCE in range expression

What version of Go are you using (go version)?

Does this issue reproduce with the latest release?

Yes.

What operating system and processor architecture are you using (go env)?

What did you do?

package main

type foo struct {
    number int
}

var foos []foo

func main() {
    foos = make([]foo, 5)
    for i := range foos {
        _ = &foos[i] // No IsInBounds
    }
    for i := range foos {
        f := &foos[i] // IsInBounds
        f.number = i
    }
    for i := 0; i < len(foos); i++ {
        f := &foos[i] // No IsInBounds
        f.number = i
    }
    foos2 := make([]foo, 5)
    for i := range foos2 {
        f := &foos2[i] // No IsInBounds
        f.number = i
    }
}

compiler output visible on godbolt

What did you expect to see?

No bounds checks.

What did you see instead?

Bounds check when ranging over a variable declared and initialized separately.

Created at 2 months ago