Skip to content

Possible non-return of proxy lookup functions on Windows #17

@JohnRusk

Description

@JohnRusk

Hi Mattn, we recently worked around an issue that we found. Sometimes, about 1 time in a million, looking up a proxy would lock up and never return, on Windows 10.

We put a workaround into AzCopy here: https://github.com/Azure/azure-storage-azcopy/blob/863222d2e2a2bc038f5c35c4faf825ee145c210e/common/ProxyLookupCache.go#L89 . In that code c.lookupMethod == ieproxy.GetProxyFunc(). The workaround calls go-ieproxy in a separate goroutine, so that it can impose a strict timeout with a select statement.

Currently, that workaround is combined with some caching code. It doesn't seem like the caching code would make sense in go-ieproxy. But maybe the workaround would be of interest to you, on its own. (Although, if used without caching, it would have a little more overhead because it uses the separate goroutine for every call).

I'm not sure of the best way to proceed - e.g. does it make sense to put any of this code into go-ieproxy? So at this stage I'm logging this issue rather than creating a PR.

What do you think?

cc @adreed-msft , @zezha-msft

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions