WhereIsAI/github-issue-similarity huggingface dataset:
Issue 1:
by awreece:

If a thread is blocked on udpConn.ReadFrom, udpConn.Close() does not wake it up.
Consider the following:

func TestCloseUdp(t *testing.T) {
iroutines := runtime.Goroutines()

conn, _ := net.ListenPacket("udp", ":6666")

go func() {
var buf [100]byte
conn.ReadFrom(buf[:])
}()

conn.Close()
// 16 minutes seems like long enough time for every other thread to block or die.
time.Sleep(1e12)

if nroutines := runtime.Goroutines(); iroutines != nroutines {
msg := fmt.Sprint("Leaked threads: was ", nroutines, " but expected ", iroutines)
panic(msg)
}
}

Which produces the unexpected output:

panic: Leaked threads: was 4 but expected 2

goroutine 41 [running]:
main.TestCloseUdp()
~/net_test.go:199 +0x291
testing.tRunner(0x187175d0, 0x82797cc, 0x0)
$GOROOT/src/pkg/testing/testing.go:156 +0x39
created by testing.RunTests
$GOROOT/src/pkg/testing/testing.go:200 +0x511

goroutine 1 [chan receive]:
testing.RunTests(0x8048c00, 0x82796e8, 0x26)
$GOROOT/src/pkg/testing/testing.go:201 +0x53f
testing.Main(0x8048c00, 0x82796e8, 0x26, 0x26, 0x8282f30, ...)
$GOROOT/src/pkg/testing/testing.go:168 +0x49
main.main()
~/_test/_testmain.go:32 +0x43

goroutine 43 [chan receive]:
net.(*pollServer).WaitRead(0x1874ef30, 0x1870e680, 0x64)
$GOROOT/src/pkg/net/fd.go:257 +0x5c
net.(*netFD).ReadFrom(0x1870e680, 0x187e4070, 0x64, 0x64, 0xffffffff, ...)
$GOROOT/src/pkg/net/fd.go:417 +0x299
net.(*UDPConn).ReadFromUDP(0x187780e0, 0x187e4070, 0x64, 0x64, 0x0, ...)
$GOROOT/src/pkg/net/udpsock_posix.go:156 +0xb9
net.(*UDPConn).ReadFrom(0x187780e0, 0x187e4070, 0x64, 0x64, 0x0, ...)
$GOROOT/src/pkg/net/udpsock_posix.go:171 +0x84
main._func_015(0x187780a0, 0x187789e8)
~/net_test.go:191 +0xbd
created by main.TestCloseUdp
~/net_test.go:192 +0x91

goroutine 42 [syscall]:
syscall.Syscall6()
$GOROOT/src/pkg/syscall/asm_linux_386.s:46 +0x27
syscall.EpollWait(0x6, 0x18792148, 0xa, 0xa, 0xffffffff, ...)
$GOROOT/src/pkg/syscall/zsyscall_linux_386.go:200 +0x9d
net.(*pollster).WaitFD(0x18792140, 0x1874ef30, 0x0, 0x0, 0x0, ...)
$GOROOT/src/pkg/net/fd_linux.go:141 +0x1b6
net.(*pollServer).Run(0x1874ef30, 0x18700dc0)
$GOROOT/src/pkg/net/fd.go:228 +0x146
created by net.newPollServer
$GOROOT/src/pkg/net/newpollserver.go:36 +0x464
gb error: [_test/_testmain]: exit status 2

Which compiler are you using (5g, 6g, 8g, gccgo)?
8g

Which operating system are you using?
Linux

Which revision are you using? (hg identify)
253f02222ab0 tip

Issue 2:
by raul.san@sent.com:

It is supposed that every function in package os is platform-independentand and work in
every system, but os.Symlink has not been implemented in Windows.

Symbolic Links
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365680.aspx

Related to: https://groups.google.com/forum/#!topic/golang-nuts/fSjM8aga_6Y
Issue 1:
I spent a little too much time trying to get the new block syntax in Go 1.6 implemented in Hugo, with no success.

Which is telling me that you should try to supply a "more real" example in the documentation.

Hugo uses the built-in associative transitive map to store its templates, so adding a new template is something like:

hugoTemplates.New("homePage").Parse(someTemplate)

As I understand the new block implementation, one needs to first parse it with the master file (with the block keywords), then do a "overlay" (a modification, a re-parsing) of the same template with the template with the definitions.

How to do that with the above I cannot figure out (other than the simple standalone clone example in the doc -- I could clone it, but how do I replace the template in the map?).

My naive approach would be:

m, _ := hugoTemplates.New("home").Parse(master)
m.Parse(overlay)

And this works ... for the first template. Adding a second breaks in confusing ways.

Ref. gohugoio/hugo#1832

Also see #3812

Issue 2:
x509.Certificate.CheckSignature does not support MD5 signatures. Is this intentional? If so, a comment should be added in the source and/or docs. If not, then please add support for MD5 signatures.

Code pointer: https://github.com/golang/go/blob/master/src/crypto/x509/x509.go#L621
Issue 1:
I am using a Three.js file that has not Revision version. It says on top:

@author mrdoob / http://mrdoob.com/

@author Larry Battle / http://bateru.com/news

@author bhouston / http://exocortex.com

// based on https://github.com/documentcloud/underscore/blob/bf657be243a075b5e72acc8a83e6f12a564d8f55/underscore.js#L767

As I understand there are many authors of this file and they are mentioned inside the file in many places *

@ Browser: Chrome Version 34.0.1847.137 m

I load some obj. and .mtl files and I create and add some object in the scene. I put them in an array, so I can detect when they 're clicked succesfully. ( (intersectObjects(objs,true) )

Although, when I create simple circle meshes and put them in an array so I can detect them, detection does not fully work. Very difficultly intersectObjects() detects my clicks on the circles (needs 4-5 clicks on average).

The strange thing is that when I press F12 and I open the Developer Tools (and then I close it or not,does not matter), everything works perfectly and the circles are easily detected. Very strange. I think something is wrong with intersectObjects(). It seems to me that it does not handle well the meshes.

Piece of code (because project is big and complicated):

https://dl.dropboxusercontent.com/u/100222836/code.js

Note: I think couple of days ago console put out an "error" message relate to the .getDescendants function of the Three.js file in the IntersectObjects function.

Issue 2:
Description of the problem

Loading textures with a texture loader and loadManager, if the loading image is power of two, memory will be released, if NOT power of two, memory NOT released.

Here's the code:

var mesh0;
function testme(){
var manager = new THREE.LoadingManager(function(){
mesh0 = new THREE.Mesh( new THREE.PlaneBufferGeometry( 3, 3 ), new THREE.MeshBasicMaterial( { map: map0 } ) );
scene.add( mesh0 );
});

var texloader = new THREE.TextureLoader(manager);
var map0 = texloader.load("textures/1.png");
}

function delme(){
scene.remove(mesh0);

mesh0.geometry.dispose();
mesh0.material.map.dispose();
mesh0.material.dispose();
mesh0 = null;
}

1.png (900x598), memory not released;

2.png (1024x256), memory released

Three.js version

Dev

r87

r86

Browser

All of them

Chrome

Firefox

Internet Explorer

OS

All of them

Windows

macOS

Linux

Android

iOS

Hardware Requirements (graphics card, VR Device, ...)
Issue 1:
Hi,

We have been adding compile time safety to the magic string problem through the excellent string literal type introduced in 1.8.

One case that we are finding slipping through the safety net is the following:

type Foo = 'a' | 'b';

const foo: Foo = 'a';

if (foo === 'bar') {
}

Here the Foo type is being compared to an incompatible value 'bar'.

It would be nice to get an error here similar to an enum comparison error:

enum Foo { a, b }
enum Bar { a, b }
let foo: Foo;

if (foo === Bar.a) { // Operator '===' cannot be applied to types 'Foo' and 'Bar'
}

This is especially useful for obtaining a compile time error when the original strings ('a' | 'b') are refactored during the course of development.

I'm aware that there are workarounds involving pseudo string enums, but this is a suggestion for this primitive case.

Thanks.

Issue 2:
type foo = 'hey' | 'nay';

switch (<foo>undefined) {
case 'boom': console.log('never the case'); break; // expected unreachable code, actual no problem
}
Issue 1:
One example is the unreachable! macro, though I think I've seen it elsewhere. The documention of the macro in libcore is fine, but the docs of the same macro in libstd have the source formatting all weird, and the actual [src] link is broken.

Issue 2:
For some macros the documentation has presentation problems,

for others macros the documentation it is OK.

Problems:

Variable names are not highlighted in blue

There is an additional space between $ and the variable name (and in other places)

Unexpected line breaks even when horizontal space is left (Might be a separate unrelated problem)

OK

Problematic

Problematic macros:

https://doc.rust-lang.org/std/macro.assert!.html

https://doc.rust-lang.org/std/macro.assert_eq!.html

https://doc.rust-lang.org/std/macro.try!.html

https://doc.rust-lang.org/std/macro.unreachable!.html

https://doc.rust-lang.org/std/macro.vec!.html (no problem of linebreaks here)

https://doc.rust-lang.org/std/macro.write!.html

...

Ok macros:

https://doc.rust-lang.org/std/macro.cfg!.html

https://doc.rust-lang.org/std/macro.concat!.html

https://doc.rust-lang.org/std/macro.env!.html

https://doc.rust-lang.org/std/macro.format_args!.html

https://doc.rust-lang.org/std/macro.panic!.html

...

It seems macros with "Stable since 1.0.0" are displayed properly?

Firefox 48.0, Ubuntu 16.04

Android, Chrome 53.0
Issue 1:
Issue Type:

Bug Report

Ansible Version:

1.8 (devel) - works in 1.7

Environment:

running on: Linux Ubuntu

managing: Linux Ubuntu

Summary:

vars/main.yml gets loaded from all roles at the beginning of playbook (expected). In case one variable is in multiple roles, it gets overwritten and receives the content from the last role in playbook, not the current role (unexpected, regression).

In Ansible versions prior 1.8 (devel) any such variable got the current role's vars/main.yml content. The current behavior breaks our infrastructure and effectively eliminates our variable and task reuse.

Steps To Reproduce:

playbook-role-example.yml:

- hosts: server
roles:
- role-1
- role-2

roles/role-1/vars/main.yml:

current_role: role-1

roles/role-1/tasks/main.yml:

- name: print current_role variable
debug: msg="Variable current_role is {{ current_role }}"

roles/role-2/vars/main.yml:

current_role: role-2

roles/role-2/tasks/main.yml:

- name: print current_role variable
debug: msg="Variable current_role is {{ current_role }}"

Expected Results:

Output until (and including) 1.7.2:

TASK: [role-1 | print current_role variable] **********************************
ok: [192.168.56.101] => {
"msg": "Variable current_role is role-1"
}

TASK: [role-2 | print current_role variable] **********************************
ok: [192.168.56.101] => {
"msg": "Variable current_role is role-2"
}

Actual Results:

Output in 1.8 (devel):

TASK: [role-1 | print current_role variable] **********************************
ok: [192.168.56.101] => {
"msg": "Variable current_role is role-2"
}

TASK: [role-2 | print current_role variable] **********************************
ok: [192.168.56.101] => {
"msg": "Variable current_role is role-2"
}

Issue 2:
This has come and gone over the previous releases, and is currently present on the devel branch.

To reproduce:

roles/test1/vars/main.yml:

myvar: test1

roles/test2/vars/main.yml:

myvar: test2

both roles' task file is:

- debug: var=myvar

and the playbook:

- hosts: localhost
roles:
- test1
- test2

The results should be:

TASK: [test1 | debug var=myvar] ***********************************************
ok: [localhost] => {
"myvar": "test1"
}

TASK: [test2 | debug var=myvar] ***********************************************
ok: [localhost] => {
"myvar": "test2"
}

But are actually:

TASK: [test1 | debug var=myvar] ***********************************************
ok: [localhost] => {
"myvar": "test2"
}

TASK: [test2 | debug var=myvar] ***********************************************
ok: [localhost] => {
"myvar": "test2"
}

git bisect points to 8a1fbed
Issue 1:
IS:

As the title says the output of deno bundle when including something from pika.dev seems to ignore pika atleast partially.

I created a little test repo with a "bundle.sh" script: https://github.com/katywings/deno-pika-bundle-test

What I try to bundle looks something like this:

import { css } from 'https://cdn.pika.dev/otion@^0.3.1/runtime-deno'

css({ backgroundColor: 'black' })

The result bundle actually includes the code from "https://cdn.pika.dev/otion@^0.3.1/runtime-deno", but then the nested exports from the lines of runtime-deno are missing. So it looks like deno bundle is ignoring stuff like this:

export * from '/-/otion@v0.3.1-5j8xeqtzaBPg93oc5Bwe/dist=es2017,mode=exports/server-deno';

SHOULD:

deno bundle should include all imported dependencies from pika.

DETAILS:

Execution of deno bundle does not give any errors

My random guess would be that this could be related to #4542 because /-/otion@v0.3.1-5j8xeqtzaBPg93oc5Bwe/dist=es2017,mode=exports/server-deno also seems to be using the export X as Y syntax, but I am not sure

Issue 2:
Steps to reproduce

Run deno bundle https://deno.land/x/once/index.js

Expected behavior

It prints a bundled JavaScript code

Actual behavior

error TS5012: Cannot read file 'https://deno.land/x/once/index.js': Error: assert.

►
error TS6053: File 'https://deno.land/x/once/index.js' not found.

►

Found 2 errors.

I didn't try to bundle remote URL at first, instead, I tried bundling a local file (deps.ts) that import remote JS file. No compile errors occur, but a runtime error (cannot read property of undefined) was thrown when attempting to run it in the browser and in Node.js.
Issue 1:
I have a very strange behavior with the np.dot() function. When computing:

np.dot(vector, vector)

I get a negative value, -3.68935e+19, with the array below:

[-0.95558429 -0.79491568 -0.34074336 -0.31960416 -0.50112027 -0.14804825

0.83092237 -1.04872239 -0.06821966 0.95099533 0.23211323 -0.08363034

-0.84720689 0.53866994 0.33275896 0.18167147 0.42636991 -0.90105802

1.03073204 0.35682318 0.753968 -1.25347698 -0.15214275 0.01669976

0.61865449 0.5806967 1.33312941 0.20144169 0.11802452 -0.29711285

-0.29448548 1.11324942 0.1951234 -0.20648302 -0.28658506 1.09960926

-0.36813557 -0.78195006 0.57407916 0.15383098 0.30026323 1.03336143

0.67244434 0.00452838 0.80118829 -0.23254229 0.66596371 0.15719646

0.40883717 0.40989453 -1.20930338 0.94520253 0.79906452 -0.22432771

0.97588438 -1.72914338 0.05262739 -0.54656118 0.30642688 1.95097971

0.31468016 -0.37122983 -0.77826643 0.06892334 -1.80932391 -0.50851583

-0.37202829 -1.51686203 0.74873447 0.01304383 -0.19901061 -1.07052517

0.75449711 -0.21430047 0.67405069 0.30016151 -0.54680014 1.19146216

0.36444184 0.03734953 -0.32377601 0.56825429 0.81616706 -0.8266384

1.17172229 -0.30052993 1.3422761 -0.33125407 1.96316791 -0.7671603

-0.51845783 -1.07401311 0.47158152 -0.20735571 0.62432927 0.3078284

0.11610977 -1.04085588 -0.97068292 1.1042937 ]

I am using the latest version of Anaconda3 (5.0.1) on macOS 10.13.1

The dtype of the array is float32. The problem disappears when converting it to float or np.float64.

Issue 2:
I've found a very strange bug. Under certain circumstances, a small number of the entries in the dot product of two 2D arrays will be wrong:

import numpy as np
nrow, ncol = 2, 69900
rows = np.random.normal(size=(nrow, 1)).astype(np.float32)
columns = np.random.normal(size=(1, ncol)).astype(np.float32)
np_outer = rows.dot(columns)
ind0, ind1 = 0, 69818
print(np_outer[ind0, ind1], rows[ind0, 0]*columns[0, ind1])

Most entries are fine. In this example, only columns 69818-69899 in the product are wrong.

This issue remains the same using np.matmul(rows,columns) and for different values of nrow. However it doesn't appear for an arbitrary values of ncol. There's a band of values around 69900 where errors appear, but there are none at 60000 or 70000. It's also not always the case that the last columns are the ones affected. For some values of ncol, there will be multiple bands of columns affected.

I have not seen this behavior with float64 arrays. It also disappears if you do the dot product in transposed order:

np_outer_t = columns.T.dot(rows.T).T
print(np_outer_t[ind0, ind1], rows[ind0, 0]*columns[0, ind1])

System info: numpy 1.12.1, python 3.6.1, Macbook Pro, OS 10.6.1
Issue 1:

Issue 2:
Is there a simple integrated way to handle the load animation based on a condition not at the call time but at the loading time ?

Typical basic usage : .animate(getUserVisibleHint() ? R.anim.abc_fade_in : R.anim.none) with a viewpager that preload fragments.

This works well when loading from cache as it's fast so 99% of the time the image is loaded in invisible fragment before displaying. But when loading from Internet it can be slow and so the image can be loaded while the fragment is visible.

And of course in that case the animation does not play since the call was made when the fragment was not visible.

This would also maybe allow a proper handling of animate / don't animate in more global way avoiding the empty anim to cover this, since you can't pass 0 or -1 to animate to disable or a boolean somewhere. Making the usage of the builder pattern less useful.
Issue 1:
Problem description

By default all IE browsers > 10 show a clear icon for text input when any value is entered. Normally the icon has the same height as the input element.

With Material-UI the input element is far higher than the actual text, so the demo page http://www.material-ui.com/#/components/text-field

results in the following ugly appearance in IE:

According to Microsoft document https://support.microsoft.com/en-us/kb/2813492, the clear icon can be disabled by adding a style for the IE-specific pseudo element like:

input::-ms-clear { display: none; }

I think there should by default be a conditional rendering of this css for the TextField for a consistent looking across browsers.

Versions

Material-UI: 0.16.2

React: 15.4.0

Browser: IE 11

Issue 2:
I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

I want to get the dom nodes of the Table to complete some events.But there is no way to get the dom in the document.What can I do？

Tech
Version

Material-UI
0.19.0

React
15.5.4

browser
61.0.3163.100

etc
Issue 1:
Since the default recommended filters for scipy are now SOS, it should make sense to use them for decimate (and other internal uses)

This is the current state of scipy.signal.decimate

if zero_phase:
y = filtfilt(b, a, x, axis=axis)
else:
y = lfilter(b, a, x, axis=axis)

Sorry if this isn't the right class of Issue, new to doing this.

Issue 2:
Importing scipy.sparse or scipy.special (from 1.0.0rc1 openblas linked wheels) on windows can fail with an ImportError if the target machine does not have msvcp140.dll (part of MS Visual C++ 2015 redistributable package) installed.

Reproducing code example:

pip install scipy==1.0.0rc1
python -c"import scipy.sparse"
python -c"import scipy.special"

Error message:

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\biolab\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\sparse\__init__.py", line 229, in <module>
from .csr import *
File "C:\Users\biolab\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\sparse\csr.py", line 15, in <module>
from ._sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
ImportError: DLL load failed: The specified module could not be found.

Scipy/Numpy/Python version information:

1.0.0rc1 1.13.3 sys.version_info(major=3, minor=6, micro=2, releaselevel='final' , serial=0)

Inspecting the sparsetools*.pyd with dependency walker reveals the missing dependency and installing the appropriate redistributable solves the problem.

Also putting the msvc*.dll into 'scipy/extra-dll/' directory also seems to work.
Issue 1:
Might it make sense to define eachindex on strings to be the set of valid indices into the string? That would allow some code to be generic with regards to being passed abstract arrays or strings.

Issue 2:
Using the Color package made Julia exit without any message whatsoever.

I pinned the error down to Color.jl line 616

const CAT97s = [ 0.8562 0.3372 -0.1934
-0.8360 1.8327 0.0033
0.0357 -0.0469 1.0112 ]
const CAT97s_INV = inv(CAT97s)

Same behaviour in the Julia readline.

After playing around with it a little, it seems it doesn't like a 3x3 matrix:

inv(rand(3,3)) makes Julia also fail without any feedback.

The error seems to be somewhere in inv{T}(F::Factorization{T}) at linalg/factorization.jl:795

versioninfo(true) :

Julia Version 0.3.0-prerelease+2591

Commit 550866d (2014-04-10 22:42 UTC)

Platform Info:

System: Windows (x86_64-w64-mingw32)

CPU: Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz

WORD_SIZE: 64

Microsoft Windows [Version 6.3.9600]

uname: MINGW32_NT-6.2 1.0.12(0.46/3/2) 2011-07-20 17:52 i686 unknown

Memory: 7.914325714111328 GB (3898.83984375 MB free)

Uptime: 41389.478131 sec

Load Avg: 0.0 0.0 0.0

Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz:

speed user nice sys idle irq ticks

#1 2295 MHz 1488812 0 757703 38903406 26234 ticks

#2 2295 MHz 1430765 0 815171 38903406 157046 ticks

#3 2295 MHz 1644765 0 702296 38802281 5062 ticks

#4 2295 MHz 1345656 0 588609 39215078 2656 ticks

BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY)

LAPACK: libopenblas

LIBM: libopenlibm

Environment:

APR_ICONV_PATH = C:\Program Files (x86)\Subversion\iconv

HOMEDRIVE = C:

HOMEPATH = \Users\Sim

JULIA_EDITOR = start

PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

VBOX_INSTALL_PATH = C:\Program Files\Oracle\VirtualBox\

Package Directory: C:\Users\Sim.julia\v0.3

6 required packages:

Color 0.2.9

DictUtils 0.0.0

GLUT 0.3.0

ImmutableArrays 0.0.4

Match 0.0.3

SDL 0.1.0

12 additional packages:

BinDeps 0.2.12

Cartesian 0.1.5

Events 0.0.0- master (unregistered, dirty)

GLUtil 0.0.0- master (unregistered, dirty)

GetC 1.1.1

Images 0.2.34

ModernGL 0.0.0- master (unregistered)

OpenGL 1.1.3

SIUnits 0.0.1

TexExtensions 0.0.1

URIParser 0.0.1

Zlib 0.1.6
Issue 1:
I just reviewed a PR with the line case err.Error() == "http: can't write HTTP request on broken connection". That's brittle code, and it's hard to test in a way that ensures it stays in sync with any changes to the error message wording in net/http--but there's no way to improve upon it given the errors the http package emits.

Possible improments:

net/http could predeclare its errors

or make a custom error type

Any mechanism is fine as long as it lets the compiler check that people are referring to the error they intend to.

(I realize this is probably low priority.)

Issue 2:
(From aaronlevy on IRC)

It's hard for a client to know when a HTTP request failed due to timeout, and when for other reasons.

Given a slow server

package main

import (
"fmt"
"net/http"
"time"
)

func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
time.Sleep(3*time.Second)
fmt.Fprintf(w, "req rcvd")
})
http.ListenAndServe(":8080", nil)
}

and a client

package main

import (
"fmt"
"io/ioutil"
"net"
"net/http"
"net/url"
"time"
)

func main() {
client := &http.Client{
Timeout: time.Duration(time.Second),
}

req, err := client.Get("http://localhost:8080")
if err != nil {
fmt.Printf("type: %T\n", err)
fmt.Printf("error: %v\n", err)
if err2, ok := err.(*url.Error); ok {
fmt.Printf("inner type: %T\n", err2.Err)
fmt.Printf("inner error: %v\n", err2.Err)
if err3, ok := err2.Err.(net.Error); ok {
fmt.Printf("is timeout: %v\n", err3.Timeout())
}
if err4, ok := err2.Err.(*net.OpError); ok {
fmt.Printf("OpError inner type: %T\n", err4.Err)
fmt.Printf("OpError inner error: %v\n", err4.Err)
}
}
return
}

resp, err := ioutil.ReadAll(req.Body)
req.Body.Close()
if err != nil {
fmt.Println(err)
}
fmt.Printf("%s", resp)
}

Results in

$ go run server.go &
$ go run client.go
type: *url.Error
error: Get http://localhost:8080: read tcp 127.0.0.1:8080: use of closed network connection
inner type: *net.OpError
inner error: read tcp 127.0.0.1:8080: use of closed network connection
is timeout: false
OpError inner type: *errors.errorString
OpError inner error: use of closed network connection

That's quite the gift wrapping on that error. But the real bug is "is timeout: false". The error was caused by a timeout, it should claim to be one.